]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgfortran/ChangeLog
PR libfortran/23262
[thirdparty/gcc.git] / libgfortran / ChangeLog
CommitLineData
cf55c3cf 12005-09-07 Francois-Xavier Coudert <coudert@clipper.ens.fr>
2
3 PR libfortran/23262
4 * acinclude.m4 (LIBGFOR_CHECK_CRLF): New check.
5 * configure.ac: Use new check.
6 * configure.in: Regenerate.
7 * config.h.in: Regenerate.
8 * configure: Regenerate.
9 * io/transfer.c (next_record_w): Add case for CRLF as line
10 terminator.
11 * io/unix.c (tempfile, regular_file): Open files with
12 O_BINARY on systems with CRLF.
13
135d8caa 142005-09-07 Steve Ellcey <sje@cup.hp.com>
15
16 PR libfortran/23419
17 * io/write.c (extract_int): Use memcpy to access buffer.
18 (extract_uint): Ditto.
19 (extract_real): Ditto.
20
9690f1cb 212005-09-05 Thomas Koenig <Thomas.Koenig@online.de>
22
23 * io/list_read.c: Adjust size of of value to 32 (to hold
24 kind=16 complex values).
25
433b226c 262005-09-04 Thomas Koenig <Thomas.Koenig@online.de>
27
28 PR libfortran/23321
29 * io/transfer.c(data_transfer_init): Check for a too-large
30 record number. Return if sseek failed.
31
bd87b283 322005-09-03 Jakub Jelinek <jakub@redhat.com>
33
34 * io/read.c (read_x): Take int argument instead of fnode * and
35 digging the N from F->u.n.
36 * io/io.h (read_x): Adjust prototype.
37 * io/transfer.c (formatted_transfer): Adjust callers. Don't clobber
38 f->u.n for FMT_T.
39
f2c0a16d 402005-09-02 Francois-Xavier Coudert <coudert@clipper.ens.fr>
41
42 * io/unix.c (stream_ttyname): Protect use of ttyname by
43 HAVE_TTYNAME macro.
44 * configure.ac: Add check for ttyname.
45 * config.h.in: Regenerate.
46 * configure: Regenerate.
47
da6b28c3 482005-09-02 Andreas Jaeger <aj@suse.de>
49
50 * libgfortran.h: Add prototype for init_compile_options.
51
52 * io/io.h: Add prototype for notify_std.
53
452b4a21 542005-08-31 Steve Ellcey <sje@cup.hp.com>
55
56 * io/read.c (set_integer): Use memcpy to fill buffer.
57
5bff83ad 582005-08-31 Steve Ellcey <sje@cup.hp.com>
59
60 PR target/23556
61 * io/read.c (convert_real): Use memcpy to fill buffer.
62
59a000b8 632005-08-29 Thomas Koenig <Thomas.Koenig@online.de>
64
65 PR libfortran/23598
66 * io/lock.c(library_start): If ioparm.iostat is present, clear
67 it unconditionally.
68
1dc95e51 692005-08-27 Francois-Xavier Coudert <coudert@clipper.ens.fr>
70
71 * acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Add check to see
72 if target can unlink open files.
73 * configure.ac: Use this new test.
74 * config.h.in: Regenerate.
75 * configure: Regenerate.
76 * Makefile.in: Regenerate.
77 * aclocal.ac: Regenerate.
78 * io/io.h: Add prototype for unpack_filename.
79 * io/close.c (st_close): Delete file after closing unit if
da6b28c3 80 HAVE_UNLINK_OPEN_FILE is not defined.
1dc95e51 81 * io/unix.c (unpack_filename): Unlink scratch file after opening
82 it only if HAVE_UNLINK_OPEN_FILE is defined.
83
5ac2525b 842005-08-17 Kelley Cook <kcook@gcc.gnu.org>
85
86 * All files: Update FSF address.
87
8185f617 882005-08-16 Thomas Koenig <Thomas.Koenig@online.de>
89
90 PR libfortran/23428
91 * io/transfer.c (iolength_transfer): Remove __attribute__ ((unused))
92 from type. Return correct length for inquire(iolength=)
93 for complex variables.
94
600a1e24 952005-08-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
64fc3c4c 96 Steven Bosscher <stevenb@suse.de>
97
98 PR libfortran/20006
99 * Makefile.am: Add file runtime/compile_options.c.
100 * Makefile.in: Regenerate.
101 * libgfortran.h: Create structure compile_options_t. Define the
102 compile_options variable and GFC_STD_ macros.
103 * runtime/compile_options.c: New file.
104 * runtime/error.c (notify_std): New function.
105 * runtime/main.c (init): Call init_compile_options during
106 initialization.
107 * io/format.c: Use the new notify_std function for the $
108 descriptor extension.
109
60d77e0d 1102005-08-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
111 * Makefile.am: Add file intrinsics/tty.c to Makefile process.
112 * Makefile.in: Regenerate.
113 * io/io.h: Prototypes for new functions stream_isatty and
114 stream_ttyname.
115 * io/unix (stream_isatty, stream_ttyname): New functions to call
116 isatty() and ttyname() on a given unit.
117 * intrinsics/tty.c: New file to implement g77 intrinsics TTYNAM
118 and ISATTY.
119
cf4573b0 1202005-08-08 Jerry DeLisle <jvdelisle@verizon.net>
121
60d77e0d 122 PR libfortran/23154
123 * io/transfer.c (data_transfer_init): Initialize
124 current_unit->bytes_left for a read.
125
6c306f90 1262005-08-07 Janne Blomqvist <jblomqvi@cc.hut.fi>
127
128 PR fortran/22390
129 * io/backspace.c: File removed, contents moved to ...
130 * io/endfile.c: Ditto.
131 * io/rewind.c: Ditto.
132 * io/file_pos.c: New file, ... here.
133 * Makefile.am: Add file_pos.c to list, remove obsolete files.
134 * Makefile.in: Regenerated.
135
ac09d5cc 1362005-08-07 Francois-Xavier Coudert <coudert@clipper.ens.fr>
137
138 * io/io.h: Change DEFAULT_TEMPDIR to /tmp instead of /var/tmp.
139 * io/unix.c (tempfile): Look at the TEMP environment variable
140 to find the temporary files directory. Whitespace correction.
141
1422005-08-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
a557b25e 143
144 * io/unix.c: Add O_RDWR to open() call.
145
18542357 1462005-08-04 Paul Thomas <pault@gcc.gnu.org>
147
148 * transfer.c (data_transfer_init): Truncate file in
149 sequential WRITE when last_record == 0, rather than
150 current_record. Cures problem on RH9.
151
c14474b7 1522005-08-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
153
154 * libgfortran.h: When isfinite is not provided by the system,
155 define it as a macro, so that it can accept any floating point
156 type.
157
8a50466a 1582005-08-01 Francois-Xavier Coudert <coudert@clipper.ens.fr>
159
160 PR libfortran/23178
161 * intrinsics/flush.c (flush_i8): Add function flush_i8. Update
162 copyright years.
163
8dfe0a9b 1642005-07-31 Francois-Xavier Coudert <coudert@clipper.ens.fr>
165
166 PR libfortran/21787
167 * intrinsics/abort.c (abort): Close units before aborting.
168 Updated copyright years.
169
5e7c763c 1702005-07-30 Francois-Xavier Coudert <coudert@clipper.ens.fr>
171
172 PR libfortran/22436
173 * io/write.c (write_real): Add default formats for real(10) and
174 real(16).
175
0e5410f5 1762005-07-30 Paul Thomas <pault@gcc.gnu.org>
177
178 PR fortran/22570 and related issues.
179 * transfer.c (formatted_transfer): Make sure that there
180 really is data present before X- or T- editing. Move all
181 treatment of tabbing during writes to start of next data
182 producing format. Suppress incorrect zeroing of bytes_left
183 in slash formating. Insert int cast for assignment of a
184 difference of two gfc_offsets.
185
0d3a9bae 1862005-07-23 Jerry DeLisle <jvdelisle@verizon.net>
187
9f52a98e 188 * io/write.c (write_float): Revise output of IEEE exceptional
189 values to comply with F95 and F2003 standards.
190
2929044d 1912005-07-22 Jerry DeLisle <jvdelisle@verizon.net>
192
193 PR libfortran/22570
194 * io/unit.c (init_units): Replace BLANK_ZERO with
195 BLANK_UNSPECIFIED.
196
de92a601 1972005-07-22 Jerry DeLisle <jvdelisle@verizon.net>
198
199 PR libfortran/21875 (FM111.f)
200 * io/read.c (next_char): Return a ' ' character when BLANK_ZERO
201 or BLANK_NULL are active.
202 (read_decimal): Interpret ' ' character correctly for BZ or BN.
203 (read_radix): Interpret ' ' character correctly for BZ or BN.
204 (read_f): Interpret ' ' character correctly for BZ or BN.
205
2062005-07-22 Paul Thomas <pault@gcc.gnu.org>
207
208 PR libfortran/22570
209 * read.c (read_x): Correct the condition for doing the
210 x-editing during formatted input.
211 * transfer.c (formatted_transfer): Cast offset difference
212 as int, clean-up arithmetic with new variable, bytes_used,
600a1e24 213 zero counters for FMT_SLASH,
de92a601 214 (data_transfer_init) Zero X- and T-editing counters
215 unconditionally.
216 (next_record_w) Zero X- and T-editing counters.
217 unconditionally.
218
24249ab8 2192005-07-17 Jerry DeLisle <jvdelisle@verizon.net>
ca8c15f5 220
9f52a98e 221 * io/write.c (write_float): Fix field width checks for
222 printing 'Infinity' or 'Inf'.
223 (output_float): Fix typo in comment.
ca8c15f5 224
17716b74 2252005-07-12 Paul Thomas <pault@gcc.gnu.org>
226
227 PR libfortran/16435
228 * transfer.c (formatted_transfer): Correct the problems
229 with X- and T-editting that caused TLs followed by TRs
230 to overwrite data, which caused NIST FM908.FOR to fail
231 on many tests.
232 (data_transfer_init): Zero X- and T-editting counters at
233 the start of formatted IO.
234 * write.c (write_x): Write specified number of skips with
235 specified number of spaces at the end.
236
75e6d81b 2372005-07-13 Paul Thomas <pault@gcc.gnu.org>
238
239 * io/read.c (read_complex): Prevent X formatting during reads
240 from going beyond EOR to fix NIST fm908.FOR failure.
241 * io/list_read.c (read_complex): Allow complex data in list-
242 directed reads to have eols either side of the comma to
243 fix NIST FM906.FOR failure.
244
227e9423 2452005-07-12 Thomas Koenig <Thomas.Koenig@online.de>
246
aa7416be 247 PR libfortran/21593
9f52a98e 248 * io/unix.c: Add member special_file to type unix_stream.
227e9423 249 (fd_truncate): Don't call ftruncate or chsize if
250 s refers to a special file.
251 (fd_to_stream): initialize s->special_file.
252
344d23de 2532005-07-11 David Edelsohn <edelsohn@gnu.org>
254
9f52a98e 255 PR libgfortran/22412
256 * io/write.c (otoa): Bias p by SCRATCH_SIZE, not
257 sizeof (SCRATCH_SIZE).
258 (btoa): Same.
dd2fdcd5 259
2602005-07-09 Jerry DeLisle <jvdelisle@verizon.net>
261
262 PR libfortran/21875 (FM111.f)
600a1e24 263 * io/read.c (next_char): Return a ' ' character when BLANK_ZERO or
dd2fdcd5 264 BLANK_NULL are active.
265 (read_decimal): Interpret ' ' character correctly for BZ or BN.
266 (read_radix): Interpret ' ' character correctly for BZ or BN.
267 (read_f): Interpret ' ' character correctly for BZ or BN.
268 * gfortran.dg/test (fmt_read_bz_bn.f90): New test case.
269
89016db9 2702005-07-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
271 Thomas Koenig <Thomas.Koenig@online.de>
272
273 PR libfortran/22217
274 * io/write.c (extract_unit): New function; extract
275 ints as unsigned signed int of the correct size.
9f52a98e 276 (write_int): Use it.
89016db9 277 * runtime/error.c: Adjust copyright years.
278 Adjust size of buffer to maximum that can occur.
279
93830de1 2802005-07-07 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
281
282 * libgfortran.h (GFC_ARRAY_DESCRIPTOR): Replace 'type *base' by
283 'size_t offset'.
284 * intrinsics/cshift0.c, intrinsics/eoshift0.c,
285 intrinsics/eoshift2.c,intrinsics/pack_generic.c,
286 intrinsics/reshape_generic.c, intrinsics/spread_generic.c,
287 intrinsics/transpose_generic.c, intrinsics/unpack_generic,
288 m4/cshift1.m4, m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4,
289 m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/reshape.m4,
290 m4,transpose.m4: Set renamed field 'offset' to zero instead of
291 'base'.
292 * generated/all_l4.c, generated/all_l8.c,
293 generated/any_l4.c, generated/any_l8.c, generated/count_4_l4.c,
294 generated/count_4_l8.c, generated/count_8_l4.c,
295 generated/count_8_l8.c, generated/chift1_4.c,
296 generated/cshift1_8.c, generated/eoshift1_4.c,
297 generated/eoshift1_8.c, generated/eoshift3_4.c,
298 generated/eoshift3_8.c, generated/matmul_c4.c,
299 generated/matmul_c8.c, generated/matmul_i4.c, matmul_i8.c,
300 generated/matmul_l4.c, generated/matmul_l8.c,
301 generated/matmul_r4.c, generated/matmul_r8.c,
302 generated/maxloc0_4_i4.c, generated/maxloc0_4_i8.c,
303 generated/maxloc0_4_r4.c, generated/maxloc0_4_r8.c,
304 generated/maxloc0_8_i4.c, generated/maxloc0_8_i8.c,
305 generated/maxloc0_8_r4.c, generated/maxloc0_8_r8.c,
306 generated/maxloc1_4_i4.c, generated/maxloc1_4_i8.c,
307 generated/maxloc1_4_r4.c, generated/maxloc1_4_r8.c,
308 generated/maxloc1_8_i4.c, generated/maxloc1_8_i8.c,
309 generated/maxloc1_8_r4.c, generated/maxloc1_8_r8.c,
310 generated/maxval_i4.c, generated/maxval_i8.c,
311 generated/maxval_r4.c, generated/maxval_r8.c,
312 generated/minloc0_4_i4.c, generated/minloc0_4_i8.c,
313 generated/minloc0_4_r4.c, generated/minloc0_4_r8.c,
314 generated/minloc0_8_i4.c, generated/minloc0_8_i8.c,
315 generated/minloc0_8_r4.c, generated/minloc0_8_r8.c,
316 generated/minloc1_4_i4.c, generated/minloc1_4_i8.c,
317 generated/minloc1_4_r4.c, generated/minloc1_4_r8.c,
318 generated/minloc1_8_i4.c, generated/minloc1_8_i8.c,
319 generated/minloc1_8_r4.c, generated/minloc1_8_r8.c,
320 generated/minval_i4.c, generated/minval_i8.c,
321 generated/minval_r4.c, generated/minval_r8.c,
322 generated/product_c4.c, generated/product_c8.c,
323 generated/product_i4.c, generated/product_i8.c,
324 generated/product_r4.c, generated/product_r8.c,
325 generated/reshape_c4.c, generated/reshape_c8.c,
326 generated/reshape_i4.c, generated/reshape_i8.c,
327 generated/sum_c4.c, generated/sum_c8.c, generated/sum_i4.c,
328 generated/sum_i8.c, generated/sum_r4.c, generated/sum_r8.c,
329 generated/transpose_c4.c, generated/transpose_c8.c,
330 generated/transpose_i4.c, generated/transpose_i8.c: Regenerate:
331
4eef4aad 3322005-07-07 Thomas Koenig <Thomas.Koenig@online.de>
333
334 PR libfortran/21594
335 * intrinsics/eoshift0.c: If abs(shift) > len, fill the
336 the whole array with the boundary value, but don't overrun it.
337 * intrinsics/eoshift2.c: Likewise.
338 * m4/eoshift1.m4: Likewise.
339 * m4/eoshift3.m4: Likewise.
340 * generated/eoshift1_4.c: Regenerated.
341 * generated/eoshift1_8.c: Regenerated.
342 * generated/eoshift3_4.c: Regenerated.
343 * generated/eoshift3_8.c: Regenerated.
344
169f9d09 3452005-07-07 Feng Wang <fengwang@nudt.edu.cn>
346
347 PR fortran/16531
348 * io/transfer.c (formatted_transfer): Enable FMT_A on other types to
349 support Hollerith constants.
350
ee809363 3512005-07-01 Andreas Jaeger <aj@suse.de>
352
353 * intrinsics/unpack_generic.c: Remove const from parameter.
354
355 * io/transfer.c (formatted_transfer): Remove unused variable.
356
201cd103 3572005-06-28 Thomas Koenig <Thomas.Koenig@online.de>
358
359 PR libfortran/22142
360 * m4/eoshift1.m4: Correct bstride (it needs to be multiplied
361 by size since it's a char pointer).
362 * m4/eoshift1_4.c: Regenerated.
363 * m4/eoshift1_8.c: Regenerated.
364
6e9be7d9 3652005-06-28 Thomas Koenig <Thomas.Koenig@online.de>
366
367 PR libfortran/22142
368 * m4/eoshift3.m4: Correct bstride (it needs to be multiplied
369 by size since it's a char pointer).
370 * m4/eoshift3_4.c: Regenerated.
371 * m4/eoshift3_8.c: Regenerated.
372
ab175d11 3732005-06-28 Francois-Xavier Coudert <coudert@clipper.ens.fr>
374
375 PR libfortran/22170
376 * io/transfer.c (formatted_transfer): Do not iterate on the
377 repeat count of a FMT_SLASH, since this is already done in
378 next_format().
379
71a8a4b3 3802005-06-25 Thomas Koenig <Thomas.Koenig@online.de>
381
9f52a98e 382 PR libfortran/22144
383 * m4/cshift1.m4: Remove const from argument ret.
384 Populate return array descriptor if ret->data is NULL.
385 * m4/eoshift1.m4: Likewise.
386 * m4/eoshift3.m4: Likewise.
387 * generated/cshift1_4.c: Regenerated.
388 * generated/cshift1_8.c: Regenerated.
389 * generated/eoshift1_4.c: Regenerated.
390 * generated/eoshift1_8.c: Regenerated.
391 * generated/eoshift3_4.c: Regenerated.
392 * generated/eoshift3_8.c: Regenerated.
71a8a4b3 393
b52ee437 3942005-06-24 Jerry DeLisle <jvdelisle@verizon.net>
395
396 PR libfortran/21915
394191ed 397 * Makefile.am: Include intrinsics/hyper.c.
398 * c99_protos.h: Add prototypes for single precision versions of
399 acosh, asinh, and atanh for platforms that do not have these.
400 * config.h.in: Add #undef for wrappers.
401 * configure.ac: Add checks for single precision versions.
402 * aclocal.m4: Regenerated.
403 * Makefile.in: Regenerated.
404 * configure: Regenerated.
ee809363 405 * intrinsics/hyper.c: New file, adds new wrapper functions.
b52ee437 406
14c3c235 4072005-06-23 Francois-Xavier Coudert <coudert@clipper.ens.fr>
408
409 * intrinsics/c99_functions.c (log10l): New log10l function for
410 systems where this is not available.
411 * c99_protos.h: Prototype for log10l function.
412 * libgfortran.h: Use generated kinds.h to define GFC_INTEGER_*,
413 GFC_UINTEGER_*, GFC_LOGICAL_*, GFC_REAL_*, GFC_COMPLEX_*. Update
414 prototypes for gfc_itoa and xtoa.
415 * io/io.h: Update prototypes for set_integer and max_value.
416 * io/list_read.c (convert_integer): Use new
417 GFC_(INTEGER|REAL)_LARGEST type.
418 * io/read.c (set_integer): Likewise.
419 (max_value): Likewise.
420 (convert_real): Likewise.
421 (real_l): Likewise.
422 (next_char): Likewise.
423 (read_decimal): Likewise.
424 (read_radix): Likewise.
425 (read_f): Likewise.
426 * io/write.c (extract_int): Use new GFC_INTEGER_LARGEST type.
427 (extract_real): Use new GFC_REAL_LARGEST type.
428 (calculate_exp): Likewise.
429 (calculate_G_format): Likewise.
430 (output_float): Likewise. Use log10l for long double values.
431 Add comment for sprintf format. Use GFC_REAL_LARGEST_FORMAT.
432 (write_l): Use new GFC_INTEGER_LARGEST type.
433 (write_float): Use new GFC_REAL_LARGEST type.
434 (write_int): Remove useless special case for (len < 8).
435 (write_decimal): Use GFC_INTEGER_LARGEST.
436 (otoa): Use GFC_UINTEGER_LARGEST as argument.
437 (btoa): Use GFC_UINTEGER_LARGEST as argument.
438 * runtime/error.c (gfc_itoa): Use GFC_INTEGER_LARGEST as
439 argument.
440 (xtoa): Use GFC_UINTEGER_LARGEST as argument.
441 * Makefile.am: Use mk-kinds-h.sh to generate header kinds.h
442 with all Fortran kinds available.
443 * configure.ac: Check for strtold and log10l.
444 * Makefile.in: Regenerate.
445 * aclocal.m4: Regenerate.
446 * configure: Regenerate.
447 * config.h.in: Regenerate.
448 * mk-kinds-h.sh: Configuration script for available integer
449 and real kinds.
450
451
5df4b62f 4522005-06-18 Janne Blomqvist <jblomqvi@cc.hut.fi>
453
454 * unix.c (stream_at_bof): Don't assume that all non-mmapped files
455 are non-seekable.
456 (stream_at_eof): Likewise.
457
98f983d7 4582005-06-18 Francois-Xavier Coudert <coudert@clipper.ens.fr>
459
460 PR libfortran/19155
461 * io/read.c (convert_real): strtod can set errno to EINVAL on an
462 empty string, but we shouldn't have an error in that case.
463
51c2b986 4642005-06-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
465
466 PR libfortran/19216
467 * io/list_read.c (eat_separator): No need to call next_record,
468 even in non-namelist_mode.
469
cbbc2f0e 4702005-06-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
471
472 * io/transfer.c (formatted_transfer): Fix typo in error message.
473
363dcb81 4742005-06-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
475
476 PR libfortran/16436
477 * io/transfer.c (read_sf): Correct updating of bytes_left field.
478 (formatted_transfer): Correct updating of bytes_left field and
479 reformatting code (comments and whitespace).
480 * io/unix.c (move_pos_offset): "active" field should not be
481 changed here. Whitespace corrections.
482
97844b15 4832005-06-15 Francois-Xavier Coudert <coudert@clipper.ens.fr>
484
485 PR libfortran/21950
486 * intrinsics/c99_functions.c (scalbn): Provide fallback
487 implementation for scalbn.
488 * c99_protos.h: Prototype for scalbn.
489 * configure.ac: Add check for scalbn.
490 * configure: Regenerate.
491 * config.h.in: Regenerate.
492
451bd60a 4932005-06-14 Thomas Koenig <Thomas.Koenig@online.de>
494
495 * intrinsics/eoshift0.c: Removed prototype for eoshift0.
496 * intrinsics/eoshift2.c: Removed prototype for eoshift2.
497
233ccc2e 4982005-06-14 Tom Tromey <tromey@redhat.com>
499
500 PR libgcj/19877:
501 * configure, aclocal.m4, Makefile.in: Rebuilt.
502
c6632b24 5032005-06-12 Thomas Koenig <Thomas.Koenig@online.de>
504
505 PR libfortran/21594
506 * intrinsics/eoshift0.c: Add prototype for eoshift0.
507 * intrinsics/eoshift2.c: Add prototype for eoshift2.
508
bc51db28 5092005-06-12 Steven G. Kargl <kargls@comcast.net>
510 Thomas Koenig <Thomas.Koenig@online.de>
511
512 PR libfortran/PR21797
513 * m4/cexp.m4 (csqrt`'q): Add type qualifyer to
514 sqrt and fabs.
515 * generated/exp_c4.c: Regenerated.
516
0222d4de 5172005-06-12 Francois-Xavier Coudert <coudert@clipper.ens.fr>
518
519 PR libfortran/19155
520 * io/read.c (read_f): Take care of spaces after initial sign.
521
513b6a05 5222005-06-11 Thomas Koenig <Thomas.Koenig@onlinde.de>
523
524 PR libfortran/21333
525 * Makefile.am: Add in_pack_c4.c, in_pack_c8.c, in_unpack_c4.c
526 and in_unpack_c8.c.
527 * Makefile.in: Regenerate.
528 * libgfortran.h: Declare internal_pack_c4, internal_pack_c8,
529 internal_unpack_c4 and internal_unpack_c8.
530 * m4/in_pack.m4: Use rtype_ccode insteald of rtype_kind
531 in function name.
532 Use sizeof (rtype_name) as size for memory allocation.
533 * m4/in_unpack.m4: Use rtype_ccode insteald of rtype_kind
534 in function name.
535 Use sizeof (rtype_name) for calculation of sizes for memcpy.
536 * runtime/in_pack_generic.c: For real, integer and logical
537 call internal_pack_4 if size==4 and internal_pack_8 if
538 size==8.
539 For complex, call internal_pack_c4 if size==8 and
540 internal_pack_c8 if size==16.
541 * runtime/in_unpack_generic.c: For real, integer and logical
97844b15 542 call internal_unpack_4 if size==4 and internal_unpack_8 if
543 size==8.
544 For complex, call internal_unpack_c4 if size==8 and
545 internal_unpack_c8 if size==16.
513b6a05 546 * generated/in_pack_i4.c: Regenerated.
547 * generated/in_pack_i8.c: Regenerated.
548 * generated/in_unpack_i4.c: Regenerated.
549 * generated/in_unpack_i8.c: Regenerated.
550 * generated/in_pack_c4.c: New file.
551 * generated/in_pack_c8.c: New file.
552 * generated/in_unpack_c4.c: New file.
553 * generated/in_unpack_c8.c: New file.
554
d8877715 5552005-06-09 Thomas Koenig <Thomas.Koenig@online.de>
556
557 PR libfortran/21480
558 * m4/reshape.m4: Use sizeof (rtype_name) for sizes to be passed
559 to reshape_packed.
560 * generated/reshape_c4.c: Regenerated.
561 * generated/reshape_c8.c: Regenerated.
562 * generated/reshape_i4.c: Regenerated.
563 * generated/reshape_i8.c: Regenerated.
564
e967d28c 5652005-06-07 Thomas Koenig <Thomas.Koenig@online.de>
566
567 PR libfortran/21926
568 * m4/matmul.m4: Correct zeroing of result for non-packed
569 arrays with lowest stride is one.
570 * generated/matmul_c4.c: Regenerated.
571 * generated/matmul_c8.c: Regenerated.
572 * generated/matmul_i4.c: Regenerated.
573 * generated/matmul_i8.c: Regenerated.
574 * generated/matmul_r4.c: Regenerated.
575 * generated/matmul_r8.c: Regenerated.
576
d172774b 5772005-05-30 Francois-Xavier Coudert <coudert@clipper.ens.fr>
f8f6940b 578
579 PR libfortran/20179
580 * io/unix.c (fd_close): Add test so that we don't close()
581 stdout and stderr.
582
7cc5fadb 5832005-05-29 Francois-Xavier Coudert <coudert@clipper.ens.fr>
584
585 PR libfortran/20006
586 * io/format.c (parse_format_list): Set repeat count of $ format
587 node to 1.
588 * io/transfer.c (read_sf): Add g.seen_dollar to the test
589 concerning advancing I/O.
590 (data_transfer_init): Likewise.
591 (finalize_transfer): Likewise.
ee809363 592
fa6176a2 5932005-05-27 Thomas Koenig <Thomas.Koenig@online.de>
594
595 * runtime/in_pack_generic.c: Adjust copyright years.
596 (in_pack_generic): Change dimension of auxiliary arrays from
597 GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
598 * runtime/in_unpack_generic.c: Adjust copyright years.
599 (in_unpack_generic): Change dimension of auxiliary arrays from
600 GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
601
58b9a320 6022005-05-26 Thomas Koenig <Thomas.Koenig@online.de>
603
604 PR libfortran/17283
605 * intrinsics/unpack_generic.c: Fix name of routine
606 on top. Update copyright years.
607 (unpack1): Remove const from return array descriptor.
608 rs: New variable, for calculating return sizes.
609 Populate return array descriptor if ret->data is NULL.
610
28655f4f 6112005-05-22 Peter Wainwright <prw@ceiriog1.demon.co.uk>
5cbbcbc9 612
613 PR libfortran/21376
614 * io/write.c (output_float): Rework logic to avoid call to log10
615 with argument equal to zero.
616
50f0ca0a 6172005-05-21 Eric Botcazou <ebotcazou@libertysurf.fr>
618
619 * configure.ac: Check for trunc and truncf in libm.
620 * configure: Regenerate.
621 * config.h.in: Likewise.
622 * intrinsics/c99_functions.c (trunc, truncf): New functions.
623 * c99_protos.h (trunc, truncf): Declare them.
624
2ba1fcba 6252005-05-18 Thomas Koenig <Thomas.Koenig@online.de>
626
627 PR libfortran/21127
628 * Makefile.am: Really commit.
629 * Makefile.in: Really commit.
630
1b1197a3 6312005-05-18 Thomas Koenig <Thomas.Koenig@online.de>
632
633 PR libfortran/21127
634 * Makefile.am: Add generated/reshape_c4.c and
635 generated/reshape_c8.c.
636 * Makefile.in: Regenerated.
637 * m4/iparm.m4: Define rtype_ccode to be c4 or c8 for
638 complex types, 4 or 8 otherwise.
639 * m4/reshape.m4: Use rtype_ccode instead of rtype_kind
640 in function name.
641 * generated/reshape_c4.c: New file.
642 * generated/reshape_c8.c: New file.
643
a0007dfa 6442005-05-16 Andreas Jaeger <aj@suse.de>
645
646 * configure.ac: Add additional warning flags.
647 * configure: Regenerate.
648
649 * io/write.c (calculate_G_format): Remove unused parameter.
650 (output_float): Remove unused parameter.
651 (write_float): Change callers.
652 (nml_write_obj): Avoid signed warning.
653 Make variable const to support -Wwrite-strings.
654
655 * io/unix.c (fd_alloc, mmap_open, mmap_sfree, mem_sfree,
656 mem_truncate): Mark argument as unused.
657
658 * io/unit.c (get_unit): Mark argument as unused.
659 (init_units): Avoid warning about signed comparision.
660
661 * io/transfer.c (next_record_r): Remove unused parameter.
662 (next_record_w): Remove unused parameter.
663 (next_record): Change callers.
664 (iolength_transfer): Mark arguments as unused.
665
666 * io/open.c: Add initializer.
667
668 * io/list_read.c (read_character): Mark argument as unused.
669 (nml_match_name): Add const to make compile with -Wwrite-strings.
670
671 * io/format.c: Add initializer.
672
9ecc9c35 6732005-05-15 Andreas Jaeger <aj@suse.de>
674
7b49b59f 675 * m4/eoshift1.m4: Initialize variables to avoid warnings.
676 * m4/eoshift3.m4: Initialize variables to avoid warnings.
677 * generated/eoshift1_4.c, generated/eoshift1_8.c,
678 generated/eoshift3_4.c, generated/eoshift3_8.c: Regenerated.
679
680 * intrinsics/spread_generic.c (spread): Initialize variables to
681 avoid warnings.
682
683 * intrinsics/eoshift0.c (eoshift0): Initialize variables to avoid
684 warnings.
685 * intrinsics/eoshift2.c (eoshift2): Initialize variables to avoid
686 warnings.
687
688 * io/list_read.c (nml_get_obj_data): Initialize variables to avoid
689 warnings.
690
09e5829f 691 * intrinsics/pack_generic.c (pack): Remove unneeded calculation.
692
693 * m4/matmull.m4 (matmul_): Remove unneeded calculations, fix
694 pointer cast to avoid warning.
695 * generated/matmul_l4.c: Regenerated.
696 * generated/matmul_l8.c: Regenerated.
697
698 * Makefile.am: Remove AM_CFLAGS here.
699 * configure.ac: Define AM_CFLAGS and AM_FCFLAGS so that warnings
700 are set. Set additionally -Wstrict-prototypes for CFLAGS.
ecfa4553 701 * Makefile.in: Regenerated.
702 * aclocal.m4: Regenerated.
09e5829f 703 * configure: Regenerated.
704
d5142e57 705 * intrinsics/system_clock.c (system_clock_4, system_clock_8): Add
706 missing returns, reformat a bit.
707
708 * io/write.c (nml_write_obj): Use %d again - and cast to int,
709 st_sprintf does not handle %ld.
710
4caf1418 711 * io/unit.c (is_internal_unit): Add void as parameter list.
712
713 * io/transfer.c: Move prototype declarations before the functions.
714
dddf4412 715 * runtime/normalize.c (almostone_r4, almostone_r8): Fix parameter
716 list.
717
718 * intrinsics/random.c (KISS_DEFAULT_SEED): Remove extra semicolon.
719
720 * io/transfer.c: Do not use empty initializers for global objects.
721 Add missing initializers.
722
723 * io/lock.c: Do not use empty initializers for global objects.
724
725 * io/close.c: Add missing initializers.
726
727 * runtime/environ.c: Add missing initializers. Do not use empty
728 initializers for global object.
729 (init_string): Mark argument as unused.
730
731 * runtime/main.c (cleanup): Fix parameter list.
732
733 * io/io.h: Fix parameter lists.
734
735 * m4/transpose.m4, m4/matmul.m4: Fix pointer cast to avoid
736 warning.
737
738 * generated/transpose_c4.c, generated/transpose_c8.c,
739 generated/transpose_i4.c, generated/transpose_i8.c,
740 generated/matmul_c4.c, generated/matmul_c8.c,
741 generated/matmul_i4.c, generated/matmul_i8.c,
742 generated/matmul_r4.c, generated/matmul_r8.c: Regenerated.
743
744 * io/write.c (nml_write_obj): Fix 64-bit problem.
745
746 * io/list_read.c (nml_get_obj_data): Add missing braces around
747 initializer to avoid warnings.
748
749 * intrinsics/etime.c (etime_sub): Remove unused variable.
750
9ecc9c35 751 * intrinsics/chdir.c, intrinsics/getlog.c, intrinsics/link.c,
752 intrinsics/symlnk.c, intrinsics/perror.c: Include <string.h> for
753 prototypes.
754
755 * runtime/string.c (compare0): Remove unused variable.
756 * io/unit.c (init_units): Remove unused variables.
757 * intrinsics/getcwd.c (getcwd_i4_sub): Remove unused variable.
758 * intrinsics/unlink.c (unlink_i4_sub): Remove unused variable.
759 * intrinsics/stat.c (stat_i4_sub, fstat_i8_sub, fstat_i4_sub,
760 stat_i8_sub): Remove unused variable.
761
8f8ad899 7622005-05-12 Thomas Koenig <Thomas.Koenig@online.de>
763
764 PR libfortran/21324
765 * runtime/memory.c: Don't define GFC_CLEAR_MEMORY (it's a
766 performance hog).
767 * io/open.c (new_unit): Zero freshly allocated memory for
768 unit structure.
769 * io/unit.c (init_units): Zero freshly allocated memory for
770 STDIN, STDOUT and STDERR.
771 * io/unix.c (open_internal): Zero freshly allocated memory
772 for unix_stream.
773 (fd_to_stream): Likewise.
774
72909c79 7752005-05-11 Bud Davis <bdavis@gfortran.org>
776
777 PR fortran/19478
778 * io/unix.c (fd_truncate): update positions when ftruncate
779 fails (like writing to /dev/null).
780
5100ec9c 7812005-05-10 Francois-Xavier Coudert <coudert@clipper.ens.fr>
782
783 PR libfortran/21471
784 * open.c (new_unit): Take care of the case where POSITION_APPEND
785 is specified (sseek to the end, and set u>-endfile).
786
bdaed7d2 7872005-05-10 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
788
789 PR fortran/20178
790 * Makefile.am (gfor_specific_src): Add 'intrinsics/f2c_intrinsics.F90'
791 to dependencies.
792 * Makefile.in: Regenerate.
793 * intrinsics/f2c_specific.F90: New file.
794
9fe831ab 7952005-05-10 Francois-Xavier Coudert <coudert@clipper.ens.fr>
796
797 PR libfortran/20788
798 * io/unix.c (fd_to_stream): Add an avoid_mmap argument indicating
799 we don't we to mmap this stream. Use fd_open instead of mmap_open
800 in that case.
801 (open_external): Call fd_to_stream with avoid_mmap = 0.
802 (input_stream): Call fd_to_stream with avoid_mmap = 1.
803 (output_stream): Likewise.
804 (error_stream): Likewise.
805
5f0a087e 8062005-05-09 Mike Stump <mrs@apple.com>
807
808 * configure: Regenerate.
809
8f45276f 8102005-05-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
811
812 PR libfortran/19155
813 * io/read.c (read_f): Accept 'e', 'E', 'd' and 'D' as first
814 non-blank characters of a real number.
815
9130521e 8162005-05-04 Thomas Koenig <Thomas.Koenig@online.de>
817
818 PR libfortran/21354
819 * m4/cshift1.m4: Change dimension of auxiliary arrays from
820 GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
821 * m4/eoshift1.m4: Likewise.
822 * m4/eoshift3.m4: Likewise.
823 * m4/ifunction.m4: Likewise.
824 * m4/in_pack.m4: Likewise.
825 * m4/in_unpack.m4: Likewise.
826 * intrinsics/cshift0.c: Likewise.
827 * intrinsics/eoshift0.c: Likewise.
828 * intrinsics/eoshift2.c: Likewise.
829 * intrinsics/random.c: Likewise.
830 * intrinsics/spread_generic.c: Likewise.
831 * intrinsics/stat.c: Likewise.
832 * generated/all_l4.c: Regenerated.
833 * generated/all_l8.c: Regenerated.
834 * generated/any_l4.c: Regenerated.
835 * generated/any_l8.c: Regenerated.
836 * generated/count_4_l4.c: Regenerated.
837 * generated/count_4_l8.c: Regenerated.
838 * generated/count_8_l4.c: Regenerated.
839 * generated/count_8_l8.c: Regenerated.
840 * generated/cshift1_4.c: Regenerated.
841 * generated/cshift1_8.c: Regenerated.
842 * generated/eoshift1_4.c: Regenerated.
843 * generated/eoshift1_8.c: Regenerated.
844 * generated/eoshift3_4.c: Regenerated.
845 * generated/eoshift3_8.c: Regenerated.
846 * generated/in_pack_i4.c: Regenerated.
847 * generated/in_pack_i8.c: Regenerated.
848 * generated/in_unpack_i4.c: Regenerated.
849 * generated/in_unpack_i8.c: Regenerated.
850 * generated/maxloc0_4_i4.c: Regenerated.
851 * generated/maxloc0_4_i8.c: Regenerated.
852 * generated/maxloc0_4_r4.c: Regenerated.
853 * generated/maxloc0_4_r8.c: Regenerated.
854 * generated/maxloc0_8_i4.c: Regenerated.
855 * generated/maxloc0_8_i8.c: Regenerated.
856 * generated/maxloc0_8_r4.c: Regenerated.
857 * generated/maxloc0_8_r8.c: Regenerated.
858 * generated/maxloc1_4_i4.c: Regenerated.
859 * generated/maxloc1_4_i8.c: Regenerated.
860 * generated/maxloc1_4_r4.c: Regenerated.
861 * generated/maxloc1_4_r8.c: Regenerated.
862 * generated/maxloc1_8_i4.c: Regenerated.
863 * generated/maxloc1_8_i8.c: Regenerated.
864 * generated/maxloc1_8_r4.c: Regenerated.
865 * generated/maxloc1_8_r8.c: Regenerated.
866 * generated/maxval_i4.c: Regenerated.
867 * generated/maxval_i8.c: Regenerated.
868 * generated/maxval_r4.c: Regenerated.
869 * generated/maxval_r8.c: Regenerated.
870 * generated/minloc0_4_i4.c: Regenerated.
871 * generated/minloc0_4_i8.c: Regenerated.
872 * generated/minloc0_4_r4.c: Regenerated.
873 * generated/minloc0_4_r8.c: Regenerated.
874 * generated/minloc0_8_i4.c: Regenerated.
875 * generated/minloc0_8_i8.c: Regenerated.
876 * generated/minloc0_8_r4.c: Regenerated.
877 * generated/minloc0_8_r8.c: Regenerated.
878 * generated/minloc1_4_i4.c: Regenerated.
879 * generated/minloc1_4_i8.c: Regenerated.
880 * generated/minloc1_4_r4.c: Regenerated.
881 * generated/minloc1_4_r8.c: Regenerated.
882 * generated/minloc1_8_i4.c: Regenerated.
883 * generated/minloc1_8_i8.c: Regenerated.
884 * generated/minloc1_8_r4.c: Regenerated.
885 * generated/minloc1_8_r8.c: Regenerated.
886 * generated/minval_i4.c: Regenerated.
887 * generated/minval_i8.c: Regenerated.
888 * generated/minval_r4.c: Regenerated.
889 * generated/minval_r8.c: Regenerated.
890 * generated/product_c4.c: Regenerated.
891 * generated/product_c8.c: Regenerated.
892 * generated/product_i4.c: Regenerated.
893 * generated/product_i8.c: Regenerated.
894 * generated/product_r4.c: Regenerated.
895 * generated/product_r8.c: Regenerated.
896 * generated/sum_c4.c: Regenerated.
897 * generated/sum_c8.c: Regenerated.
898 * generated/sum_i4.c: Regenerated.
899 * generated/sum_i8.c: Regenerated.
900 * generated/sum_r4.c: Regenerated.
901 * generated/sum_r8.c: Regenerated.
902
077620f0 9032005-04-30 Thomas Koenig <Thomas.Koenig@online.de>
904
905 PR libfortran/18958
906 libgfortran.h: Change typedef of index_type from size_t
907 to ssize_t.
908
b87be38a 9092005-04-30 Paul Thomas <pault@gcc.gnu.org>
910
911 PR libfortran/18857
912 * generated/matmul_r8.c: Remove incorrect assertions.
913 * generated/matmul_c4.c: Regenerate
914 * generated/matmul_c8.c: Regenerate
915 * generated/matmul_i4.c: Regenerate
916 * generated/matmul_i8.c: Regenerate
917 * generated/matmul_r4.c: Regenerate
918 * generated/matmul_r8.c: Regenerate
919
a54b1ce7 9202005-04-29 Francois-Xavier Coudert <coudert@clipper.ens.fr>
921
922 * configure.ac: Check for ftruncate and chsize.
923 * io/unix.c (fd_truncate): Provide chsize as alternative to
924 ftruncate.
925 * config.h.in: Regenerate.
926 * configure: Regenerate.
927
0c0bfad2 9282004-04-29 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
929
930 * intrinsics/rename.c: Add missing #includes.
931
325e5182 9322004-04-28 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
933
934 * AUTHORS, COPYING, INSTALL, NEWS, README: Remove.
935
467d94bc 9362005-04-26 David Edelsohn <edelsohn@gnu.org>
937
ef51935e 938 PR libfortran/20930
467d94bc 939 * io/rewind.c (st_rewind): Flush the stream when resetting the mode
940 from WRITING to READING.
941
9422005-04-22 Paul Thomas <pault@gcc.gnu.org>
9ecc9c35 943 Jerry DeLisle <jvdelisle@verizon.net>
fceb0385 944
945 * io/write.c (nml_write_obj): Provide 1 more byte for ext_name.
946 * io/list_read.c (nml_get_obj_data): Put extra brackets in get_mem
947 call for ext_name. These fix the bug reported by Jerry DeLisle to
948 the fortran list and are based on his suggested fix.
949
93c57576 9502005-04-22 Thomas Koenig <Thomas.Koenig@online.de>
951
952 PR libfortran/20074
953 PR libfortran/20436
954 PR libfortran/21108
955 * m4/reshape.m4 (reshape_`'rtype_kind): rs, rex: New
956 variables, to be used in calculation of return array sizes.
957 Populate return array descriptor if ret->data is NULL.
958 Fix condition for early return (it used to test something
959 undefined if order was used).
960 Remove duplicate check wether pad is used.
961 * intrinsics/reshape_generic.c (reshape_generic): Likewise.
962 Fix a few places where the wrong variables were set.
963 * generated/reshape_i4.c: Regenerated.
964 * generated/reshape_i8.c: Regenerated.
965
b87be38a 9662005-04-18 Paul Thomas <pault@gcc.gnu.org>
4516dace 967
968 * io/list_read.c (nml_touch_nodes, nml_read_obj,
969 nml_get_obj_data): Fix memory leaks in code for derived types.
970
214b69f2 9712005-04-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
972
973 PR libfortran/20950
974 * io/inquire.c (inquire_via_unit): Check for the gfc_unit being
975 NULL when setting ioparm.sequential.
976
2be2fbdf 9772005-04-17 Thomas Koenig <Thomas.Koenig@online.de>
978
979 PR libfortran/21075
980 * m4/reshape.m4 (reshape_`'rtype_kind): Change dimension
981 of auxiliary arrays from GFC_MAX_DIMENSIONS - 1 to
982 GFC_MAX_DIMENSIONS.
983 * intrinsics/reshape_generic.c (reshape_generic): Likewise.
984 * generated/reshape_i4.c: Regenerated.
985 * generated/reshape_i8.c: Regenerated.
986
fc2a7c27 9872005-04-17 Paul Thomas <pault@gcc.gnu.org>
988
4516dace 989 * io/list_read.c (eat_separator): at_eol = 1 replaced
990 (zapped at some time?).
fc2a7c27 991
9922005-04-17 Paul Thomas <pault@gcc.gnu.org>
993
fc2a7c27 994 PR libgfortran/12884
995 PR libgfortran/17285
996 PR libgfortran/18122
997 PR libgfortran/18210
998 PR libgfortran/18392
999 PR libgfortran/18591
1000 PR libgfortran/18879
1001 * io/io.h (nml_ls): Declare.
1002 (namelist_info): Modify for arrays.
1003 * io/list_read.c (namelist_read): Reduced to call to new functions.
1004 (match_namelist_name): Simplified.
1005 (nml_query): Handles stdin queries ? and =?. New function.
1006 (nml_get_obj_data): Parses object name. New function.
1007 (touch_nml_nodes): Marks objects for read. New function.
1008 (untouch_nml_nodes): Resets objects. New function.
1009 (parse_qualifier): Parses and checks qualifiers. New function
1010 (nml_read_object): Reads and stores object data. New function.
1011 (eat_separator): No new_record on '/' in namelist.
1012 (finish_separator): No new_record on '/' in namelist.
1013 (read_logical): Error return for namelist.
1014 (read_integer): Error return for namelist.
1015 (read_complex): Error return for namelist.
1016 (read_real): Error return for namelist.
1017 * io/lock.c (library_end): Free extended namelist_info types.
1018 * io/transfer.c (st_set_nml_var): Modified for arrays.
1019 (st_set_nml_var_dim): Dimension descriptors. New function.
1020 * io/write.c (namelist_write): Reduced to call to new functions.
1021 (nml_write_obj): Writes output for object. New function.
1022 (write_integer): Suppress leading blanks for repeat counts.
1023 (write_int): Suppress leading blanks for repeat counts.
1024 (write_float): Suppress leading blanks for repeat counts.
1025 (output_float): Suppress leading blanks for repeat counts.
1026
b6b4c3ef 10272005-04-15 Thomas Koenig <Thomas.Koenig@online.de>
1028
1029 PR libfortran/18495
1030 * intrinsics/spread_generic.c (spread): Remove const from
1031 return array descriptor.
1032 New variables: rrank (rank of return array), rs (for
1033 calculating the size of the return array), srank (rank
1034 of the source array).
1035 Generate runtime error if the dim= argument is larger than
1036 the rank of the return array.
1037 Generate runtime error if the needed rank of the return
1038 array is larger than 7.
1039 If ret->data is null, populate the return array descriptor
1040 and initialize the variables for the actual operation.
1041 Otherwise, set ret->dim[0].stride to one if it is zero.
1042 Change second, independent use of variable dim to srank.
1043
3bcf2cd5 10442005-04-12 Mike Stump <mrs@apple.com>
1045
1046 * configure: Regenerate.
1047
73654594 10482005-04-13 Thomas Koenig <Thomas.Koenig@online.de>
1049
1050 PR libfortran/19106
1051 * m4/iforeach.c (name`'rtype_qual`_'atype_code): Add TODO
1052 that setting correct strides is a front end job.
1053 (`m'name`'rtype_qual`_'atype_code): Likewise. If mask has
1054 a lowest stride of 0, adjust to 1.
1055 * m4/ifunction.c (name`'rtype_qual`_'atype_code): Add TODO
1056 that setting correct strides is a front end job.
1057 (`m'name`'rtype_qual`_'atype_code): Likewise. If mask has
1058 a lowest stride of 0, adjust to 1.
1059 * maxloc0_4_i4.c: Regenerated
1060 * maxloc0_4_i8.c: Regenerated
1061 * maxloc0_4_r4.c: Regenerated
1062 * maxloc0_4_r8.c: Regenerated
1063 * maxloc0_8_i4.c: Regenerated
1064 * maxloc0_8_i8.c: Regenerated
1065 * maxloc0_8_r4.c: Regenerated
1066 * maxloc0_8_r8.c: Regenerated
1067 * maxloc1_4_i4.c: Regenerated
1068 * maxloc1_4_i8.c: Regenerated
1069 * maxloc1_4_r4.c: Regenerated
1070 * maxloc1_4_r8.c: Regenerated
1071 * maxloc1_8_i4.c: Regenerated
1072 * maxloc1_8_i8.c: Regenerated
1073 * maxloc1_8_r4.c: Regenerated
1074 * maxloc1_8_r8.c: Regenerated
1075 * maxval_i4.c: Regenerated
1076 * maxval_i8.c: Regenerated
1077 * maxval_r4.c: Regenerated
1078 * maxval_r8.c: Regenerated
1079 * minloc0_4_i4.c: Regenerated
1080 * minloc0_4_i8.c: Regenerated
1081 * minloc0_4_r4.c: Regenerated
1082 * minloc0_4_r8.c: Regenerated
1083 * minloc0_8_i4.c: Regenerated
1084 * minloc0_8_i8.c: Regenerated
1085 * minloc0_8_r4.c: Regenerated
1086 * minloc0_8_r8.c: Regenerated
1087 * minloc1_4_i4.c: Regenerated
1088 * minloc1_4_i8.c: Regenerated
1089 * minloc1_4_r4.c: Regenerated
1090 * minloc1_4_r8.c: Regenerated
1091 * minloc1_8_i4.c: Regenerated
1092 * minloc1_8_i8.c: Regenerated
1093 * minloc1_8_r4.c: Regenerated
1094 * minloc1_8_r8.c: Regenerated
1095 * minval_i4.c: Regenerated
1096 * minval_i8.c: Regenerated
1097 * minval_r4.c: Regenerated
1098 * minval_r8.c: Regenerated
1099 * product_c4.c: Regenerated
1100 * product_c8.c: Regenerated
1101 * product_i4.c: Regenerated
1102 * product_i8.c: Regenerated
1103 * product_r4.c: Regenerated
1104 * product_r8.c: Regenerated
1105 * sum_c4.c: Regenerated
1106 * sum_c8.c: Regenerated
1107 * sum_i4.c: Regenerated
1108 * sum_i8.c: Regenerated
1109 * sum_r4.c: Regenerated
1110 * sum_r8.c: Regenerated
1111
985c2efe 11122005-04-10 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1113
1114 PR libfortran/20788
1115 * runtime/environ.c (init_unsigned_integer): Function for
1116 environment variables we want to be positive.
1117 (init_integer): Function to allow negative environment
1118 variables (e.g. for GFORTRAN_STDIN_UNIT).
9ecc9c35 1119
3ee4ff51 11202005-04-10 Thomas Koenig <Thomas.Koenig@online.de>
1121
1122 PR libfortran/17992
1123 PR libfortran/19568
1124 PR libfortran/19595
1125 PR libfortran/20005
1126 PR libfortran/20092
1127 PR libfortran/20131
3ee4ff51 1128 PR libfortran/20661
1129 PR libfortran/20744
1130 * io/transfer.c (top level): eor_condition: New static variable.
1131 (read_sf): Remove unnecessary zeroing of buffer (there is enough
1132 information in its length).
1133 Return a string of length 0 (to be padded by caller) if EOR was
1134 seen previously.
1135 Remove erroneous special casing of EOR for standard input.
1136 Set eor_condition for non-advancing I/O if an end of line was
1137 detected.
1138 Increment ioparm.size if necessary.
1139 (formatted_transfer): Skip the function if there is an EOR condition.
1140 (data_transfer_init): Initialize eor_condition to zero (false).
1141 (next_record_r): Clear sf_seen_eor if a \n has been seen already.
1142 (finalize_transfer): If there is an EOR condition, raise the error.
1143
8ebb8285 11442005-04-09 Bud Davis <bdavis@gfortran.org>
9f52a98e 1145 Steven G. Kargl <kargls@comcast.net>
8ebb8285 1146
1147 PR fortran/19872
1148 * io/transfer.c (data_transfer_init): truncate an existing
1149 file on the first write.
1150
07ea8faa 11512005-04-09 Thomas Koenig <Thomas.Koenig@online.de>
1152
1153 PR libfortran/19106
1154 PR libfortran/19014
1155 * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): ditto.
1156 If retarray->data is NULL (i.e. the front end does not
1157 know the rank and dimenson of the array), fill in its
1158 properties and allocate memory.
1159 Change the assertions about rank and dimension of retarray into
1160 runtime errors and only check them for retarray->data != NULL.
1161 Do the same for correcting the stride from 0 to 1 in retarray.
1162 (`m'name`'rtype_qual`_'atype_code): Likewise.
1163 * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Likewise.
1164 Change assertion about rank of array to runtime error.
1165 (`m'name`'rtype_qual`_'atype_code): Likewise.
1166 * generated/all_l4.c: Regenerated.
1167 * generated/all_l8.c: Regenerated.
1168 * generated/any_l4.c: Regenerated.
1169 * generated/any_l8.c: Regenerated.
1170 * generated/count_4_l4.c: Regenerated.
1171 * generated/count_4_l8.c: Regenerated.
1172 * generated/count_8_l4.c: Regenerated.
1173 * generated/count_8_l8.c: Regenerated.
1174 * generated/maxloc0_4_i4.c: Regenerated.
1175 * generated/maxloc0_4_i8.c: Regenerated.
1176 * generated/maxloc0_4_r4.c: Regenerated.
1177 * generated/maxloc0_4_r8.c: Regenerated.
1178 * generated/maxloc0_8_i4.c: Regenerated.
1179 * generated/maxloc0_8_i8.c: Regenerated.
1180 * generated/maxloc0_8_r4.c: Regenerated.
1181 * generated/maxloc0_8_r8.c: Regenerated.
1182 * generated/maxloc1_4_i4.c: Regenerated.
1183 * generated/maxloc1_4_i8.c: Regenerated.
1184 * generated/maxloc1_4_r4.c: Regenerated.
1185 * generated/maxloc1_4_r8.c: Regenerated.
1186 * generated/maxloc1_8_i4.c: Regenerated.
1187 * generated/maxloc1_8_i8.c: Regenerated.
1188 * generated/maxloc1_8_r4.c: Regenerated.
1189 * generated/maxloc1_8_r8.c: Regenerated.
1190 * generated/maxval_i4.c: Regenerated.
1191 * generated/maxval_i8.c: Regenerated.
1192 * generated/maxval_r4.c: Regenerated.
1193 * generated/maxval_r8.c: Regenerated.
1194 * generated/minloc0_4_i4.c: Regenerated.
1195 * generated/minloc0_4_i8.c: Regenerated.
1196 * generated/minloc0_4_r4.c: Regenerated.
1197 * generated/minloc0_4_r8.c: Regenerated.
1198 * generated/minloc0_8_i4.c: Regenerated.
1199 * generated/minloc0_8_i8.c: Regenerated.
1200 * generated/minloc0_8_r4.c: Regenerated.
1201 * generated/minloc0_8_r8.c: Regenerated.
1202 * generated/minloc1_4_i4.c: Regenerated.
1203 * generated/minloc1_4_i8.c: Regenerated.
1204 * generated/minloc1_4_r4.c: Regenerated.
1205 * generated/minloc1_4_r8.c: Regenerated.
1206 * generated/minloc1_8_i4.c: Regenerated.
1207 * generated/minloc1_8_i8.c: Regenerated.
1208 * generated/minloc1_8_r4.c: Regenerated.
1209 * generated/minloc1_8_r8.c: Regenerated.
1210 * generated/minval_i4.c: Regenerated.
1211 * generated/minval_i8.c: Regenerated.
1212 * generated/minval_r4.c: Regenerated.
1213 * generated/minval_r8.c: Regenerated.
1214 * generated/product_c4.c: Regenerated.
1215 * generated/product_c8.c: Regenerated.
1216 * generated/product_i4.c: Regenerated.
1217 * generated/product_i8.c: Regenerated.
1218 * generated/product_r4.c: Regenerated.
1219 * generated/product_r8.c: Regenerated.
1220 * generated/sum_c4.c: Regenerated.
1221 * generated/sum_c8.c: Regenerated.
1222 * generated/sum_i4.c: Regenerated.
1223 * generated/sum_i8.c: Regenerated.
1224 * generated/sum_r4.c: Regenerated.
1225 * generated/sum_r8.c: Regenerated.
1226
a7041de9 12272005-04-09 Thomas Koenig <Thomas.Koenig@online.de>
1228
1229 PR libfortran/20163
9ecc9c35 1230 * runtime/string.c (compare0): Use fstrlen() to
a7041de9 1231 strip trailing blanks from option string.
1232
fc7645ef 12332005-04-09 Andrew Pinski <pinskia@physics.uc.edu>
1234
1235 PR fortran/13257
1236 * format.c (parse_format_list): Allow an optional comma
1237 between descriptors.
1238
bdaea730 12392005-04-08 Eric Botcazou <ebotcazou@libertysurf.fr>
1240
1241 * io/backspace.c (unformatted_backspace): Do not dereference
1242 the pointer to the stream.
1243
9cf1c244 12442005-04-07 Andrew Pinski <pinskia@physics.uc.edu>
1245
1246 PR libfortran/20766
1247 * configure.ac (extra_ldflags_libgfortran): Set for *-darwin* to
1248 "-Wl,-single_module".
1249 * configure: Regenerate.
1250 * Makefile.am (libgfortran_la_LDFLAGS): Add extra_ldflags_libgfortran.
1251 * Makefile.in: Regenerate.
1252
796e5f20 12532005-04-05 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1254
1255 PR libfortran/20755
1256 * write.c (write_float): A G edit descriptor may locally change
1257 the scale factor, but it needs to be restored afterwards.
1258
ca865049 12592005-04-03 Dale Ranta <dir@lanl.gov>
9f52a98e 1260 Francois-Xavier Coudert <coudert@clipper.ens.fr>
ca865049 1261
1262 PR libfortran/20068
1263 PR libfortran/20125
1264 PR libfortran/20156
1265 PR libfortran/20471
1266 * io/backspace.c (unformatted_backspace): Fix error in arithmetic.
1267 (st_backspace): When in WRITING mode, we flush and falling back
1268 into READING mode. In all cases, correctly position the stream.
1269
78e910ee 12702005-03-31 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1271
1272 PR libfortran/20660
1273 * io/inquire.c (inquire_via_unit): Non-opened units should still be
1274 reported by an INQUIRE statement as existing.
1275 * io/transfer.c (data_transfer_init): Never accept negative units.
1276
cb09492a 12772005-03-29 Dale Ranta <dir@lanl.gov>
1278 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1279
1280 PR libfortran/20163
1281 * io/open.c (st_open): call library_end() before returning even if
1282 an error arises.
1283
85255ed0 12842005-03-25 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1285
1286 PR libfortran/19678
1287 * list_read.c (next_char, eat_separator, finish_separator, read_real)
1288 (namelist_read): Add support for '\r' as well as '\n' as EOL
1289 character.
1290
1291 PR libfortran/19679
1292 * list_read.c (read_sf): Add a '\r' in a test to support DOS
1293 line-endings when line length is exceeded.
1294
95f0757a 12952005-03-25 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1296
1297 PR libfortran/15332
1298 * io/format.c (parse_format_list): format node for colon edit
1299 descriptor needs a repeat counter set to 1.
1300
f259be4b 13012005-02-24 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1302
1303 * config.h.in: Regenerate.
1304
eefbcd28 13052005-02-23 Francois-Xavier Coudert <coudert@clipper.ens.fr>
70952ee7 1306
1307 PR libfortran/18025
1308 * write.c (output_float): Handling the "F0.d" format similarly as
1309 commercial compilers.
1310
4dd3972f 13112005-03-22 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1312
1313 * Makefile.am: Added new files.
1314 * Makefile.in: Regenerate.
1315 * aclocal.m4: Regenerate.
1316 * configure.ac: add checks for signal.h headers file, as well as
1317 following functions: chdir, strerror, getlogin, gethostname, kill,
1318 link, symlink, perror, sleep, time.
1319 * configure: Regenerate.
1320 * intrinsics/chdir.c, intrinsics/gerror.c, intrinsics/getlog.c,
1321 intrinsics/hostnm.c, intrinsics/ierrno.c, intrinsics/kill.c,
1322 intrinsics/link.c, intrinsics/perror.c, intrinsics/rename.c,
1323 intrinsics/sleep.c, intrinsics/symlnk.c, intrinsics/time.c: Newly
1324 implementend g77 intrinsics.
1325
91a9c151 13262005-03-21 Zack Weinberg <zack@codesourcery.com>
1327
1328 * configure.ac: Do not invoke TL_AC_GCC_VERSION.
1329 In all substitutions, leave gcc_version to be expanded by the Makefile.
1330 * aclocal.m4, configure: Regenerate.
1331 * Makefile.am: Set gcc_version.
1332 * Makefile.in: Regenerate.
1333
5c40d3bf 13342005-03-16 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1335
1336 PR libfortran/20257
1337 * open.c (new_unit): set record length to max_offset rather than
1338 using a hard-coded limit (which was too low).
1339
222477ec 13402005-03-16 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1341
1342 PR libfortran/20480
1343 * write.c (output_float): special check when writing 0.0 with
1344 EN and ES formats.
1345
57825007 13462005-03-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1347
1348 PR libfortran/20124
1349 * write.c (output_float): Adds a nzero_real variable to store
1350 the number of leading zeros whatever the format width is. Corrects
1351 the rounding of numbers less than 10^(-width). Fixes typo in an
1352 error message. Updates copyright years
1353
63c3cebb 13542005-02-27 Toon Moene <toon@moene.indiv.nluug.nl>
1355
1356 * runtime/environ.c: Update copyright years.
1357
8e79b26f 13582005-02-27 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1359
1360 * io/write.c: Update copyright years.
1361
1a579c52 13622005-02-27 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1363
1364 PR libfortran/20101
8e79b26f 1365 * io/write.c (output_float): Added special check for value 0.0 in
1a579c52 1366 PE format.
1367
81aff3dd 13682004-02-27 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1369
1370 * io/write.c (output_float): Fix typo in condition.
1371
63c3cebb 13722005-02-25 Peter O'Gorman <peter@pogma.com>
91a9c151 1373 Toon Moene <toon@moene.indiv.nluug.nl>
f92fbd4f 1374
1375 PR libgfortran/17748
1376 * runtime/environ.c: Remove references to environ.
91a9c151 1377 (show_variables): remove GFORTRAN_UNBUFFERED_* and
f92fbd4f 1378 GFORTRAN_NAME_* because they require environ.
1379 (pattern_scan): Remove function.
1380
90016614 13812004-02-22 Paul Thomas <paulthomas2@wannado.fr>
1382 Bud Davis <bdavis@gfortran.org>
1383
1384 * io/list_read.c (read_real): Handle separators properly
1385 in list directed read.
1386
5dee51dd 13872004-02-21 Bud Davis <bdavis@gfortran.org>
1388
1389 PR fortran/20086
1390 * io/transfer.c (write_constant_string): accept an 'h' as
1391 the start of a hollerith format string.
1392
65ce19bc 13932005-02-21 Eric Botcazou <ebotcazou@libertysurf.fr>
1394
1395 PR libfortran/19302
1396 * intrinsics/c99_functions.c (nextafterf): Special-case infinite
1397 numbers.
1398
5b7bf9b9 13992005-02-21 Steven G. Kargl <kargls@comcast.net>
1400
1401 * io/write.c (output_float): Typo in error meesage.
1402
628dfe67 14032005-02-20 Steven G. Kargl <kargls@comcast.net>
1404
91a9c151 1405 PR 20085
1406 * intrinsic/args.c (iargc): Off by 1.
628dfe67 1407
9a5f3765 14082005-02-19 Steven G. Kargl <kargls@comcast.net>
1409
9f52a98e 1410 * intrinsic/date_and_time.c: Fix conformance problems.
9a5f3765 1411
b1c49a11 14122005-02-01 Paul Thomas <paulthomas2@wanadoo.fr>
1413
1414 PR libgfortran/19363
1415 PR libgfortran/19691
1416 * libgfortran.h (isfinite): Work around broken isfinite(x) in Cygwin.
1417
05876242 14182005-01-30 Bud Davis <bdavis@gfortran.org>
1419
1420 PR fortran/19647
1421 * io/inquire.c (inquire_via_unit): Use correct variable for
1422 pad.
1423
5c906e8e 14242005-01-29 Thomas Koenig <Thomas.Koenig@online.de>
1425
1426 PR libfortran/19595
1427 * io/transfer.c (data_transfer_init): eor requires advance="NO".
1428
b8064f40 14292005-01-25 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1430
1431 PR libfortran/19524
1432 * io/read.c (read_f): Don't free uninitialized pointer.
1433
1c03ad1f 14342005-01-23 James A. Morrison <phython@gcc.gnu.org>
1435 Paul Brook <paul@codesourcery.com>
1436
1437 PR fortran/19294
1438 * Makefile.am: Add transpose_c4.c and transpose_c8.c.
1439 * intrinsics/cshift0.c: Use separate optimized loops for complex types.
1440 * m4/transpose.m4: Include type letter in function name.
1441 * Makefile.in: Regenerate.
1442 * generated/transpose_*.c: Regenerate.
1443
b573c98e 14442005-01-22 Thomas Koenig <Thomas.Koenig@online.de>
1445
1446 PR libfortran/19451
1447 * io/transfer.c (finalize_transfer): Don't do anything if
1448 there is an error condition.
1449
ff81ee3b 14502005-01-22 David Edelsohn <edelsohn@gnu.org>
1451
1452 PR libgfortran/19052
1453 * libgfortran.h (options_t): Add stderr_unit.
1454 * io/io.h (error_stream): Declare.
1455 * io/open.c (new_unit): Do not terminate abnormally if opening
1456 file preconnected to stdin, stdout, or stderr.
1457 * io/unit.c (init_units): Initialize stderr_unit.
1458 * io/unix.c (error_stream): New function.
1459 * runtime/environ.c (GFORTRAN_STDERR_UNIT): New environment variable.
1460
2d6ba0f9 14612005-01-22 Thomas Koenig <Thomas.Koenig@online.de>
1462
1463 PR libfortran/18982
1464 * io/unix.c (regular_file): No need to change flags->action
91a9c151 1465 if an error occurs. Document this.
2d6ba0f9 1466 No need to call stat() for STATUS_OLD, open() will
1467 fail anyway.
1468 For ACTION_UNSPECIFIED, try open for read-write, then for
1469 read-only if open fails with EACCES, then for write-only
1470 if that fails with EACCES again.
1471 * io/unix.c (open_external): Document changed behavior of
1472 regular_file.
1473
ea65f083 14742005-01-22 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
91a9c151 1475
ea65f083 1476 PR fortran/19194
1477 * io/io.h (st_parameter): Use 'GFC_INTEGER_4' instead of 'int',
1478 use CHARACTER macro for definition of string valued paramters.
91a9c151 1479
ea65f083 14802005-01-22 Bud Davis <bdavis9659@comcast.net>
b3b0377b 1481
1482 PR fortran/19314
1483 * io/inquire.c(inquire_via_unit): implement POSITION=.
91a9c151 1484 * io/transfer.c(next_record): update position for
b3b0377b 1485 INQUIRE.
1486 * io/rewind.c(st_rewind): update position for
1487 INQUIRE.
1488
ea65f083 14892005-01-16 Bud Davis <bdavis9659@comcast.net>
ff9bb54e 1490
1491 PR fortran/18778
1492 * io/transfer.c (us_read): no bytes available is not a
1493 runtime error.
1494
8a729445 14952005-01-15 Bud Davis <bdavis9659@comcast.net>
1496
1497 PR fortran/18983
1498 * io/transfer.c (st_write_done): only truncate when it
1499 is required.
1500
b417ea8c 15012005-01-12 Toon Moene <toon@moene.indiv.nluug.nl>
1502
1503 PR libfortran/19280
1504 c99_protos.h: License changed to GPL+exception.
1505 libgfortran.h: Ditto.
1506 intrinsics/abort.c: Ditto.
1507 intrinsics/args.c: Ditto.
1508 intrinsics/associated.c: Ditto.
1509 intrinsics/bessel.c: Ditto.
1510 intrinsics/c99_functions.c: Ditto.
1511 intrinsics/cpu_time.c: Ditto.
1512 intrinsics/cshift0.c: Ditto.
1513 intrinsics/date_and_time.c: Ditto.
1514 intrinsics/env.c: Ditto.
1515 intrinsics/eoshift0.c: Ditto.
1516 intrinsics/eoshift2.c: Ditto.
1517 intrinsics/erf.c: Ditto.
1518 intrinsics/etime.c: Ditto.
1519 intrinsics/exit.c: Ditto.
1520 intrinsics/flush.c: Ditto.
1521 intrinsics/fnum.c: Ditto.
1522 intrinsics/getXid.c: Ditto.
1523 intrinsics/getcwd.c: Ditto.
1524 intrinsics/ishftc.c: Ditto.
1525 intrinsics/mvbits.c: Ditto.
1526 intrinsics/pack_generic.c: Ditto.
1527 intrinsics/rand.c: Ditto.
1528 intrinsics/random.c: Ditto.
1529 intrinsics/reshape_generic.c: Ditto.
1530 intrinsics/reshape_packed.c: Ditto.
1531 intrinsics/size.c: Ditto.
1532 intrinsics/spread_generic.c: Ditto.
1533 intrinsics/stat.c: Ditto.
1534 intrinsics/string_intrinsics.c: Ditto.
1535 intrinsics/system.c: Ditto.
1536 intrinsics/system_clock.c: Ditto.
1537 intrinsics/transpose_generic.c: Ditto.
1538 intrinsics/umask.c: Ditto.
1539 intrinsics/unlink.c: Ditto.
1540 intrinsics/unpack_generic.c: Ditto.
1541 io/backspace.c: Ditto.
1542 io/close.c: Ditto.
1543 io/endfile.c: Ditto.
1544 io/format.c: Ditto.
1545 io/inquire.c: Ditto.
1546 io/io.h: Ditto.
1547 io/list_read.c: Ditto.
1548 io/lock.c: Ditto.
1549 io/open.c: Ditto.
1550 io/read.c: Ditto.
1551 io/rewind.c: Ditto.
1552 io/transfer.c: Ditto.
1553 io/unit.c: Ditto.
1554 io/unix.c: Ditto.
1555 io/write.c: Ditto.
1556 m4/all.m4: Ditto.
1557 m4/any.m4: Ditto.
1558 m4/cexp.m4: Ditto.
1559 m4/chyp.m4: Ditto.
1560 m4/count.m4: Ditto.
1561 m4/cshift1.m4: Ditto.
1562 m4/ctrig.m4: Ditto.
1563 m4/dotprod.m4: Ditto.
1564 m4/dotprodc.m4: Ditto.
1565 m4/dotprodl.m4: Ditto.
1566 m4/eoshift1.m4: Ditto.
1567 m4/eoshift3.m4: Ditto.
1568 m4/exponent.m4: Ditto.
1569 m4/fraction.m4: Ditto.
1570 m4/head.m4: Ditto.
1571 m4/iforeach.m4: Ditto.
1572 m4/ifunction.m4: Ditto.
1573 m4/in_pack.m4: Ditto.
1574 m4/in_unpack.m4: Ditto.
1575 m4/iparm.m4: Ditto.
1576 m4/matmul.m4: Ditto.
1577 m4/matmull.m4: Ditto.
1578 m4/maxloc0.m4: Ditto.
1579 m4/maxloc1.m4: Ditto.
1580 m4/maxval.m4: Ditto.
1581 m4/minloc0.m4: Ditto.
1582 m4/minloc1.m4: Ditto.
1583 m4/minval.m4: Ditto.
1584 m4/mtype.m4: Ditto.
1585 m4/nearest.m4: Ditto.
1586 m4/pow.m4: Ditto.
1587 m4/product.m4: Ditto.
1588 m4/reshape.m4: Ditto.
1589 m4/set_exponent.m4: Ditto.
1590 m4/shape.m4: Ditto.
1591 m4/specific.m4: Ditto.
1592 m4/specific2.m4: Ditto.
1593 m4/sum.m4: Ditto.
1594 m4/transpose.m4: Ditto.
1595 m4/types.m4: Ditto.
1596 runtime/environ.c: Ditto.
1597 runtime/error.c: Ditto.
1598 runtime/in_pack_generic.c: Ditto.
1599 runtime/in_unpack_generic.c: Ditto.
1600 runtime/main.c: Ditto.
1601 runtime/memory.c: Ditto.
1602 runtime/normalize.c: Ditto.
1603 runtime/pause.c: Ditto.
1604 runtime/select.c: Ditto.
1605 runtime/stop.c: Ditto.
1606 runtime/string.c: Ditto.
1607 generated/_abs_c4.f90: Regenerated.
1608 generated/_abs_c8.f90: Regenerated.
1609 generated/_abs_i4.f90: Regenerated.
1610 generated/_abs_i8.f90: Regenerated.
1611 generated/_abs_r4.f90: Regenerated.
1612 generated/_abs_r8.f90: Regenerated.
1613 generated/_acos_r4.f90: Regenerated.
1614 generated/_acos_r8.f90: Regenerated.
1615 generated/_aint_r4.f90: Regenerated.
1616 generated/_aint_r8.f90: Regenerated.
1617 generated/_anint_r4.f90: Regenerated.
1618 generated/_anint_r8.f90: Regenerated.
1619 generated/_asin_r4.f90: Regenerated.
1620 generated/_asin_r8.f90: Regenerated.
1621 generated/_atan2_r4.f90: Regenerated.
1622 generated/_atan2_r8.f90: Regenerated.
1623 generated/_atan_r4.f90: Regenerated.
1624 generated/_atan_r8.f90: Regenerated.
1625 generated/_conjg_c4.f90: Regenerated.
1626 generated/_conjg_c8.f90: Regenerated.
1627 generated/_cos_c4.f90: Regenerated.
1628 generated/_cos_c8.f90: Regenerated.
1629 generated/_cos_r4.f90: Regenerated.
1630 generated/_cos_r8.f90: Regenerated.
1631 generated/_cosh_r4.f90: Regenerated.
1632 generated/_cosh_r8.f90: Regenerated.
1633 generated/_dim_i4.f90: Regenerated.
1634 generated/_dim_i8.f90: Regenerated.
1635 generated/_dim_r4.f90: Regenerated.
1636 generated/_dim_r8.f90: Regenerated.
1637 generated/_exp_c4.f90: Regenerated.
1638 generated/_exp_c8.f90: Regenerated.
1639 generated/_exp_r4.f90: Regenerated.
1640 generated/_exp_r8.f90: Regenerated.
1641 generated/_log10_r4.f90: Regenerated.
1642 generated/_log10_r8.f90: Regenerated.
1643 generated/_log_c4.f90: Regenerated.
1644 generated/_log_c8.f90: Regenerated.
1645 generated/_log_r4.f90: Regenerated.
1646 generated/_log_r8.f90: Regenerated.
1647 generated/_mod_i4.f90: Regenerated.
1648 generated/_mod_i8.f90: Regenerated.
1649 generated/_mod_r4.f90: Regenerated.
1650 generated/_mod_r8.f90: Regenerated.
1651 generated/_sign_i4.f90: Regenerated.
1652 generated/_sign_i8.f90: Regenerated.
1653 generated/_sign_r4.f90: Regenerated.
1654 generated/_sign_r8.f90: Regenerated.
1655 generated/_sin_c4.f90: Regenerated.
1656 generated/_sin_c8.f90: Regenerated.
1657 generated/_sin_r4.f90: Regenerated.
1658 generated/_sin_r8.f90: Regenerated.
1659 generated/_sinh_r4.f90: Regenerated.
1660 generated/_sinh_r8.f90: Regenerated.
1661 generated/_sqrt_c4.f90: Regenerated.
1662 generated/_sqrt_c8.f90: Regenerated.
1663 generated/_sqrt_r4.f90: Regenerated.
1664 generated/_sqrt_r8.f90: Regenerated.
1665 generated/_tan_r4.f90: Regenerated.
1666 generated/_tan_r8.f90: Regenerated.
1667 generated/_tanh_r4.f90: Regenerated.
1668 generated/_tanh_r8.f90: Regenerated.
1669 generated/all_l4.c: Regenerated.
1670 generated/all_l8.c: Regenerated.
1671 generated/any_l4.c: Regenerated.
1672 generated/any_l8.c: Regenerated.
1673 generated/count_4_l4.c: Regenerated.
1674 generated/count_4_l8.c: Regenerated.
1675 generated/count_8_l4.c: Regenerated.
1676 generated/count_8_l8.c: Regenerated.
1677 generated/cshift1_4.c: Regenerated.
1678 generated/cshift1_8.c: Regenerated.
1679 generated/dotprod_c4.c: Regenerated.
1680 generated/dotprod_c8.c: Regenerated.
1681 generated/dotprod_i4.c: Regenerated.
1682 generated/dotprod_i8.c: Regenerated.
1683 generated/dotprod_l4.c: Regenerated.
1684 generated/dotprod_l8.c: Regenerated.
1685 generated/dotprod_r4.c: Regenerated.
1686 generated/dotprod_r8.c: Regenerated.
1687 generated/eoshift1_4.c: Regenerated.
1688 generated/eoshift1_8.c: Regenerated.
1689 generated/eoshift3_4.c: Regenerated.
1690 generated/eoshift3_8.c: Regenerated.
1691 generated/exp_c4.c: Regenerated.
1692 generated/exp_c8.c: Regenerated.
1693 generated/exponent_r4.c: Regenerated.
1694 generated/exponent_r8.c: Regenerated.
1695 generated/fraction_r4.c: Regenerated.
1696 generated/fraction_r8.c: Regenerated.
1697 generated/hyp_c4.c: Regenerated.
1698 generated/hyp_c8.c: Regenerated.
1699 generated/in_pack_i4.c: Regenerated.
1700 generated/in_pack_i8.c: Regenerated.
1701 generated/in_unpack_i4.c: Regenerated.
1702 generated/in_unpack_i8.c: Regenerated.
1703 generated/matmul_c4.c: Regenerated.
1704 generated/matmul_c8.c: Regenerated.
1705 generated/matmul_i4.c: Regenerated.
1706 generated/matmul_i8.c: Regenerated.
1707 generated/matmul_l4.c: Regenerated.
1708 generated/matmul_l8.c: Regenerated.
1709 generated/matmul_r4.c: Regenerated.
1710 generated/matmul_r8.c: Regenerated.
1711 generated/maxloc0_4_i4.c: Regenerated.
1712 generated/maxloc0_4_i8.c: Regenerated.
1713 generated/maxloc0_4_r4.c: Regenerated.
1714 generated/maxloc0_4_r8.c: Regenerated.
1715 generated/maxloc0_8_i4.c: Regenerated.
1716 generated/maxloc0_8_i8.c: Regenerated.
1717 generated/maxloc0_8_r4.c: Regenerated.
1718 generated/maxloc0_8_r8.c: Regenerated.
1719 generated/maxloc1_4_i4.c: Regenerated.
1720 generated/maxloc1_4_i8.c: Regenerated.
1721 generated/maxloc1_4_r4.c: Regenerated.
1722 generated/maxloc1_4_r8.c: Regenerated.
1723 generated/maxloc1_8_i4.c: Regenerated.
1724 generated/maxloc1_8_i8.c: Regenerated.
1725 generated/maxloc1_8_r4.c: Regenerated.
1726 generated/maxloc1_8_r8.c: Regenerated.
1727 generated/maxval_i4.c: Regenerated.
1728 generated/maxval_i8.c: Regenerated.
1729 generated/maxval_r4.c: Regenerated.
1730 generated/maxval_r8.c: Regenerated.
1731 generated/minloc0_4_i4.c: Regenerated.
1732 generated/minloc0_4_i8.c: Regenerated.
1733 generated/minloc0_4_r4.c: Regenerated.
1734 generated/minloc0_4_r8.c: Regenerated.
1735 generated/minloc0_8_i4.c: Regenerated.
1736 generated/minloc0_8_i8.c: Regenerated.
1737 generated/minloc0_8_r4.c: Regenerated.
1738 generated/minloc0_8_r8.c: Regenerated.
1739 generated/minloc1_4_i4.c: Regenerated.
1740 generated/minloc1_4_i8.c: Regenerated.
1741 generated/minloc1_4_r4.c: Regenerated.
1742 generated/minloc1_4_r8.c: Regenerated.
1743 generated/minloc1_8_i4.c: Regenerated.
1744 generated/minloc1_8_i8.c: Regenerated.
1745 generated/minloc1_8_r4.c: Regenerated.
1746 generated/minloc1_8_r8.c: Regenerated.
1747 generated/minval_i4.c: Regenerated.
1748 generated/minval_i8.c: Regenerated.
1749 generated/minval_r4.c: Regenerated.
1750 generated/minval_r8.c: Regenerated.
1751 generated/nearest_r4.c: Regenerated.
1752 generated/nearest_r8.c: Regenerated.
1753 generated/pow_c4_i4.c: Regenerated.
1754 generated/pow_c4_i8.c: Regenerated.
1755 generated/pow_c8_i4.c: Regenerated.
1756 generated/pow_c8_i8.c: Regenerated.
1757 generated/pow_i4_i4.c: Regenerated.
1758 generated/pow_i4_i8.c: Regenerated.
1759 generated/pow_i8_i4.c: Regenerated.
1760 generated/pow_i8_i8.c: Regenerated.
1761 generated/pow_r4_i4.c: Regenerated.
1762 generated/pow_r4_i8.c: Regenerated.
1763 generated/pow_r8_i4.c: Regenerated.
1764 generated/pow_r8_i8.c: Regenerated.
1765 generated/product_c4.c: Regenerated.
1766 generated/product_c8.c: Regenerated.
1767 generated/product_i4.c: Regenerated.
1768 generated/product_i8.c: Regenerated.
1769 generated/product_r4.c: Regenerated.
1770 generated/product_r8.c: Regenerated.
1771 generated/reshape_i4.c: Regenerated.
1772 generated/reshape_i8.c: Regenerated.
1773 generated/set_exponent_r4.c: Regenerated.
1774 generated/set_exponent_r8.c: Regenerated.
1775 generated/shape_i4.c: Regenerated.
1776 generated/shape_i8.c: Regenerated.
1777 generated/sum_c4.c: Regenerated.
1778 generated/sum_c8.c: Regenerated.
1779 generated/sum_i4.c: Regenerated.
1780 generated/sum_i8.c: Regenerated.
1781 generated/sum_r4.c: Regenerated.
1782 generated/sum_r8.c: Regenerated.
1783 generated/transpose_i4.c: Regenerated.
1784 generated/transpose_i8.c: Regenerated.
1785 generated/trig_c4.c: Regenerated.
1786 generated/trig_c8.c: Regenerated.
1787
ed601fff 17882005-01-07 Bud Davis <bdavis9659@comcast.net>
1789
1790 PR fortran/18398
1791 * transfer.c (next_record_r): always skip the
1792 eol search if it was found during sf_read.
1793
4d66f715 17942004-12-27 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1795
91a9c151 1796 * libgfortran/libgfortran.h (GFC_UINTEGER_1, GFC_UINTEGER_2):
4d66f715 1797 Define.
1798 * intrinsics/ishftc.c: Update copyright years.
1799 (ishftc8): Change 'shift' and 'size' to GFC_INTEGER_4.
7b1114de 1800 * intrinsics/mvbits.c: Correct non-ASCII character in my name.
4d66f715 1801 Add implementations for GFC_INTEGER_1 and GFC_INTEGER_2.
1802
5fc813ec 18032004-12-23 Bud Davis <bdavis9659@comcast.net>
1804
1805 PR fortran/19071
91a9c151 1806 * io/tranfer.c (formatted_transfer): moved check for
5fc813ec 1807 format reversion inside the processing loop.
1808
34991dc4 18092004-12-19 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
1810
1811 PR libfortran/19074
1812 * libgfortran.h (itoa): Rename to gfc_itoa.
1813 * io/write.c (itoa): Same.
1814 * runtime/environ.c (itoa): Same.
1815 * runtime/error.c (itoa): Same.
1816
325703fc 18172004-12-15 Bud Davis <bdavis9659@comcast.net>
91a9c151 1818 Steven G. Kargl <kargls@comcast.net>
325703fc 1819
1820 PR fortran/17597
1821 * io/list_read.c (read_real): do not push back a comma when
1822 it delimits a real value without a decimal point
1823
dfb5c323 18242004-12-14 Steve Ellcey <sje@cup.hp.com>
1825
1826 * libgfortran/io/transfer.c (us_read): Use memcpy/memset
1827 instead of assignment to fill unaligned buffer.
1828 (us_write): Ditto.
1829 (next_record_w): Ditto.
1830
619c976c 18312004-12-14 Steven G. Kargl <kargls@comcast.net>
800c028f 1832
1833 PR libfortran/18966
1834 * gfortran.h: typedef GFC_INTEGER_1 and GFC_INTEGER_2
1835 * intrinsics/cshift0.c (cshift0_1,cshift0_2): New functions.
1836 * intrinsics/eoshift0.c (eoshift0_1,eoshift0_2): New functions.
1837 * intrinsics/eoshift2.c (eoshift2_1,eoshift2_2): New functions.
1838
4e187f0e 18392004-12-13 David Edelsohn <edelsohn@gnu.org>
1840
1841 * io/transfer.c (read_sf): Change bitwise "and" to logical "and".
1842
820b4fbd 18432004-12-12 Richard Henderson <rth@redhat.com>
1844
1845 * intrinsics/cshift0.c, intrinsics/eoshift0.c, intrinsics/eoshift2.c,
1846 intrinsics/pack_generic.c, intrinsics/reshape_generic.c,
1847 intrinsics/spread_generic.c, intrinsics/transpose_generic.c,
1848 intrinsics/unpack_generic.c, m4/cshift1.m4, m4/dotprod.m4,
1849 m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4, m4/eoshift3.m4,
1850 m4/iforeach.m4, m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4,
1851 m4/reshape.m4, m4/shape.m4, m4/transpose.m4: Use standard prefix
1852 instead of "__".
1853 * generated/*: Rebuild.
1854
7b6cb5bd 18552004-12-12 Richard Henderson <rth@redhat.com>
1856
1857 * acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY): New.
1858 (LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT): New.
1859 (LIBGFOR_CHECK_ATTRIBUTE_ALIAS): New.
1860 * configure.ac: Use them.
1861 * configure, config.h.in, aclocal.m4: Rebuild.
1862 * libgfortran.h (prefix): Remove.
1863 (PREFIX, IPREFIX): New.
1864 (sym_rename, sym_rename1, sym_rename2): New.
1865 (internal_proto, export_proto, export_proto_np): New.
1866 (iexport_proto, iexport): New.
1867 (iexport_data_proto, iexport_data): New.
1868 * intrinsics/abort.c, intrinsics/args.c, intrinsics/associated.c,
1869 intrinsics/cpu_time.c, intrinsics/cshift0.c,
1870 intrinsics/date_and_time.c, intrinsics/env.c, intrinsics/eoshift0.c,
1871 intrinsics/eoshift2.c, intrinsics/etime.c, intrinsics/exit.c,
1872 intrinsics/flush.c, intrinsics/fnum.c, intrinsics/getXid.c,
1873 intrinsics/getcwd.c, intrinsics/ishftc.c, intrinsics/mvbits.c,
1874 intrinsics/pack_generic.c, intrinsics/rand.c, intrinsics/random.c,
1875 intrinsics/reshape_generic.c, intrinsics/size.c,
1876 intrinsics/spread_generic.c, intrinsics/stat.c,
1877 intrinsics/string_intrinsics.c, intrinsics/system.c,
1878 intrinsics/system_clock.c, intrinsics/transpose_generic.c,
1879 intrinsics/umask.c, intrinsics/unlink.c, intrinsics/unpack_generic.c,
1880 io/backspace.c, io/close.c, io/endfile.c, io/inquire.c, io/io.h,
1881 io/open.c, io/rewind.c, io/transfer.c, libgfortran.h, m4/cshift1.m4,
1882 m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4,
1883 m4/eoshift3.m4, m4/exponent.m4, m4/fraction.m4, m4/iforeach.m4,
1884 m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/nearest.m4,
1885 m4/pow.m4, m4/reshape.m4, m4/set_exponent.m4, m4/shape.m4,
1886 m4/transpose.m4, runtime/environ.c, runtime/error.c,
1887 runtime/in_pack_generic.c, runtime/in_unpack_generic.c,
1888 runtime/main.c, runtime/memory.c, runtime/pause.c, runtime/select.c,
1889 runtime/stop.c: Use them to mark symbols internal or external.
1890 * generated/*: Rebuild.
1891
c0054acb 18922004-12-09 David Edelsohn <edelsohn@gnu.org>
1893
1894 PR bootstrap/18895
1895 Revert 2004-12-07 change.
1896 * Makefile.am (AM_MAKEFLAGS): Delete.
1897 * Makefile.in: Regenerate.
1898
f5b8c2b6 18992004-12-07 Steve Ellcey <sje@cup.hp.com>
1900
1901 * libgfortran/Makefile.am (AM_MAKEFLAGS): New.
1902 * libgfortran/Makefile.in: Regenerate
1903
6d12c489 19042004-12-07 Steve Ellcey <sje@cup.hp.com>
1905
1906 * io/io.h (open_external): Change prototype.
1907 * io/unix.c (regular_file): Change prototype and set flags->action if
1908 needed.
1909 (open_external): Ditto.
1910 * io/open.c (new_unit): Let open_external set flags->action.
1911
334f03a1 19122004-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1913
1914 * configure.ac: Check for ieeefp.h. Check for fabsf in libm.
1915 * configure: Regenerate.
1916 * config.h.in: Likewise.
1917 * c99_protos.h: New file.
1918 * libgfortran.h: Include c99_protos.h and conditionally ieeefp.h.
1919 * intrinsics/c99_functions.c (fabsf): New function.
1920
ae48a63d 19212004-12-06 Richard Henderson <rth@redhat.com>
1922
1923 * intrinsics/cshift0.c, intrinsics/eoshift0.c, intrinsics/eoshift2.c,
1924 intrinsics/pack_generic.c, intrinsics/string_intrinsics.c,
1925 intrinsics/transpose_generic.c, m4/ifunction.m4, m4/matmul.m4,
1926 m4/matmull.m4, m4/transpose.m4: Use internal_malloc_size instead
1927 of internal_malloc.
1928 * generated/*: Rebuild.
1929
7145fd06 19302004-12-06 Richard Henderson <rth@redhat.com>
1931
1932 * intrinsics/c99_functions.c, intrinsics/eoshift0.c,
1933 intrinsics/eoshift2.c, intrinsics/exit.c, intrinsics/flush.c,
1934 intrinsics/ishftc.c, intrinsics/mvbits.c, intrinsics/pack_generic.c,
1935 intrinsics/random.c, intrinsics/reshape_generic.c, intrinsics/size.c,
1936 intrinsics/spread_generic.c, intrinsics/stat.c,
1937 intrinsics/string_intrinsics.c, intrinsics/system_clock.c,
1938 intrinsics/transpose_generic.c, intrinsics/unlink.c,
1939 intrinsics/unpack_generic.c, io/backspace.c, io/format.c,
1940 io/list_read.c, io/lock.c, io/open.c, io/transfer.c, io/unix.c,
1941 io/write.c, runtime/environ.c, runtime/error.c,
1942 runtime/in_pack_generic.c, runtime/in_unpack_generic.c, runtime/main.c,
1943 runtime/memory.c, runtime/pause.c, runtime/stop.c,
1944 runtime/string.c: Whitespace fixes.
1945
805e53db 19462004-12-06 Richard Henderson <rth@redhat.com>
1947
1948 * Makefile.am: Generate all m4 output under $(srcdir).
1949 * Makefile.in: Regenerate.
1950
cdc1ef83 19512004-12-02 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1952
1953 PR fortran/18710
1954 * io/transfer.c (unformatted_read, unformatted_write): width of
1955 a COMPLEX is twice its kind.
1956
14ac9144 19572004-12-02 Richard Sandiford <rsandifo@redhat.com>
1958
1959 * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
1960 * configure, aclocal.m4, Makefile.in: Regenerate.
1961
f82543e7 19622004-12-02 Bud Davis <bdavis9659@comcast.net>
1963
1964 PR libfortran/18284
1965 * io/unix.c (fd_alloc_w_at): Update file_length when extending.
1966 * io/backspace.c (formatted_backspace): Reset endfile after backspace.
1967
b0ef000d 19682004-12-02 Bud Davis <bdavis9659@comcast.net>
1969
1970 * io/inquire.c (inquire_via_unit): do not allow a direct access
1971 file to be opened for sequential I/O.
1972
771c1b50 19732004-12-02 Steven G. Kargl <kargls@comcast.net>
1974 Paul Brook <paul@codesourcery.com>
1975
1976 * intrinsics/flush.c: New file.
1977 * intrinsics/fnum.c: ditto
1978 * intrinsics/stat.c: ditto
1979 * io/io.h (unit_to_fd): Add prototype.
1980 * io/unix.c (unit_to_fd): New function.
1981 * configure.ac: Add test for members of struct stat. Check for
1982 sys/types.h and sys/stat.h
1983 * Makefile.am: Add intrinsics/{flush.c,fnum.c,stat.c}
1984 * configure.in: Regenerate.
1985 * config.h.in: Regenerate.
1986 * Makefile.in: Regenerate.
1987
2ff3e0d0 19882004-12-01 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
1989
1990 * Makefile.am (AM_CPPFLAGS): Use -iquote instead of -I.
1991
8ff470b4 19922004-11-28 Bud Davis <bdavis9659@comcast.net>
1993
1994 * io/unix.c (mmap_alloc_w_a): check for a write to a location
1995 less than the mapped area.
1996
d1569769 19972004-11-27 Bud Davis <bdavis9659@comcast.net>
1998
1999 PR fortran/18364
2000 * io/endfile.c (st_endfile): flush the stream before truncating.
2001
7f93fe7a 20022004-11-24 Kelley Cook <kcook@gcc.gnu.org>
2003
2004 * configure: Regenerate for libtool change.
2005
fd48ced8 20062004-11-22 Steven Bosscher <stevenb@suse.de>
2007
2008 PR libfortran/15960
2009 * configure.ac: Check for finite in libm.
2010 * libgfortran.h: Define isfinite macro if not defined.
2011 * intrinsics/c99_functions.c: Use defined(fpclassify) instead of
2012 HAVE_FPCLASSIFY.
2013 * io/write.c (write_float): Use isfinite instead of finite.
2014 * configure, config.h.in: Rebuilt.
2015
f93accb2 20162004-11-20 Roger Sayle <roger@eyesopen.com>
2017
2018 * io/write.c (write_float, list_formatted_write): Fix indentation.
2019
c436f700 20202004-11-20 Eric Botcazou <ebotcazou@libertysurf.fr>
2021
2022 PR target/16135
2023 * acinclude.m4 (LIBGFOR_TARGET_ILP32): New check.
2024 * configure.ac: Include LIBGFOR_TARGET_ILP32.
2025 * configure: Regenerate.
2026 * config.h.in: Likewise.
2027 * libgfortran.h: Provide default definitions for C99 types
2028 on ILP32 targets that don't have them.
2029
2030 PR target/17999
2031 * configure.ac: Check for snprintf.
2032 * configure: Regenerate.
2033 * config.h.in: Likewise.
2034 * intrinsics/date_and_time.c (date_and_time): Do not
2035 use snprinf if it is not available.
2036 * io/write.c (output_float): Likewise.
2037
ab5619bc 20382004-11-20 Steven G. Kargl <kargls@comcast.net>
2039
2040 * Makefile.am: Add intrinsics/{umask.c,unlink.c,exit.c}
2041 * Makefile.in: Regenerated
2042 * intrinsics/umask.c: New file
2043 * intrinsics/unlink.c: ditto
2044 * intrinsics/exit.c: ditto
2045
4e867f90 20462004-11-18 Victor Leikehman <lei@il.ibm.com>
2047
2048 * m4/matmul.m4: Loops reordered to improve cache behavior.
2049 * generated/matmul_??.c: Regenerated.
91a9c151 2050
5e7b82bb 20512004-11-10 Paul Brook <paul@codesourcery.com>
2052
2053 PR fortran/18218
2054 * configure.ac: Check for strtof.
2055 * configure: Regenerate.
2056 * config.h.in: Regenerate.
2057 * io/read.c (convert_real): Use strtof if available.
2058 (convert_precision_real): Remove.
2059 (read_f): Avoid poor exponentiation algorithm.
2060
6d73cceb 20612004-11-05 Andreas Schwab <schwab@suse.de>
2062
2063 * configure.ac: Use AC_PROG_FC, FC and FCFLAGS instead of
2064 AC_PROG_F77, F77 and FFLAGS.
2065 * Makefile.am (selected_int_kind.inc, selected_real_kind.inc): Use
2066 FCCOMPILE instead of F77COMPILE.
2067 * configure, Makefile.in: Regenerate.
2068
6745c9de 20692004-11-05 Kelley Cook <kcook@gcc.gnu.org>
2070
2071 * acinclude.m4: Properly quote AC_CACHE_CHECK.
2072 * Makefile.am: Add in ACLOCAL_AMFLAGS.
2073 * aclocal.m4, configure, Makefile.in: Regenerate.
2074
7dfba97b 20752004-10-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2076
2077 * config.h.in: Regenerate.
2078 * configure: Regenerate.
2079 * configure.ac (AC_CHECK_FUNCS): Add mkstemp.
2080 * io/unix.c (S_IRGRP): Define if undefined.
2081 (S_IWGRP): Same.
2082 (S_IROTH): Same.
2083 (S_IWOTH): Same.
2084 (tempfile): Use mktemp if mkstemp missing, fix typos.
2085
5c4557cb 20862004-10-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2087
2088 * intrinsics/system.c ("libgfortran.h"): Move after system headers.
2089
da1ce3b9 20902004-10-30 Canqun Yang <canqun@nudt.edu.cn>
2091
2092 * intrinsics/rand.c (irand): Handle NULL argument.
2093
15fee5a5 20942004-10-07 Paul Brook <paul@codesourcery.com>
2095
2096 * io/transfer.c (finalize_transfer): Free internal streams.
2097 * io/unix.c (mem_close): Free stream object.
2098
49b60832 20992004-10-07 Paul Brook <paul@codesourcery.com>
2100
2101 * intrinsics/string_intrinsics.c (string_verify): Fix off by one
2102 error.
2103
28a7800c 21042004-10-06 Paul Brook <paul@codesourcery.com>
2105
2106 PR libfortran/17709
2107 * io/transfer.c (data_transfer_init): Reset sf_seen_eor.
2108
23d5c873 21092004-10-04 Andrew Pinski <pinskia@physics.uc.edu>
2110
2111 * intrinsics/mvbits.c: Commit the file.
2112
a965f64a 21132004-10-04 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2114
2115 PR fortran/17283
2116 * intrinsics/pack_generic.c (__pack): Allocate memory for return array
2117 if not done by caller.
2118 (__pack_s): New function.
2119 * runtime/memory.c (internal_malloc, internal_malloc64): Allow
2120 allocating zero memory.
2121
ca5301bf 2122 PR fortran/17631
2123 * Makefile.am (gfor_helper_src): Add intrinsics/mvbits.h.
2124 * Makefile.in: Regenerate.
2125 * intrinsics/mvbits.h: New file.
2126
82bbe4ec 2127 PR fortran/17776
2128 * intrinsics/system.c: New file.
2129 * Makefile.am: Add dependency for the new file.
2130 * Makefile.in: Regenerate.
2131
03be7905 21322004-10-04 Paul Brook <paul@codesourcery.com>
2133 Bud Davis <bdavis9659@comcast.net>
2134
2135 PR fortran/17706
2136 PR fortran/16434
2137 * io/format.c (parse_format_list): Set repeat count for S, SP, SS,
2138 BN and BZ formats.
2139 * io/write.c (output_float): Don't output minus zero.
2140
2679c0b3 21412004-10-03 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2142
2143 * intrinsics/abort.c ("libgfortran.h"): Move.
2144 * intrinsics/date_and_time.c ("libgfortran.h"): Same.
2145 * intrinsics/write.c ("libgfortran.h"): Same.
2146
a2d7a3ff 21472004-09-26 Tobias Schlueter <tobis.schlueter@physik.uni-muenchen.de>
2148
2149 PR libfortran/16137
2150 * config.h.in (HAVE_POWF): Undefine.
2151 * configure.ac: Check for 'powf' in library.
2152 * configure: Regenerate.
2153 * intrinsics/c99_functions.c (powf): New function.
2154
51a22231 21552004-09-24 Tobias Schlueter <tobis.schlueter@physik.uni-muenchen.de>
2156
2157 * intrinsics/etime.c (etime_): New function.
2158
2b573e69 21592004-09-21 Steven G. Kargl <kargls@comcast.net>
2160
2161 * libgfortran.h: define gfc_alloca()
2162 * intrinsics/env.c (getenv, get_environment_variable_i4): Use it.
2163
889dec28 21642004-09-21 Bud Davis <bdavis9659@comcast.net>
2165
2166 PR fortran/17286
91a9c151 2167 * io/list_read.c (namelist_read): ignore spaces after
889dec28 2168 the '=' for namelist reads.
2169
d2455565 21702004-09-15 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2171
2172 * config.h.in: Regenerate.
2173 * configure: Regenerate.
2174 * configure.ac (AC_CHECK_HEADERS): Check for sys/mman.h.
2175 * unix.c: Include stdio.h.
2176 (HAVE_SYS_MMAN_H): Check.
2177 (PROT_READ, PROT_WRITE): Provide default definitions.
2178
5fba3e4c 21792004-09-15 Steven G. Kargl <kargls@comcast.net>
2180
2181 * intrincics/getcwd.c: New file.
2182 * Makefile.am: Add getcwd.c.
2183 * Makefile.in: Regenerated.
2184
3e8b30c1 21852004-09-15 Steven G. Kargl <kargls@comcast.net>
2186 Paul Brook <paul@codesourcery.com>
2187
2188 * intrinsics/env.c (getenv, get_environmental_variable): Remove
a2b4e85d 2189 trailing white space. Use alloca. Honour trim_name.
3e8b30c1 2190
224289f8 21912004-09-13 Bud Davis <bdavis9659@comcast.net>
2192
2193 PR fortran/17090
2194
2195 * io/list_read.c (list_formatted_read): Handle trailing spaces
2196 at end of line.
2197
5db10a84 21982004-09-06 Steven G. Kargl <kargls@comcast.net>
2199
2200 * io/write.c (output_float): Typo in comment. Remove debugging
2201 printf. Fix format for FP of form 1e10.
2202
5ac85af2 22032004-09-03 Richard Henderson <rth@redhat.com>
2204
2205 * intrinsics/cshift0.c (DEF_COPY_LOOP, copy_loop_int, copy_loop_long,
2206 copy_loop_double, copy_loop_ldouble): New.
2207 (__cshift0): Make shift type ssize_t. Use % operator instead of
2208 div. Use specialized versions of copy loop depending on the shape.
2209
75744229 22102004-09-02 Paul Brook <paul@codesourcery.com>
2211
2212 * io/format.c (parse_format_list): Set repeat count for P descriptors.
2213 * write.c (output_float): Fix condition. Correctly handle nonzero
2214 scale factor.
2215
6da9c1a2 22162004-09-01 Eric Botcazou <ebotcazou@libertysurf.fr>
2217
2218 * mk-sik-inc.sh: Use a temporary string instead of 'echo -n'.
2219 * mk-srk-inc.sh: Likewise.
2220
4cab09cb 22212004-09-01 Paul Brook <paul@codesourcery.com>
2222
2223 * runtime/error.c (generate_error): Set both iostat and
2224 library_return.
2225
116a2a74 22262004-08-31 Paul Brook <paul@codesourcery.com>
2227
2228 PR libfortran/16805
2229 * io/list_read.c (next_char): Don't signal EOF for internal files.
2230 * io/unix.c (mem_alloc_r_at): Don't return NULL for incomplete reads.
2231
855a6c29 22322004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2233
2234 * io/unit.c: Separate copyright years by ','.
2235 (compare, insert_unit, delete_unit, is_internal_unit, close_units):
2236 Remove blank line in beginning of function.
2237 (get_unit): Simplify code.
2238
66e99229 22392004-08-31 Paul Brook <paul@codesourcery.com>
2240
2241 * io/unit.c (get_unit): Remove superfluous if.
2242
11de4bf9 22432004-08-31 Paul Brook <paul@codesourcery.com>
2244
2245 * io/transfer.c (read_sf): Rename uinty to readlen. Detect EOF.
2246 (finalize_transfer): Move setjmp after namlist IO.
2247 * io/unix.c (mem_alloc_r_at): Calculate remaining length correctly.
2248
50a9015d 22492004-08-31 Paul Brook <paul@codesourcery.com>
2250
2251 * list_read.c (eat_separator): Set at_eo when a '/' is seen.
2252
9ad09405 22532004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2254
2255 * libgfortran.h: Replace 'gfc_strlen_type' by
2256 'gfc_charlen_type'. Update comment accordingly.
2257 * intrinsics/args.c, intrinsics/env.c, io/io.h, io/transfer.c:
2258 Replace all occurences of 'gfc_strlen_type' by 'gfc_charlen_type'.
2259
b496d698 22602004-08-31 Paul Brook <paul@codesourcery.com>
2261
2262 * libgfortran.h: Add comments.
2263
5d4b6e9c 22642004-08-30 Richard Henderson <rth@redhat.com>
2265
2266 * Makefile.am (gfor_helper_src): Split selected_kind.f90.
2267 (gfor_built_src): Add selected_int_kind.inc selected_real_kind.inc.
2268 (selected_int_kind.inc selected_real_kind.inc): New rules.
2269 * Makefile.in: Regenerate.
2270 * mk-sik-inc.sh, mk-srk-inc.sh: New files.
2271 * intrinsics/selected_int_kind.f90: Split from selected_kind.f90,
2272 include table of detected kinds.
2273 * intrinsics/selected_real_kind.f90: Similarly.
2274
158e0e64 22752004-08-29 Steven G. Kargl <kargls@comcast.net>
2276 Paul Brook <paul@codesourcery.com>
2277
2278 * intrinsics/bessel.c: New file.
2279 * intrinsics/erf.c: New file.
2280 * Makefie.am: Add intrinsics/bessel.c and intrinsics/erf.c.
2281 * configure.ac: Test for C99 Bessel and Error functions.
2282 * Makefile.in: Regenerate.
2283 * config.h.in: Regenerate.
2284 * configure: Regenerate.
2285
adad6c74 22862004-08-29 Steven G. Kargl <kargls@comcast.net>
2287 Paul Brook <paul@codesourcery.com>
2288
2289 * Makefile.am: Add intrinsics/getXid.c.
2290 * configure.ac: Add tests for get{g,p,u}id.
2291 * config.h.in: Regenerate.
2292 * Makefile.in: Regenerate.
2293 * configure: Regenerate.
2294
a2784d66 22952004-08-28 Paul Brook <paul@codesourcery.com>
2296
2297 PR libfortran/17195
2298 * libgfortran.h (rtoa): Remove prototype.
2299 * runtime/error.c (rtoa): Remove.
2300 * io/write.c (calculate_G_format): Don't add blanks if E format is
2301 used. Add correct number of blanks when exponent width is specified.
2302 (output_float): Rewrite.
2303
1907a015 23042004-08-27 Paul Brook <paul@codesourcery.com>
2305
2306 * io/rewind.c (st_rewind): Reset unit to read mode.
2307
95bfa7b3 23082004-08-27 Bud Davis <bdavis9659@comcast.net>
2309
2310 PR fortran/16597
2311 * io/io.h: created typedef for unit_mode.
2312 * io/io.h (gfc_unit): added mode to unit structure.
2313 * io/transfer.c (data_transfer_init): flush if a write then
2314 read is done on a unit (direct access files).
2315 * io/rewind.c (st_rewind): Used unit mode instead of global.
2316
84129158 23172004-08-24 Bud Davis <bdavis9659@comcast.net>
2318
91a9c151 2319 PR fortran/17143
84129158 2320 * runtime/error.c (itoa): keep from overflowing during
ab5619bc 2321 mod operation by using unsigned variable.
84129158 2322
3ce4c8ab 23232004-08-24 Bud Davis <bdavis9659@comcast.net>
2324
2325 PR fortran/17164
2326 * runtime/string_intrinsics.c (string_index):check for
2327 substring longer than string.
2328
f82c63a4 23292004-08-24 David Edelsohn <edelsohn@gnu.org>
2330
2331 * Makefile.am (libgfortran_la_LDFLAGS): Add -lm.
2332 * Makefile.in: Rebuilt.
2333
6e6d22aa 23342004-08-23 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2335
2336 * io/io.h, io/list_read.c, io/open.c, io/transfer.c, io/write.c:
2337 Fix formatting issues, update copyright years.
2338
ee5b281c 23392004-08-21 Bud Davis <bdavis9659@comcast.net>
2340
2341 PR 16908
2342 * io/transfer.c (next_record_w): Do not blank pad.
2343 * io/transfer.c (next_record): Take into account partial records.
2344
2cd58ad7 23452004-08-18 Victor Leikehman <lei@il.ibm.com>
2346
2347 PR fortran/13278
2348 * io/transfer.c (st_set_nml_var)
2349 * io/write.c (namelist_write): Allow var_name and var_name_len to be
2350 null. For strings, use string_length field instead of len.
2351 * io/io.h (struct namelist_type): New field string_length.
2352 (st_set_nml_var_char): New argument string_length.
2353
d01f196e 23542004-08-13 Bud Davis <bdavis9659@comcast.net>
2355
98e5a478 2356 PR gfortran/16935
d01f196e 2357 * io/open.c (st_open): use flags instead of the unit structure.
2358
357fae51 23592004-08-10 Victor Leikehman <lei@il.ibm.com>
2360
2361 * io/list_read.c (namelist_read): Convert variable names
2362 to lower case, so that mixed-case names are recognized.
2363 Don't read beyond terminating slash.
2364
b0cb0fad 23652004-08-09 Richard Henderson <rth@redhat.com>
2366 Roger Sayle <roger@eyesopen.com>
2367
2368 * intrinsics/c99_functions.c (nextafterf): New implementation that
2369 works correctly with denormalized numbers.
2370
23712004-08-09 Victor Leikehman <lei@il.ibm.com>
4a43abf4 2372
2373 * m4/matmul.m4, m4/matmull.m4, intrinsics/eoshift0.c,
2374 intrinsics/eoshift2.c, intrinsics/transpose_generic.c:
2375 Allocate space if return value has NULL in its data field.
2376 * generated/*.c: Regenerate.
2377
96901ab7 23782004-08-06 Janne Blomqvist <jblomqvi@cc.hut.fi>
2379
2380 * intrinsics/env.c: New file.
2381 * Makefile.am: Add env.c to build.
2382 * Makefile.in: Regenerate.
2383
31d1d680 23842004-08-05 Victor Leikehman <lei@il.ibm.com>
2385
2386 PR libgfortran/16704
2387 * io/read.c (read_radix): Understand letters f and F as hex digits.
2388
5fcc57ce 23892004-08-04 Victor Leikehman <lei@il.ibm.com>
2390
2391 * libgfortran.h (array_t, size0) New declarations.
2392 * m4/ifunction.m4, m4/transpose.m4, intrinsics/cshift0.c: Allocate
2393 space if return value descriptor has NULL in its data field,
2394 and initialize bounds and stride.
2395 * intrinsics/size.c (array_t, size0): Declarations moved to
2396 libgfortran.h.
2397 * generated/*.c: Regenerate.
2398
8f838781 23992004-08-03 Roger Sayle <roger@eyesopen.com>
2400
2401 PR libgfortran/16137
2402 * configure.ac: Add tests for acosf, asinf, atan2f, atanf, ceilf,
2403 copysignf, cosf, coshf, expf, floorf, frexpf, hypotf, logf, log10f,
2404 scalbnf, sinf, sinhf, sqrtf, tanf and tanhf in libm.
2405 * config.h.in: Regenerate.
2406 * configure: Regenerate.
2407
2408 * instrinsics/c99_functions.c (acosf, asinf, atan2f, atanf, ceilf,
2409 copysignf, cosf, coshf, expf, floorf, frexpf, hypotf, logf, log10f,
2410 nextafterf, scalbnf, sinf, sinhf, sqrtf, tanf, tanhf): New stub
2411 implementations for targets that don't support C99 float functions.
2412
cfe95071 24132004-08-01 Roger Sayle <roger@eyesopen.com>
2414
2415 * io/write.c (write_float): Use the slightly more portable isnan
2416 in preference to isinf.
2417
90e67cff 24182004-07-18 Bud Davis <bdavis9659@comcast.net>
2419
91a9c151 2420 * configure.ac: Add check for LFS support.
90e67cff 2421 * configure: Regenerate
2422
9af8256d 24232004-07-11 Paul Brook <paul@codesourcery.com>
2424
2425 PR fortran/16303
2426 * m4/cexp.m4 (carg): Return -pi to pi.
2427 * generated/exp_c?.c: Regenerate.
2428
5f0e8562 24292004-07-08 Andreas Krebbel <krebbel1@de.ibm.com>
2430
2431 PR fortran/16291
2432 * libgfortran/io/write.c: (write_float): Added length check.
2433 Remove pointless memset calls.
2434
5a78b88f 24352004-07-04 Bud Davis <bdavis9659@comcast.net>
2436 Paul Brook <paul@codesourcery.com>
2437
2438 PR fortran/15472
2439 * io/transfer.c(us_write): set recl for seq unform writes to max size.
2440 * io/transfer.c(data_transfer_init): handle un-opened seq unform unit.
91a9c151 2441 * io/unix.c(fd_alloc_w_at): handle requests at start, fd_flush at
5f0e8562 2442 right time.
5a78b88f 2443 * io/unix.c(is_seekable): set based upon the file/device, not the
5f0e8562 2444 method being used to access it (fd or mmap).
5a78b88f 2445 * io/unix.c(fd_flush): don't set file_size if !seekable.
2446 * io/unix.c(fd_truncate: ditto.
2447
9b057c29 24482004-07-04 Janne Blomqvist <jblomqvi@cc.hut.fi>
2449 Paul Brook <paul@codesourcery.com>
2450
2451 PR fortran/15280
2452 PR fortran/15665
2453 * libgfortran.h (gfc_strlen_type): Define.
2454 * intrinsics/args.c (getarg): Rename ...
2455 (getarg_i4): ... to this.
2456 (getarg_i8, get_command_argument_i4, get_command_argument_i8,
2457 get_command_i4, get_command_i8): New functions.
2458
e6584517 24592004-07-04 Matthias Klose <doko@debian.org>
2460
2461 * libtool-version: New.
2462 * Makefile.am (libgfortran_la_LDFLAGS): Use -version-info for soname.
2463 * Makefile.in: Regenerate.
2464 * configure.ac: Remove libtool_VERSION macro
2465 * configure: Regenerate
2466
bfe8c1cc 24672004-06-30 Steve Kargl <sgk@troutmask.apl.washington.edu>
2468 Steven Bosscher <stevenb@suse.de>
2469
2470 * intrinsics/rand.c (rand): Wrap the irand() call from the previous
2471 commit in prefix.
2472
8acd5836 24732004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2474 Paul Brook <paul@codesourcery.com>
2475
2476 * runtime/normalize.c (normalize_r4_i4, normalize_r8_i8): Fix
2477 comments.
2478 * intrinsics/rand.c (rand): Call irand() in call to normalize_r4_i4.
2479
2007e93c 24802004-06-27 Bud Davis <bdavis9659@comcast.net>
2481
2482 PR gfortran/12839
2483 * io/write.c (write_float): check signbit for Infinity.
2484
3f4f29f6 24852004-06-26 Bud Davis <bdavis9659@comcast.net>
2486
2487 PR gfortran/16196
2488 * unix.c(regular_file): create file if it does not exist.
2489
01175c2b 24902004-06-24 Andrew Pinski <apinski@apple.com>
2491
2492 * configure.ac: Remove check for libmx.
2493 * configure: Regenerate.
2494
6799e2f8 24952004-06-22 Janne Blomqvist <jblomqvi@cc.hut.fi>
2496
2497 PR fortran/15750
2498 * inquire.c (st_inquire): Add comment
2499 * io.h (st_parameter): Add iolength.
2500 (st_iolength, st_iolength_done): Declare.
2501 * transfer.c (iolength_transfer, iolength_transfer_init,
2502 st_iolength, st_iolength_done): New functions.
2503
b05bdd9e 25042004-06-21 Steven G. Kargl <kargls@comcast.net>
2505
2506 * etime.c (etime_sub): Remove array rank check;
2507 Add check for sufficient space.
2508
97e1f412 25092004-06-19 Bud Davis <bdavis9659@comcast.net>
2510
2511 PR gfortran/16080
2512 * io/list_read.c(set_value): fixed spelling.
2513
9beaf540 25142004-06-19 Bud Davis <bdavis9659@comcast.net>
2515
2516 PR gfortran/16080
2517 * io/list_read.c(set_value): don't copy if the string is null.
2518
79202f2e 25192004-06-14 Bud Davis <bdavis9659@comcast.net>
2520
2521 PR gfortran/15292
2522 * intrinsics/c99_functions.c: Use fpclassify if it exists.
2523
4db2deda 25242004-06-13 Paul Brook <paul@codesourcery.com>
2525
2526 * Makefile.am (gfor_helper_src): Add runtime/normalize.f90.
2527 * configure.ac: Add checks for nextafter and nextafterf.
2528 * Makefile.in, config.h.in, configure: Regenerate.
2529 * libgfortran.h (normalize_r4_i4, normalize_r8_i8): Declare.
2530 * intrinsics/rand.c (rand): Use normalize_r4_i4.
2531 * intrinsics/random.c (random_r4): Use normalize_r4_i4.
2532 (random_r8): Use normalize_r8_i8.
2533 * runtime/normalize.c: New file.
2534
3cc4fffd 25352004-06-13 Steven G. Kargl <kargls@comcast.net>
2536 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2537
91a9c151 2538 * random.c: Fix several spelling and formatting mistakes in
3cc4fffd 2539 comments.
2540 (random_r8): Fix loop to make random numbers range in [0,1(.
91a9c151 2541
3cc4fffd 2542
b0fb613e 25432004-06-13 Steven G. Kargl <kargls@comcast.net>
2544
2545 * random.c (random_r4): Burn a random number.
2546 (random_r8): fix infinite loop.
91a9c151 2547
b0fb613e 25482004-06-12 Bud Davis <bdavis9659@comcast.net>
9f52a98e 2549 Steve Kargl <sgk@troutmask.apl.washington.edu>
a31bd8a4 2550
2551 PR gfortran/15292
2552 * intrinsics/c99_functions.c: New file.
2553 * Makefile.am: Add new file.
2554 * configure.ac: Added test for round/roundf.
2555 * Makefile.in: Regenerate.
2556 * configure: Regenerate.
2557 * configure.h.in: Regenerate.
2558
041de113 25592004-06-12 Steven G. Kargl <kargls@comcast.net>
2560
2561 * Makefile.am: Add rand.c and etime.c
2562 * Makefile.in: Regenerated.
2563 * aclocal.in: Regenerated.
2564 * cpu_time.c (second_sub, second): New functions.
2565 * rand.c (irand, rand, srand): New file.
2566 * etime.c (etime_sub, etime): New file.
2567
8db86b90 25682004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2569 Steven Bosscher <stevenb@suse.de>
2570
2571 PR fortran/14923
2572 * intrinsics/date_and_time.c: New file.
2573 * Makefile.am (gfor_helper_src): Add intrinsics/date_and_time.c.
2574 * Makefile.in, aclocal.m4: Regenerate.
2575 * libgfortran.h: Prototype date_and_time().
2576
987727ef 25772004-06-12 Bud Davis <bdavis9659@comcast.net>
2578
09714a6b 2579 PR fortran/15665
987727ef 2580 * intrinsics/args.c: Implement GETARG and IARGC.
2581 * Makefile.am: Add it.
2582 * Makefile.in: Regenerate.
2583
b77066d3 25842004-06-12 Bud Davis <bdavis9659@comcast.net>
2585
2586 PR gfortran/12839
987727ef 2587 * io/write.c(write_float): Format inf and nan IAW F2003.
b77066d3 2588
1859083b 25892004-06-09 Bud Davis <bdavis9659@comcaste.net>
2590
2591 PR gfortran/14897
2592 * io/transfer.c (formatted_transfer): position is unique
ab5619bc 2593 for T and TL edit descriptors.
987727ef 2594 (data_transfer_init): set record length to size of internal
ab5619bc 2595 file.
1859083b 2596
74b0c8a0 25972004-06-09 Bud Davis <bdavis9659@comcast.net>
2598
2599 PR gfortran/15755
2600 * io/backspace.c(st_backspace): call correct routine for
2601 formatted and un-formatted units.
2602
90973b19 26032004-05-30 Andreas Jaeger <aj@suse.de>, Steven Bosscher <stevenb@suse.de>
2604
2605 PR gfortran/11800
2606 * Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
2607 (lib_LTLIBRARIES): Rename to ...
2608 (toolexeclib_LTLIBRARIES): this for multilib support.
2609 * configure.in: Rename to ...
2610 * configure.ac: this. Update to modern autoconf style, enable
2611 multilibs, support --enable-version-specific-runtime-libs.
2612 * Makefile.in: Regenerated.
2613 * configure: Regenerated.
2614 * aclocal.m4: Regenerated.
2615
f36ac248 26162004-05-30 Steven G. Kargl <kargls@comcast.net>
2617
2618 * libgfortran.h (random_seed): Update prototype.
2619 * intrinsics/random.c: Disable old implementation and add new one.
2620
fbce28bc 26212004-05-30 Andreas Jaeger <aj@suse.de>
2622
2623 * intrinsics/random.c: Include unistd.h for close and read
2624 prototypes, remove unneeded inclusion of assert.h.
2625
2626 * intrinsics/abort.c: Include stdlib.h for abort prototype, remove
2627 unneeded inclusion of assert.h.
2628
62aeabf1 26292004-05-27 Tobias Schlueter <tobias.shclueter@physik.uni-muenchen.de>
2630
2631 PR fortran/15234
2632 * intrinsics/associated.c: Remove enum.
2633 (associated): Replace TRUE/FALSE by 1/0.
2634
f0583647 26352004-05-23 Steven G. Kargl <kargls@comcast.net>
2636
2637 * random.c (random_seed): Use correct variable.
2638
3db98e11 26392004-05-22 Steven G. Kargl <kargls@comcast.net>
2640
2641 * intrinsics/system_clock: New file.
2642 * Makefile.am: Add intrinsics/system_clock.c.
2643 * Makefile.in: Regenerate.
2644
61fa81cc 26452004-05-21 Roger Sayle <roger@eyesopen.com>
2646
2647 * io/format.c (parse_format_list): Allow the comma after a string
2648 literal to be optional.
2649
76834664 26502004-05-18 Paul Brook <paul@codesourcery.com>
4dd8c9c9 2651 Feng Wang <fengwang@nudt.edu.cn>
76834664 2652
2653 * Makefile.am (i_pow_c): Set it. Add build rule.
2654 (gfor_built_src): Use it.
2655 (m4_files): add m4/pow.m4.
2656 * Makefile.in: Regenerate.
2657 * m4/pow.m4: New file.
2658 * generated/pow_*.c: Regenerate.
2659
cdafa1f6 26602004-05-18 Paul Brook <paul@codesourcery.com>
2661
2662 * Makefile.am: Remove references to types.m4.
2663 * m4/iparm.m4: Merge with types.m4.
2664 * m4/types.m4: Remove.
2665 * m4/cshift1.m4, m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4,
2666 m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4, m4/ifunction.m4,
2667 m4/in_pack.m4, m4/in_unpack.m4, m4/iparm.m4, m4/matmul.m4,
2668 m4/matmull.m4, m4/maxloc0.m4, m4/maxloc1.m4, m4/maxval.m4,
2669 m4/minloc0.m4, m4/minloc1.m4, m4/minval.m4, m4/reshape.m4,
2670 m4/shape.m4, m4/specific.m4, m4/specific2.m4, m4/transpose.m4):
2671 Update to use new iparm.m4.
2672 * generated/*.c: Regenerate.
2673
b093181d 26742004-05-18 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2675
2676 PR fortran/15235
2677 * gfortran.h (offset_t): Rename to ...
2678 (gfc_offset): ... this.
2679 * io/backspace.c (formatted_backspace, unformatted_backspace),
2680 io/io.h (stream, gfc_unit, global_t, file_length, file_position),
2681 transfer.c (us_read, us_write, next_record_r, next_record_w),
2682 io/unit.c (init_units), unix.c (unix_stream, fd_alloc,
2683 fd_alloc_r_at, fd_alloc_w_at, fd_seek, mmap_alloc,
2684 mmap_alloc_r_at, mmap_alloc_w_at, mmap_seek, mem_alloc_r_at,
2685 mem_alloc_w_at, mem_seek, file_length, file_position): Replace all
2686 occurences of offset_t by gfc_offset.
2687
a2557d64 26882004-05-16 Paul Brook <paul@codesourcery.com>
2689
2690 * io/format.c (write_real): Don't include padding in format.
2691
80f87fd5 26922004-05-16 Paul Brook <paul@codesourcery.com>
2693
2694 * io/format.c (format_lex): Make c an int.
2695
31b1f24d 26962004-05-16 Janne Blomqvist <jblomqvi@cc.hut.fi>
2697 Paul Brook <paul@codesourcery.com>
2698
2699 * io/write.c (write_logical): Don't print extra blank.
2700 (write_integer): Base field width on kind.
2701 (list_formatted_write): Output initial blank.
2702
b0342e98 27032004-05-16 Janne Blomqvist <jblomqvi@cc.hut.fi>
2704
2705 * io/io.h (flush): Add prototype.
2706 * io/transfer.c (finalize_transfer): Flush partial records.
2707 * io/unix.c (flush): New function.
2708
f02dd226 27092004-05-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2710
2711 PR fortran/15234
2712 * io/io.h (unit_t): Rename to ...
2713 (gfc_unit) ... this.
2714 (unit_root, current_unit, find_file, find_unit, get_unit): Now
2715 of type gfc_unit.
2716 (delete_file, insert_unit, close_unit): Argument now of type
2717 gfc_unit.
2718 * backspace.c (st_backspace), close.c (st_close), endfile.c
2719 (st_endfile), inquire.c (inquire_via_unit, st_inquire), open.c
2720 (test_endfile, edit_modes, new_unit, already_open, st_open),
2721 rewind.c (st_rewind), transfer.c (current_unit), unit.c
2722 (internal_unit, unit_cache, rotate_left, rotate_right, insert,
2723 insert_unit, delete_root, delete_treap, delete_unit, find_unit,
2724 get_unit, init_units, close_unit), unix.c (find_file0,
2725 find_file, delete_file): Replace all occurences of unit_t by
2726 gfc_unit.
2727
85f987da 27282004-05-15 Bud Davis <bdavis9659@comcast.net>
2729
2730 PR fortran/15311
2731 * io/write.c (write_a): right justify A edit output.
2732
d694eb47 27332004-05-14 Bud Davis <bdavis9659@comcast.net>
2734
2735 PR fortran/15149
2736 * libgfortan.h,intrinsics/random.c: Made random_seed visible.
2737 * runtime/main.c(init): Call random_seed as part of MAIN init.
2738
bdaea730 27392004-05-13 Tobias Schlter <tobias.schlueter@physik.uni-muenchen.de>
1dad1fa1 2740
2741 * io/format.c: (parse_format_list): No comma is required after
2742 P descriptor.
2743
2d89dccd 27442004-05-13 Bud Davis <bdavis9659@comcast.net>
2745
54679705 2746 PR fortran/15204
2747 * io/intrinsic/string_intrinsics.c (adjustr): rework logic.
2d89dccd 2748
4ee9c684 27492004-05-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2750 Steven Bosscher <stevenb@suse.de>
2751
2752 PR libfortran/15234
2753 * libgfortran.h: Include <inttypes.h> if available.
2754
27552004-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2756
2757 * io/unix.c (MAP_FAILED): Define if missing.
2758 (mmap_alloc): Cast MAP_FAILED to char *.
2759 (mmap_open): Likewise.
2760
27612004-04-26 Bud Davis <bdavis9659@comcast.net>
2762
2763 * generated/_abs_i8.f90: New file.
2764 * generated/_abs_c4.f90: New file.
2765 * generated/_abs_c8.f90: New file.
2766 * Makefile.am: Add them.
2767 * Makefile.in: Regenerate.
2768`
27692004-04-26 Bud Davis <bdavis9659@comcast.net>
2770
2771 PR fortran/14056
2772 * generated/_abs_i4.f90: New file.
2773 * Makefile.am: Add it.
2774 * Makefile.in: Regenerate.
2775
27762004-04-25 Bud Davis <bdavis9659@comcast.net>
2777
2778 PR fortran/14942
2779 * io/list_read.c(list_formatted_read): finish consuming the
2780 spaces and seperators at eoln to get ready for next item.
2781
27822004-04-23 Bud Davis <bdavis9659@comcast.net>
2783
2784 PR fortran/15113
2785 * io/read.c(read_a): Handle field width > destination and no field width.
2786
27872004-04-22 Bud Davis <bdavis9659@comcast.net>
2788
2789 PR fortran/14906
2790 * io/format.c (format_item): gracefully handle a ')'
ab5619bc 2791 when it is the first character encountered in the string.
4ee9c684 2792
27932004-04-11 Bud Davis <bdavis9659@comcast.net>
2794
2795 PR fortran/14904
2796 * io/transfer.c (next_record): Update last_record when
2797 more than one record is written to a direct access file
2798 with one write statement.
2799
28002004-04-11 Bud Davis <bdavis9659@comcast.net>
2801
2802 PR fortran/14901
2803 * io/transfer.c (next_record_w) : No '\n' if internal.
2804 * io/unix.c (empty_internal_buffer) : Init to spaces, not '\n'.
2805
28062004-04-11 Bud Davis <bdavis9659@comcast.net>
2807
2808 * io.h (ioparm): Interface from FE is 32 bit, irregardless of offset_t.
2809 Will need to change this later to support direct access files > 2gb.
2810
28112004-04-03 Bud Davis <bdavis9659@comcast.net>
2812
2813 PR gfortran/14762
2814 * io/transfer.c (next_record_r) : Skip to next record.
2815
28162004-04-03 Bud Davis <bdavis9659@comcast.net>
2817
2818 PR gfortran/14836
2819 * io/transfer.c (next_record): Update last_record for DIRECT
2820
28212004-04-03 Bud Davis <bdavis9659@comcast.net>
2822
2823 PR gfortran/14837
2824 * io/unix.c (find_file0): Use fd field of struct
2825
28262004-04-03 Bud Davis <bdavis9659@comcast.net>
fbce28bc 2827
4ee9c684 2828 PR 14831
2829 * io/inquire.c (inquire_via_unit): Changed return string for
2830 BLANK=NULL. Use correct variable for ACTION.
2831
28322004-04-01 Bud Davis <bdavis9659@comcast.net>
2833
2834 PR 14746
2835 * io/read.c (read_f): Allow a decimal without a leading digit.
2836 * io/write.c (output_float): remove a leading '0' to keep from
2837 overflowing the field (F edit descriptor).
2838
28392004-04-01 Bud Davis <bdavis9659@comcast.net>
2840
2841 PR gfortran/14565
2842 * io/open.c (new_unit),
2843 * io/io.h : new_unit is now visible
2844 * io/transfer.c (data_transfer_init): open unit if no OPEN statement.
2845 * io/transfer.c (data_transfer_init): remove compile warnings.
2846 * io/rewind.c (st_rewind): ftruncate if writing.
2847
28482004-03-24 Bud Davis <bdavis9659@comcast.net>
2849
2850 * write.c (write_l): Use extract_int for 'L' edit descriptor.
2851
28522004-03-24 Bud Davis <bdavis9659@comcast.net>
2853
2854 PR 13919
2855 * io/io.h (global_t):
2856 * io/list_read.c (next_char,list_formatted_read,ist_formatted_read):
ab5619bc 2857 Move eof_jmp to a global structure.
4ee9c684 2858 * io/transfer.c(finalize_transfer) : Set up eof_jump for callers.
2859
28602004-03-24 Bud Davis <bdavis9659@comcast.net>
2861
2862 * m4/cexp.m4 (csqrt): Actually use the passed value.
2863 * generated/exp_c?.c: Regenerate.
2864
28652004-03-24 Bud Davis <bdavis9659@comcast.net>
2866
2867 PR 12921
2868 * io.h, transfer.c, open.c : recl_in changed from ptr to variable.
2869 * open.c (new_unit): Moved test for positioned direct access error.
2870 (init_units): Corrected calculation of max records.
2871
28722004-02-06 Feng Wang <fengwang@nudt.edu.cn>
2873
2874 * Makefile.am: Add m4/dotprodc.m4. And fix spelling.
2875 * Makefile.in: Regenerate.
2876 * m4/dotprodc.m4: New file. Implement complex dot_product.
2877 * m4/dotprod.m4: Delete the complex implementation.
2878 * generated/dotprod_*: Update.
2879
28802004-02-07 Bud Davis <bdavis9659@comcast.net>
2881
2882 * transfer.c (write_constant_string): Do not delete H's in hollerith
2883 formats.
2884
28852004-01-05 Andrew Pinski <apinski@apple.com>
2886
2887 * configure.in: Check for csin in -lmx also.
2888 * configure: Regenerate.
2889
28902004-01-01 Paul Brook <paul@codesourcery.com>
2891
2892 * io/list_read.c (find_nml_node): Make static.
2893 (match_namelist_name): Ditto.
2894 * io/read.c (convert_precision_real): Make static, fix spelling.
2895 * io/transfer.c (extract_real): Remove unused prototype.
2896 (st_set_nml_var): Make static.
2897 * io/write.c (extract_real): Make static.
2898
28992003-12-12 Huang Chun <chunhuang73@hotmal.com>
2900
2901 * intrinsics/string_intrinsics.c (string_index): Fix logics thinko.
2902
29032003-12-05 Melvin Hadasht <melvin.hadasht@free.fr>
2904
2905 * io/transfer.c (data_transfer_init): Give a runtime error for list
2906 formatted reads and writes from/to files opened for unformatted IO.
2907
29082003-11-30 Paul Brook <paul@nowt.org>
2909
2910 * runtime/memory.c (push_context): Remove.
2911 (pop_context): Remove.
2912 * libgfortran.h: Remove prototypes.
2913
29142003-11-27 Paul Brook <paul@nowt.org>
2915
2916 * runtime/memory.c (deallocate): Nullify pointer after freeing.
2917
29182003-11-27 Paul Brook <paul@nowt.org>
2919
2920 * intrinsics/string_intrinsics.c: Use new memory allocation interface.
2921 * libgfortran.h: Ditto.
2922 * m4/in_pack.m4: Ditto.
2923 * runtime/in_pack_generic.c: Ditto.
2924 * runtime/memory.c: Ditto.
2925
29262003-11-26 Richard Henderson <rth@redhat.com>
2927
2928 * m4/exponent.m4, m4/fraction.m4: New.
2929 * m4/nearest.m4, m4/set_exponent.m4: New.
2930 * generated/*: Update.
2931 * Makefile.am: Add them.
2932 (AM_CFLAGS): New. Use -std=gnu99.
2933 * Makefile.in: Regenerate.
2934
29352003-11-08 Paul Brook <paul@nowt.org>
2936
2937 PR fortran/12704
2938 * m4/maxloc0.m4: Use default value of 1. Handle zero sized arrays.
2939 * m4/maxloc1.m4: Ditto.
2940 * m4/minloc0.m4: Ditto.
2941 * m4/minloc1.m4: Ditto.
2942 * m4/ifunction.m4: Set return value for zero sized arrays.
2943 * m4/iforeach.m4: Ditto.
fbce28bc 2944 * m4/all.m4, m4/any.m4, m4/count.m4, m4/maxloc1.m4, m4/minloc1.m4,
4ee9c684 2945 m4/mxaval.m4, m4/minval.m4, m4/product.m4, m4/sum.m4: Ditto.
2946 * generated/*: Update.
2947
29482003-10-30 Toon Moene <toon@moene.indiv.nluug.nl>
2949
2950 PR fortran/12702
2951 * io/list_read.c (eat_spaces): Treat tab as space.
2952
29532003-10-30 Lars Segerlund <Lars.Segerlund@comsys.se>
2954
2955 * intrinsics/random.c: Add reference to paper containing algorithm.
2956 (random_seed): Extra error checking and proper handling of arrays.
2957 (arandom_r4, arandom_r8): Implement.
2958
29592003-10-29 Toon Moene <toon@moene.indiv.nluug.nl>
2960
2961 PR fortran/12703
2962 * runtime/memory.c (allocate_size): Allow allocation
2963 of zero-sized objects.
2964
29652003-10-29 Toon Moene <toon@moene.indiv.nluug.nl>
2966
2967 PR fortran/12701
2968 * open.c (new_unit): Open without a file name opens
2969 a file with name fort.<unit>.
2970
29712003-10-12 Feng Wang <wf_cs@yahoo.com>
2972
2973 * intrinsics/cshift0.c: New file.
2974 * m4/cshift1.m4: New file
2975 * generated/cshift*.c: New files.
2976 * Makefile.am: Add them.
2977 * Makefile.in: Regenerate.
2978
29792003-10-12 XiaoQiang Zhang <zhangapache@yahoo.com>
2980
2981 * io/list_read.c (read_character): Remove unwanted call to free_saved.
2982
29832003-10-11 Huang Chun <jiwang@mail.edu.cn>
2984
2985 * intrinsics/string_intrinsics.c (string_trim): New function.
2986 (string_repeat): New function.
2987
29882003-10-11 Paul Brook <paul@nowt.org>
2989
2990 * intrinsics/dprod_r8.f90: New file.
2991 * Makefile.am (gfor_specific_src): Add it.
2992 (gfor_built_specific_src): Rename from gfor_build_specific_c.
2993 Add new intrinsics.
2994 (gfor_specific2_src): Rename from gfor_built_specific2_c.
2995 Add new intrinsics.
2996 * Makefile.in: Regenerate.
2997 * generated/_aint_*.f90: New files.
2998 * generated/_anint*.f90: New files.
2999 * generated/_atan2*.f90: New files.
3000 * generated/_mod*.f90: New files.
3001
30022003-09-20 Kejia Zhao <kejia_zh@yahoo.com.cn>
fbce28bc 3003
4ee9c684 3004 * intrinsics/selected_kind.f90: New file.
3005 * Makefile.am: Add it.
3006 * Makefile.in: regenerate.
3007
30082003-09-19 Lars Segerlund <Lars.Segerlund@comsys.se>
3009 Paul Brook <paul@nowt.org>
3010
3011 * intrinsics/random.c: New file.
3012 * Makefile.am (gfor_hemper_src): Add it.
3013 (gfor_specific_c): Fix typo.
3014
30152003-09-19 Paul Brook <paul@nowt.org>
3016
3017 * All: rename g95->gfc.
3018
30192003-09-18 XiaoQiang Zhang <zhangapache@yahoo.com>
3020
3021 * io/write.c (output_float): Fix bug of FMT_E, Add comments.
3022
30232003-09-09 XiaoQiang Zhang <zhangapache@yahoo.com>
3024
3025 * io/write.c (write_float): Dectection of positive infinite number,
3026 Not a Number(NaN) and negative infinite number.
3027 (ioutput_float): Bug fix for FMT_E and FMT_D processing to
3028 output a very_very small number ( < 0.1e-100 ).
3029
30302003-09-07 XiaoQiang Zhang <zhangapache@yahoo.com>
3031
3032 * libgfortran.h (xtoa, itoa): Parameter modified.
3033 * io/io.h (namelist_info): Declaration to support namelist I/O
3034 (st_parameter): Add namelist related component
fbce28bc 3035 (ionml, empty_internal_buffer, st_set_nml_var_int,
4ee9c684 3036 st_set_nml_var_float, st_set_nml_var_char, st_set_nml_var_complex,
3037 st_set_nml_var_log): Declaration
3038 (set_integer, set_integer): Parameter changed
3039 * io/format.c (free_nodes): Fix annoying bug of lefting "deallocated"
3040 fnodes
3041 (parse_format_list): Fix bug about FMT_SLASH
3042 * io/list_read.c (push_char): Totally clear old saved_string, zeroize
3043 newly allocated saved_string
3044 (next_char): Add detection of End_Of_Line support
3045 (convert_integer): Now can process 64 bits interger
3046 (read_real): Bug fixed
fbce28bc 3047 (init_at_eol, find_nml_node, match_namelist_name): Add new functions
4ee9c684 3048 (match_namelist_name): New implemention
3049 * io/lock.c (ionml): New global variable
3050 (library_end): Free memory in ionml
3051 * io/open.c (st_open): Variable initializtion
3052 * io/read.c (max_value): 64 bits interger support
3053 (convert_precsion_real): New procedure to replace "strtod" with more
3054 features
3055 (read_f, read_radix): Input bug fix
3056 * io/transfer.c: (sf_seen_eor): New static variable
fbce28bc 3057 (read_sf): Zeroize base buffer; fix bugs: single read statement can
4ee9c684 3058 not get input in mutli line when read from stdin
3059 (formatted_transfer): Fix bug of FMT_O, FMT_B, FMT_Z for INTEGER type
3060 request
fbce28bc 3061 (data_transfer_init): Clear internal buffer for Internel File I/O.
4ee9c684 3062 Internal File now worked. Detect some error condition for namelist.
3063 Some minor bug fix
3064 (next_record_w): Internal file and Namelist I/O support.
3065 (st_set_nml_var, st_set_nml_var_float, st_set_nml_var_char,
3066 st_set_nml_var_complex, st_set_nml_var_log): Implemention.
3067 * io/unit.c (implicit_unit): Deletion
3068 (get_unit): Now cannot open a unit implicitly.
3069 * io/unix.c (mmap_alloc): Fix fatal error in calculating the length of
3070 mapped buffer.
3071 (mem_alloc_r_at): Internal file I/O support added
3072 (empty_internal_buffer): New function
3073 * io/write.c (extract_int): Support 64 bits interger processing
3074 (output_float): Varibale initialization
3075 (write_float): Infinite real number detection.
3076 (write_int): 64 bits integer I/O support
3077 (write_decimal): New function to output decimal number
3078 (otoa, btoa): Better implemention and 64 bits interger support
3079 (namelist_write): New function
fbce28bc 3080 * runtime/error.c (itoa, xtoa): Better implemention and 64 bits
4ee9c684 3081 interger support
3082
30832003-08-15 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
3084
3085 * libgfortran.h (os_error, runtime_error,internal_error, sys_exit,
3086 get_mem ): Add attribute.
3087 * intrinsics/spread_generic.c (__spread): Fix spelling.
3088 * io/inquire.c (inquire_via_filename): Add const.
3089 * io/io.h (sys_exit): Add attribute.
3090 * io/io.h (move_pos_offset): Add move_pos_offset.
3091 * io/io.h (compare_file_filename, inquire_sequential, inquire_direct,
3092 inquire_formatted, inquire_unformatted, inquire_read, inquire_write,
3093 inquire_readwrite, convert_real, write_a, write_b, write_d, write_e,
3094 write_en, write_es, write_f, write_i, write_l, write_o, write_x,
3095 write_z): Add const.
3096 * io/read.c (convert_real): Add const.
3097 * io/transfer.c (type_name): Add const.
3098 * io/unix.c (unpack_filename, compare_file_filename,inquire_sequential,
3099 inquire_direct, inquire_formatted, inquire_unformatted, inquire_access,
3100 inquire_read, inquire_write, inquire_readwrite): Add const.
3101 * io/write.c (output_float): Remove unused variable.
3102 * io/write.c (write_a, extract_int, extract_real, output_float,
3103 write_float, write_int, write_i, write_b, write_o, write_z, write_d,
3104 write_e, write_f, write_en, write_es, write_logical, write_integer,
3105 write_character, write_real, write_complex): Add const.
3106 * runtime/error.c (rtoa): Remove unused variable.
3107 * runtime/select.c (select_string): Add const.
3108 * runtime/stop.c (stop_string): Add const.
3109
31102003-08-10 Paul Brook <paul@nowt.org>
3111
3112 * Makefile.am (gfor_helper_src): Add intrinsics/abort.c.
3113 (FFLAGS): Add -fno-underscoring.
3114 * Makefile.in: Regenerate.
3115 * intrinsics/abort.c: New file.
3116
31172003-08-10 Erik Schnetter <schnetter@uni-tuebingen.de>
3118
3119 * fmain.c (main): Do not call init and cleanup; call set_args instead.
3120 * libgfortran.h (init, cleanup): Remove declarations.
3121 (set_args): Add declaration.
3122 * runtime/main.c (init, cleanup): Make them static, and give them
3123 the constructor and destructor attributes.
3124 (set_args): New function.
3125
31262003-08-10 Paul Brook <paul@nowt.org>
3127
3128 * intrinsics/strinf_intrinsics.c (compare_string): Return value based
3129 on which string is longest.
3130
31312003-08-10 Paul Brook <paul@nowt.org>
3132
3133 * Makefile.am (EXTRA_DIST): Remove old files.
3134 * Makefile.in: Regenerate.
3135
31362003-07-26 Paul Brook <paul@nowt.org>
3137
3138 Rename library to libgfortran.
3139 * libgfortran.h: Change prefix to _libgfortran_.
3140
31412003-07-24 Paul Brook <paul@nowt.org>
3142
3143 * configure.in: Don't pull in system libtool. Use toplevel
3144 auxiliary files.
3145
31462003-07-22 Paul Brook <paul@nowt.org>
3147
3148 Regenerate all configury files.
3149
31502003-07-09 Chun Huang <compiler@sohu.com>
3151
3152 * intrinsics/string_intrinsic.c (string_scan): New function.
3153 (string_verify): New function.
3154
31552003-06-25 Paul Brook <paul@nowt.org>
3156
3157 * io/unix.c (mem_alloc_r_at, mem_alloc_w_at): Advance logical_offset.
3158 (mem_seek): Don't bother setting physical_offset.
3159
31602003-06-20 Paul Brook <paul@nowt.org>
3161
3162 * libgfor.h (stop_numeric): Declare.
3163 * runtime/pause.c: New file.
3164 * Makefile.am: Add it.
3165
31662003-06-08 Paul Brook <paul@nowt.org>
3167
3168 * m4/cexp.m4 (cabs): Use correct typed version.
3169 (csqrt): New function.
3170
31712003-06-07 Canqun Yang <canqun@yahoo.com.cn>
3172
3173 Spotted by Benjamin and Tobias:
3174 * io/list_read.c: Add Separator '\t'.
3175 (parse_real, read_real): Accept real values starting with an optional
3176 sign follows a decimal point.
fbce28bc 3177
4ee9c684 31782003-06-06 Steven Bosscher <steven@gcc.gnu.org>
3179
3180 * Makefile.am: Don't put cmath objects in subdir.
3181 * configure.in: Rename MATHOBJ to MATH_OBJ.
3182
31832003-06-02 Kejia Zhao <Kejia_zh@yahoo.com.cn>
3184
3185 * intrinsics/associated.c: New file.
3186 * Makefile.am: Add it. Regenerate Makefile.in.
3187 * libgfor.h: Define g95_array_void, G95_DESCRIPTOR_DATA, and
3188 G95_DESCRIPTOR_DTYPE.
3189
31902003-06-01 Canqun Yang <canqun@yahoo.com.cn>
3191
3192 * io/write.c (calcuate_exp): Rewrite it to avoid overflow.
3193 (calculate_G_format): Rewrite it to eliminate an infinte loop and set
3194 the scale_factor to 0 for F editing.
3195
bdaea730 31962003-05-11 Tobias Schlter <innenminister@gmx.de>
4ee9c684 3197
3198 * libgfor.h: Only include stdint.h if it exists.
3199
32002003-05-07 Paul Brook <paul@nowt.org>
3201
3202 * libgfor.h: Use stdint.h types.
3203 * intrinsics/ishift.c: Ditto.
3204 * runtime/memory.c (malloc_t): Reorder fields for better alignment.
3205
32062003-05-05 Steven Bosscher <steven@gcc.gnu.org>
3207
3208 * libgfor.h (offsetof): Define if nobody else does.
3209 * runtime/memory.c (HEADER_SIZE): Use it.
3210
bdaea730 32112003-05-01 Tobias Schlter <innenminister@gmx.de>
4ee9c684 3212
3213 * configure.in: Require autoconf 2.54.
3214
bdaea730 32152003-04-28 Tobias Schlter <innenminister@gmx.de>
4ee9c684 3216 Paul Brook <paul@nowt.org>
3217
3218 * intrinsics/reshape_generic.c: Copy the whole element, not just the
3219 first byte.
3220 * m4/transpose.m4: New file.
3221 * Makefile.am: Add them.
3222 Regenerate generated files.
3223
32242003-04-18 Steven Bosscher <steven@gcc.gnu.org>
3225
3226 * io/format.c (parse_format_list): Allow 'X' without integer
3227 prefix. This is an extension. Interpretation is '1X'.
3228
bdaea730 32292003-04-18 Tobias Schlter <Tobias.Schlueter@physik.uni-muenchen.de>
4ee9c684 3230
3231 * io/format.c (parse_format_list): Allow '0P'.
3232
32332003-04-18 Steven Bosscher <steven@gcc.gnu.org>
3234
3235 * Makefile.in: Re-regenerate for automake 1.7.3.
3236
32372003-04-18 Canqun Yang <canqun@yahoo.com.cn>
3238
3239 Port implementation for CHARACTER SELECT from Andy's tree.
3240 * runtime/select.c: New file
3241 * Makefile.am: Add it.
3242 * Makefile.in: Regenerate.
3243
32442003-04-17 Xiaoqiang Zhang <zhangapache@yahoo.com>
3245
3246 * io/transfer.c (formatted_transfer): Modified
3247 * io/unix.c (move_pos_offset): New Function.
3248 * io/format.c (parse_format_list): Modified.
3249
32502003-04-15 Xiaoqiang Zhang <zhangapache@yahoo.com>
3251
3252 * io/write.c (write_float,write_real): New implemention of
3253 FMT_G and default float editing.
3254 (calculate_exp,calculate_G_format,output_float): New Function.
3255 (write_float,write_real,write_logical): Modified
3256 * libgfor.h (default_rtoa): Remove Declaration.
3257 * runtime/error.c (default_rtoa): Remove Function.
3258
32592003-04-15 Steven Bosscher <steven@gcc.gnu.org>
3260
3261 Spotted by Yang:
3262 * io/write.c (extract_real): Add missing break statement.
3263
32642003-04-13 Steven Bosscher <steven@gcc.gnu.org>
3265
3266 * cpu_time.c: Make sure we have a definition of HZ. Don't
3267 rely on CLOCKS_PER_SEC, it is always 1000000, on any system.
3268
32692003-04-13 Steven Bosscher <steven@gcc.gnu.org>
3270 Paul Brook <paul@nowt.org>
3271
3272 * configure.in: Check for process time headers and GETTIMEOFDAY.
3273 * makefile.am: Add intrinsics/cpu_time.c.
3274 * acinclude.m4: New file.
3275 * intrinsics/cpu_time.c: New file.
3276 * m4/dotprodl.m4: Fix typo.
3277 Regenerate generated files.
3278
32792003-04-11 Xiaoqiang Zhang <zhangapache@yahoo.com>
3280
ab5619bc 3281 * io/write.c (extract_real): Ouput floating point value.
3282 (write_float): New Function.
3283 (write_e, write_f, write_en, write_es): Modified
3284 * io/transfer.c (formatted_transfer): Modified.
3285 * libgfor.h (default_rtoa): Declaration.
3286 (rtoa): Declaration.
3287 * runtime/error.c (default_rtoa): New Function.
3288 (rtoa): New Function.
4ee9c684 3289
32902003-04-05 Paul Brook <paul@nowt.org>
3291
3292 * intrinsics/spread_generic.c: New file.
3293 * Makefile.am: Add it. Regenerate Makefile.in.
3294
32952003-03-29 Paul Brook <paul@nowt.org>
3296
3297 * intrinsics/pack_generic.c: New file.
3298 * intrinsics/unpack_generic.c: New file.
3299 * Makefile.am: Add them. Regenerate Makefile.in.
3300
33012003-03-25 Paul Brook <paul@nowt.org>
3302
3303 * intrinsics/eoshift0.c: New file.
3304 * intrinsics/eoshift2.c: New file.
3305 * m4/eoshift1.m4: New file.
3306 * m4/eoshift3.m4: New file.
3307 * Makefile.am: Add them.
3308 * in_unpack_generic.c: Initialize src.
3309 Regenerate generated files.
3310
33112003-03-14 Paul Brook <paul@nowt.org>
3312
3313 * m4/shape.m4: Work properly with array temporaries.
3314 * m4/in_pack.m4: Skip redundant checks for array temporaries.
3315 * runtime/in_pack_generic.c: Ditto.
3316
33172003-03-12 Paul Brook <paul@nowt.org>
3318
3319 * m4/shape.m4: Work properly with noncontiguous arrays.
3320
33212003-03-08 Paul Brook <paul@nowt.org>
3322
3323 * m4/in_pack.m4: Correctly handle zero sized and assumed size arrays.
3324 * runtime/in_pack_generic.c: Ditto.
3325
33262003-02-08 Paul Brook <paul@nowt.org>
3327
3328 * intrinsics/reshape_generic.c: Use runtime_error to report errors.
3329 * io/close.c (st_close): Return void.
3330 * io/open.c (st_open): Return void.
3331 * libgfor.h (g95_array_char): Declare.
3332 (internal_malloc_size): Ditto.
3333 (internal_pack*, internal_unpack*): Ditto.
3334 * m4/in_pack.m4: Allocate storage if neccessary. Fix logic for packed
3335 arrays.
3336 * m4/in_unpack.m4: Include file fixes.
3337 * m4/reshape.m4: Increment the correct source pointer.
3338 * Makefile.am (maxloc): Fix typo.
3339 * runtime/in_pack_generic.c: Call optimized functions. Allocate
3340 storage if neccessary. Fix logic for packed arrays.
3341 * runtime/in_unpack_generic.c: Call optimized functions.
3342 * runtime/main.c: Use runtime_error to report errors.
3343 * memory.c (internal_malloc_size): Make non-static.
3344
33452003-02-02 Arnaud Desitter <arnaud.desitter@geography.oxford.ac.uk>
3346
3347 * reshape_packed.c, lock.c: Add #include <string.h>.
fbce28bc 3348 * libgfor.h, format.c, inquire.c, io.h, transfer.c, unix.c,
4ee9c684 3349 environ.c, error.c, memory.c, string.c: Add const.
3350 * error.c (show_locus): Add void.
3351
33522003-02-21 Paul Brook <paul@nowt.org>
3353
3354 * m4/in_pack.m4: Avoid returning const * parameter.
3355 * Makefile.am: Only regenerate files in maintainer mode.
3356
33572003-02-20 Paul Brook <paul@nowt.org>
3358
3359 Add array repacking support functions.
3360 * m4/in_pack.m4, m4/in_unpack.m4: New files.
3361 * runtime/in_pack_generic.c, runtime/in_unpack_generic.c: New files.
3362 * Makefile.am: Build them. Regenerate configury files.
3363 * generated/: New directory for generated files (need to move
3364 everything else there).
3365
33662003-02-07 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3367
3368 * m4/cexp.m4: Fix typo.
3369
33702003-01-26 Paul Brook <paul@nowt.org>
3371
3372 * intrinsics/: Add missing generated files.
3373
33742003-01-26 Paul Brook <paul@nowt.org>
3375
3376 * Makefile.am: Put -I before the filename.
3377
33782003-01-24 Paul Brook <paul@nowt.org>
3379
3380 * configure.in: Add AM_MAINTAINER_MODE.
3381
33822003-01-23 Paul Brook <paul@nowt.org>
3383
3384 * configure.in, Makefile.am: Modify to work with unmodified autoconf
3385 and auotmake.
3386 Also regenerate other configury files.
3387
33882003-01-21 Paul Brook <paul@nowt.org>
3389
3390 * io/read.c: Don't use stdint.h, it doesn't exist on cygwin.
3391
33922003-01-20 Steven Bosscher <s.bosscher@student.tudelft.nl>
3393
3394 * io/read.c (read_f): Don't use alloca, but safe get_mem instead.
3395 Don't include "alloca.h".
3396
33972003-01-20 Steven Bosscher <s.bosscher@student.tudelft.nl>
3398
3399 * intrinsics/string.c: Rename to intrinsics/string_intrinsics.c.
3400 * Makefile.am: Adjust file name.
3401 * Makefile.in: Regenerate.
3402 * gfortypes.h: Kill, include everything in...
3403 * libgfor.h: ...here. Include config.h
fbce28bc 3404 * fmain.c, intrinsics/ishftc.c, intrinsic/reshape_generic.c,
4ee9c684 3405 intrinsics/reshape_i4.c, intrinsics/reshape_i8.c,
3406 intrinsics/reshape_packed.c, intrinsics/size.c,
3407 m4/reshape.m4, runtime/main.c, runtime/memory.c: Use macro
3408 for prefix for all functions instead of hardcoded.
3409
34102003-01-19 Steven Bosscher <s.bosscher@student.tudelft.nl>
3411
3412 * io/lock.c (library_end): Propagate library return
3413 code.
fbce28bc 3414
4ee9c684 34152003-01-19 Steven Bosscher <s.bosscher@student.tudelft.nl>
3416
3417 Port fixes from Andy's tree:
3418 * io/read.c (read_decimal): Reverse sense of overflow
3419 comparison during integer reads.
3420 * io/format.c (revert): Fix comment.
3421 (next_format): Fix format revision.
3422 * io/unix.c: Fix and simplify mmap version of stream
3423 functions.
3424
34252003-01-11 Paul Brook <paul@nowt.org>
3426
3427 * configure, Makefile.in: Regenerate.
3428
34292003-01-11 Paul Brook <paul@nowt.org>
3430
3431 * runtime/stop.c: Rewrite.
3432
34332003-01-08 Paul Brook <paul@nowt.org>
3434
3435 * configure, Makefile.in: Regenerate.
3436
34372003-01-05 Paul Brook <paul@nowt.org>
3438
3439 * (*.m4) Move to m4/.
3440 * intrinsics/string.c (_gfor_string_index): New Function.
3441
34422002-12-29 Paul Brook <paul@nowt.org>
3443
3444 * intrinsics/reshape.*: New files.
3445 * gcc_config.patch: Update to new GCC configure system.
3446
34472002-10-10 Paul Brook <paul@nowt.org>
3448
3449 * intrinsics/size.c: New file.
3450 * intrinsics/shape.m4: New file.
3451 * Makefile.am: Add above files.
3452
34532002-10-02 Paul Brook <paul@nowt.org>
3454
3455 * fmain.c (main): Move here.
3456 * libgfor.c: From here.
3457 * libgfor.h (gfor_init, gfor_runtime_cleanup): Declare.
3458 * Makefile.am: Build libgforbegin.
3459 * gcc_config.patch: Remove stray -march=athlon.
3460 * dotprodl.m4: Fix use of L8_TO_L4 macro.
3461 * ifunction.m4: Move variable declarations to allow compilation with
3462 gcc < 3.0
3463 * specific.m4, specific4.m4: Fix typo typecode->type_code.
3464 * README: Document use of patch -p1.
3465
34662002-09-12 Paul Brook <paul@nowt.org>
3467
3468 * math/*: Add complex math library functions.
3469 * intrinsics/specific(2).m4: Generate Specific intrinsic functions.
3470 * Makefile.am: Add details for above.
3471 * configure.in: Use AC_PROG_F95. Test for the presence of csin.
3472
34732002-09-09 Paul Brook <paul@nowt.org>
3474
3475 * libgfor.c (determine_endianness): Use an array rather than a struct.
3476 * intrinsics/dotprod*, matmul*: Implement DOT_PRODUCT and MATMUL.
3477
34782002-09-09 Steven Bosscher <s.bosscher@student.tudelft.nl>
3479
3480 * libgfor.c: Add fatal signal handler.
3481 Romove superfluous abort() calls.
3482
34832002-09-07 Paul Brook <paul@nowt.org>
3484
3485 * Makefile.am, intrinsics: Major rewrite.
3486
34872002-09-02 Paul Brook <paul@nowt.org>
3488
3489 * Makefile.am: Added -I$(srcdir) to m4 rule.
3490
34912002-08-30 Paul Brook <paul@nowt.org>
3492
3493 * io/*: Integrated libgforio.
3494 * Makefile.am, configure.in: Make compatable with GCC. Build code for
3495 intrinsics in the intrisics directory.
3496 * intrinsics/intrinsics.m4: Move here. Strip directories from the
3497 filename. Add 'and' and 'all' intrinsics.
3498
34992002-08-17 Paul Brook <paul@nowt.org>
3500
3501 * ALL: First release as more than just a single file