jacks.xfail: Remove 15.21-assoc-7, 15.21-assoc-8, 15.21-equal-3, 15.28-string-11.
[official-gcc.git] / libgfortran / ChangeLog
blobab8dd3b00a197e3bc80bdcc734790d9b523092e2
1 2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>
3         * All files: Update FSF address.
5 2005-08-16  Thomas Koenig  <Thomas.Koenig@online.de>
7         PR libfortran/23428
8         * io/transfer.c (iolength_transfer):  Remove __attribute__ ((unused))
9         from type.  Return correct length for inquire(iolength=)
10         for complex variables.
12 2005-08-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
13             Steven Bosscher  <stevenb@suse.de>
15         PR libfortran/20006
16         * Makefile.am: Add file runtime/compile_options.c.
17         * Makefile.in: Regenerate.
18         * libgfortran.h: Create structure compile_options_t. Define the
19         compile_options variable and GFC_STD_ macros.
20         * runtime/compile_options.c: New file.
21         * runtime/error.c (notify_std): New function.
22         * runtime/main.c (init): Call init_compile_options during
23         initialization.
24         * io/format.c: Use the new notify_std function for the $
25         descriptor extension.
27 2005-08-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
28         * Makefile.am: Add file intrinsics/tty.c to Makefile process.
29         * Makefile.in: Regenerate.
30         * io/io.h: Prototypes for new functions stream_isatty and
31         stream_ttyname.
32         * io/unix (stream_isatty, stream_ttyname): New functions to call
33         isatty() and ttyname() on a given unit.
34         * intrinsics/tty.c: New file to implement g77 intrinsics TTYNAM
35         and ISATTY.
37 2005-08-08  Jerry DeLisle  <jvdelisle@verizon.net>
39         PR libfortran/23154
40         * io/transfer.c (data_transfer_init): Initialize
41         current_unit->bytes_left for a read.
43 2005-08-07  Janne Blomqvist  <jblomqvi@cc.hut.fi>
45         PR fortran/22390
46         * io/backspace.c: File removed, contents moved to ...
47         * io/endfile.c: Ditto.
48         * io/rewind.c: Ditto.
49         * io/file_pos.c: New file, ... here.
50         * Makefile.am: Add file_pos.c to list, remove obsolete files.
51         * Makefile.in: Regenerated.
53 2005-08-07  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
55         * io/io.h: Change DEFAULT_TEMPDIR to /tmp instead of /var/tmp.
56         * io/unix.c (tempfile): Look at the TEMP environment variable
57         to find the temporary files directory. Whitespace correction.
59 2005-08-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
61         * io/unix.c: Add O_RDWR to open() call.
63 2005-08-04 Paul Thomas  <pault@gcc.gnu.org>
65         * transfer.c (data_transfer_init): Truncate file in
66         sequential WRITE when last_record == 0, rather than
67         current_record.  Cures problem on RH9.
69 2005-08-03  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
71         * libgfortran.h: When isfinite is not provided by the system,
72         define it as a macro, so that it can accept any floating point
73         type.
75 2005-08-01  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
77         PR libfortran/23178
78         * intrinsics/flush.c (flush_i8): Add function flush_i8. Update
79         copyright years.
81 2005-07-31  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
83         PR libfortran/21787
84         * intrinsics/abort.c (abort): Close units before aborting.
85         Updated copyright years.
87 2005-07-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
89         PR libfortran/22436
90         * io/write.c (write_real): Add default formats for real(10) and
91         real(16).
93 2005-07-30 Paul Thomas  <pault@gcc.gnu.org>
95         PR fortran/22570 and related issues.
96         * transfer.c (formatted_transfer): Make sure that there
97         really is data present before X- or T- editing. Move all
98         treatment of tabbing during writes to start of next data
99         producing format. Suppress incorrect zeroing of bytes_left
100         in slash formating. Insert int cast for assignment of a
101         difference of two gfc_offsets.
103 2005-07-23  Jerry DeLisle  <jvdelisle@verizon.net>
105         * io/write.c (write_float): Revise output of IEEE exceptional
106         values to comply with F95 and F2003 standards.
108 2005-07-22 Jerry DeLisle <jvdelisle@verizon.net>
110         PR libfortran/22570
111         * io/unit.c (init_units): Replace BLANK_ZERO with
112         BLANK_UNSPECIFIED.
114 2005-07-22 Jerry DeLisle <jvdelisle@verizon.net>
116         PR libfortran/21875  (FM111.f)
117         * io/read.c (next_char): Return a ' ' character when BLANK_ZERO
118         or BLANK_NULL are active.
119         (read_decimal): Interpret ' ' character correctly for BZ or BN.
120         (read_radix): Interpret ' ' character correctly for BZ or BN.
121         (read_f): Interpret ' ' character correctly for BZ or BN.
123 2005-07-22 Paul Thomas  <pault@gcc.gnu.org>
125         PR libfortran/22570
126         * read.c (read_x): Correct the condition for doing the
127         x-editing during formatted input.
128         * transfer.c (formatted_transfer): Cast offset difference
129         as int, clean-up arithmetic with new variable, bytes_used,
130         zero counters for FMT_SLASH,
131         (data_transfer_init) Zero X- and T-editing counters
132         unconditionally.
133         (next_record_w) Zero X- and T-editing counters.
134         unconditionally.
136 2005-07-17  Jerry DeLisle  <jvdelisle@verizon.net>
138         * io/write.c (write_float): Fix field width checks for
139         printing 'Infinity' or 'Inf'.
140         (output_float): Fix typo in comment.
142 2005-07-12 Paul Thomas  <pault@gcc.gnu.org>
144         PR libfortran/16435
145         * transfer.c (formatted_transfer): Correct the problems
146         with X- and T-editting that caused TLs followed by TRs
147         to overwrite data, which caused NIST FM908.FOR to fail
148         on many tests.
149         (data_transfer_init): Zero X- and T-editting counters at
150         the start of formatted IO.
151         * write.c (write_x): Write specified number of skips with
152         specified number of spaces at the end.
154 2005-07-13 Paul Thomas  <pault@gcc.gnu.org>
156         * io/read.c (read_complex): Prevent X formatting during reads
157         from going beyond EOR to fix NIST fm908.FOR failure.
158         * io/list_read.c (read_complex): Allow complex data in list-
159         directed reads to have eols either side of the comma to
160         fix NIST FM906.FOR failure.
162 2005-07-12  Thomas Koenig  <Thomas.Koenig@online.de>
164         PR libfortran/21593
165         * io/unix.c:  Add member special_file to type unix_stream.
166         (fd_truncate):  Don't call ftruncate or chsize if
167         s refers to a special file.
168         (fd_to_stream):  initialize s->special_file.
170 2005-07-11  David Edelsohn  <edelsohn@gnu.org>
172         PR libgfortran/22412
173         * io/write.c (otoa): Bias p by SCRATCH_SIZE, not
174         sizeof (SCRATCH_SIZE).
175         (btoa): Same.
177 2005-07-09  Jerry DeLisle  <jvdelisle@verizon.net>
179         PR libfortran/21875  (FM111.f)
180         * io/read.c (next_char): Return a ' ' character when BLANK_ZERO or
181         BLANK_NULL are active.
182         (read_decimal): Interpret ' ' character correctly for BZ or BN.
183         (read_radix): Interpret ' ' character correctly for BZ or BN.
184         (read_f): Interpret ' ' character correctly for BZ or BN.
185         * gfortran.dg/test (fmt_read_bz_bn.f90): New test case.
187 2005-07-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
188             Thomas Koenig  <Thomas.Koenig@online.de>
190         PR libfortran/22217
191         * io/write.c (extract_unit):  New function; extract
192         ints as unsigned signed int of the correct size.
193         (write_int):  Use it.
194         * runtime/error.c:  Adjust copyright years.
195         Adjust size of buffer to maximum that can occur.
197 2005-07-07  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
199         * libgfortran.h (GFC_ARRAY_DESCRIPTOR): Replace 'type *base' by
200         'size_t offset'.
201         * intrinsics/cshift0.c, intrinsics/eoshift0.c,
202         intrinsics/eoshift2.c,intrinsics/pack_generic.c,
203         intrinsics/reshape_generic.c, intrinsics/spread_generic.c,
204         intrinsics/transpose_generic.c, intrinsics/unpack_generic,
205         m4/cshift1.m4, m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4,
206         m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/reshape.m4,
207         m4,transpose.m4: Set renamed field 'offset' to zero instead of
208         'base'.
209         * generated/all_l4.c, generated/all_l8.c,
210         generated/any_l4.c, generated/any_l8.c, generated/count_4_l4.c,
211         generated/count_4_l8.c, generated/count_8_l4.c,
212         generated/count_8_l8.c, generated/chift1_4.c,
213         generated/cshift1_8.c, generated/eoshift1_4.c,
214         generated/eoshift1_8.c, generated/eoshift3_4.c,
215         generated/eoshift3_8.c, generated/matmul_c4.c,
216         generated/matmul_c8.c, generated/matmul_i4.c, matmul_i8.c,
217         generated/matmul_l4.c, generated/matmul_l8.c,
218         generated/matmul_r4.c, generated/matmul_r8.c,
219         generated/maxloc0_4_i4.c, generated/maxloc0_4_i8.c,
220         generated/maxloc0_4_r4.c, generated/maxloc0_4_r8.c,
221         generated/maxloc0_8_i4.c, generated/maxloc0_8_i8.c,
222         generated/maxloc0_8_r4.c, generated/maxloc0_8_r8.c,
223         generated/maxloc1_4_i4.c, generated/maxloc1_4_i8.c,
224         generated/maxloc1_4_r4.c, generated/maxloc1_4_r8.c,
225         generated/maxloc1_8_i4.c, generated/maxloc1_8_i8.c,
226         generated/maxloc1_8_r4.c, generated/maxloc1_8_r8.c,
227         generated/maxval_i4.c, generated/maxval_i8.c,
228         generated/maxval_r4.c, generated/maxval_r8.c,
229         generated/minloc0_4_i4.c, generated/minloc0_4_i8.c,
230         generated/minloc0_4_r4.c, generated/minloc0_4_r8.c,
231         generated/minloc0_8_i4.c, generated/minloc0_8_i8.c,
232         generated/minloc0_8_r4.c, generated/minloc0_8_r8.c,
233         generated/minloc1_4_i4.c, generated/minloc1_4_i8.c,
234         generated/minloc1_4_r4.c, generated/minloc1_4_r8.c,
235         generated/minloc1_8_i4.c, generated/minloc1_8_i8.c,
236         generated/minloc1_8_r4.c, generated/minloc1_8_r8.c,
237         generated/minval_i4.c, generated/minval_i8.c,
238         generated/minval_r4.c, generated/minval_r8.c,
239         generated/product_c4.c, generated/product_c8.c,
240         generated/product_i4.c, generated/product_i8.c,
241         generated/product_r4.c, generated/product_r8.c,
242         generated/reshape_c4.c, generated/reshape_c8.c,
243         generated/reshape_i4.c, generated/reshape_i8.c,
244         generated/sum_c4.c, generated/sum_c8.c, generated/sum_i4.c,
245         generated/sum_i8.c, generated/sum_r4.c, generated/sum_r8.c,
246         generated/transpose_c4.c, generated/transpose_c8.c,
247         generated/transpose_i4.c, generated/transpose_i8.c: Regenerate:
249 2005-07-07  Thomas Koenig  <Thomas.Koenig@online.de>
251         PR libfortran/21594
252         * intrinsics/eoshift0.c:  If abs(shift) > len, fill the
253         the whole array with the boundary value, but don't overrun it.
254         * intrinsics/eoshift2.c:  Likewise.
255         * m4/eoshift1.m4:  Likewise.
256         * m4/eoshift3.m4:  Likewise.
257         * generated/eoshift1_4.c:  Regenerated.
258         * generated/eoshift1_8.c:  Regenerated.
259         * generated/eoshift3_4.c:  Regenerated.
260         * generated/eoshift3_8.c:  Regenerated.
262 2005-07-07  Feng Wang  <fengwang@nudt.edu.cn>
264         PR fortran/16531
265         * io/transfer.c (formatted_transfer): Enable FMT_A on other types to
266         support Hollerith constants.
268 2005-07-01  Andreas Jaeger  <aj@suse.de>
270         * intrinsics/unpack_generic.c: Remove const from parameter.
272         * io/transfer.c (formatted_transfer): Remove unused variable.
274 2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>
276         PR libfortran/22142
277         * m4/eoshift1.m4:  Correct bstride (it needs to be multiplied
278         by size since it's a char pointer).
279         * m4/eoshift1_4.c:  Regenerated.
280         * m4/eoshift1_8.c:  Regenerated.
282 2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>
284         PR libfortran/22142
285         * m4/eoshift3.m4:  Correct bstride (it needs to be multiplied
286         by size since it's a char pointer).
287         * m4/eoshift3_4.c:  Regenerated.
288         * m4/eoshift3_8.c:  Regenerated.
290 2005-06-28  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
292         PR libfortran/22170
293         * io/transfer.c (formatted_transfer): Do not iterate on the
294         repeat count of a FMT_SLASH, since this is already done in
295         next_format().
297 2005-06-25  Thomas Koenig  <Thomas.Koenig@online.de>
299         PR libfortran/22144
300         * m4/cshift1.m4: Remove const from argument ret.
301         Populate return array descriptor if ret->data is NULL.
302         * m4/eoshift1.m4: Likewise.
303         * m4/eoshift3.m4: Likewise.
304         * generated/cshift1_4.c:  Regenerated.
305         * generated/cshift1_8.c:  Regenerated.
306         * generated/eoshift1_4.c:  Regenerated.
307         * generated/eoshift1_8.c:  Regenerated.
308         * generated/eoshift3_4.c:  Regenerated.
309         * generated/eoshift3_8.c:  Regenerated.
311 2005-06-24  Jerry DeLisle <jvdelisle@verizon.net>
313         PR libfortran/21915
314         * Makefile.am: Include intrinsics/hyper.c.
315         * c99_protos.h: Add prototypes for single precision versions of
316         acosh, asinh, and atanh for platforms that do not have these.
317         * config.h.in: Add #undef for wrappers.
318         * configure.ac: Add checks for single precision versions.
319         * aclocal.m4: Regenerated.
320         * Makefile.in: Regenerated.
321         * configure: Regenerated.
322         * intrinsics/hyper.c: New file, adds new wrapper functions.
324 2005-06-23  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
326         * intrinsics/c99_functions.c (log10l): New log10l function for
327         systems where this is not available.
328         * c99_protos.h: Prototype for log10l function.
329         * libgfortran.h: Use generated kinds.h to define GFC_INTEGER_*,
330         GFC_UINTEGER_*, GFC_LOGICAL_*, GFC_REAL_*, GFC_COMPLEX_*. Update
331         prototypes for gfc_itoa and xtoa.
332         * io/io.h: Update prototypes for set_integer and max_value.
333         * io/list_read.c (convert_integer): Use new
334         GFC_(INTEGER|REAL)_LARGEST type.
335         * io/read.c (set_integer): Likewise.
336         (max_value): Likewise.
337         (convert_real): Likewise.
338         (real_l): Likewise.
339         (next_char): Likewise.
340         (read_decimal): Likewise.
341         (read_radix): Likewise.
342         (read_f): Likewise.
343         * io/write.c (extract_int): Use new GFC_INTEGER_LARGEST type.
344         (extract_real): Use new GFC_REAL_LARGEST type.
345         (calculate_exp): Likewise.
346         (calculate_G_format): Likewise.
347         (output_float): Likewise. Use log10l for long double values.
348         Add comment for sprintf format. Use GFC_REAL_LARGEST_FORMAT.
349         (write_l): Use new GFC_INTEGER_LARGEST type.
350         (write_float): Use new GFC_REAL_LARGEST type.
351         (write_int): Remove useless special case for (len < 8).
352         (write_decimal): Use GFC_INTEGER_LARGEST.
353         (otoa): Use GFC_UINTEGER_LARGEST as argument.
354         (btoa): Use GFC_UINTEGER_LARGEST as argument.
355         * runtime/error.c (gfc_itoa): Use GFC_INTEGER_LARGEST as
356         argument.
357         (xtoa): Use GFC_UINTEGER_LARGEST as argument.
358         * Makefile.am: Use mk-kinds-h.sh to generate header kinds.h
359         with all Fortran kinds available.
360         * configure.ac: Check for strtold and log10l.
361         * Makefile.in: Regenerate.
362         * aclocal.m4: Regenerate.
363         * configure: Regenerate.
364         * config.h.in: Regenerate.
365         * mk-kinds-h.sh: Configuration script for available integer
366         and real kinds.
369 2005-06-18  Janne Blomqvist  <jblomqvi@cc.hut.fi>
371         * unix.c (stream_at_bof): Don't assume that all non-mmapped files
372         are non-seekable.
373         (stream_at_eof): Likewise.
375 2005-06-18  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
377         PR libfortran/19155
378         * io/read.c (convert_real): strtod can set errno to EINVAL on an
379         empty string, but we shouldn't have an error in that case.
381 2005-06-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
383         PR libfortran/19216
384         * io/list_read.c (eat_separator): No need to call next_record,
385         even in non-namelist_mode.
387 2005-06-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
389         * io/transfer.c (formatted_transfer): Fix typo in error message.
391 2005-06-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
393         PR libfortran/16436
394         * io/transfer.c (read_sf): Correct updating of bytes_left field.
395         (formatted_transfer): Correct updating of bytes_left field and
396         reformatting code (comments and whitespace).
397         * io/unix.c (move_pos_offset): "active" field should not be
398         changed here. Whitespace corrections.
400 2005-06-15  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
402         PR libfortran/21950
403         * intrinsics/c99_functions.c (scalbn): Provide fallback
404         implementation for scalbn.
405         * c99_protos.h: Prototype for scalbn.
406         * configure.ac: Add check for scalbn.
407         * configure: Regenerate.
408         * config.h.in: Regenerate.
410 2005-06-14  Thomas Koenig  <Thomas.Koenig@online.de>
412         * intrinsics/eoshift0.c:  Removed prototype for eoshift0.
413         * intrinsics/eoshift2.c:  Removed prototype for eoshift2.
415 2005-06-14  Tom Tromey  <tromey@redhat.com>
417         PR libgcj/19877:
418         * configure, aclocal.m4, Makefile.in: Rebuilt.
420 2005-06-12  Thomas Koenig  <Thomas.Koenig@online.de>
422         PR libfortran/21594
423         * intrinsics/eoshift0.c:  Add prototype for eoshift0.
424         * intrinsics/eoshift2.c:  Add prototype for eoshift2.
426 2005-06-12  Steven G. Kargl <kargls@comcast.net>
427             Thomas Koenig  <Thomas.Koenig@online.de>
429         PR libfortran/PR21797
430         * m4/cexp.m4 (csqrt`'q):  Add type qualifyer to
431         sqrt and fabs.
432         * generated/exp_c4.c:  Regenerated.
434 2005-06-12  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
436         PR libfortran/19155
437         * io/read.c (read_f): Take care of spaces after initial sign.
439 2005-06-11  Thomas Koenig  <Thomas.Koenig@onlinde.de>
441         PR libfortran/21333
442         * Makefile.am: Add in_pack_c4.c, in_pack_c8.c, in_unpack_c4.c
443         and in_unpack_c8.c.
444         * Makefile.in: Regenerate.
445         * libgfortran.h:  Declare internal_pack_c4, internal_pack_c8,
446         internal_unpack_c4 and internal_unpack_c8.
447         * m4/in_pack.m4: Use rtype_ccode insteald of rtype_kind
448         in function name.
449         Use sizeof (rtype_name) as size for memory allocation.
450         * m4/in_unpack.m4: Use rtype_ccode insteald of rtype_kind
451         in function name.
452         Use sizeof (rtype_name) for calculation of sizes for memcpy.
453         * runtime/in_pack_generic.c:  For real, integer and logical
454         call internal_pack_4 if size==4 and internal_pack_8 if
455         size==8.
456         For complex, call internal_pack_c4 if size==8 and
457         internal_pack_c8 if size==16.
458         * runtime/in_unpack_generic.c: For real, integer and logical
459         call internal_unpack_4 if size==4 and internal_unpack_8 if
460         size==8.
461         For complex, call internal_unpack_c4 if size==8 and
462         internal_unpack_c8 if size==16.
463         * generated/in_pack_i4.c:  Regenerated.
464         * generated/in_pack_i8.c:  Regenerated.
465         * generated/in_unpack_i4.c:  Regenerated.
466         * generated/in_unpack_i8.c:  Regenerated.
467         * generated/in_pack_c4.c:  New file.
468         * generated/in_pack_c8.c:  New file.
469         * generated/in_unpack_c4.c:  New file.
470         * generated/in_unpack_c8.c:  New file.
472 2005-06-09  Thomas Koenig  <Thomas.Koenig@online.de>
474         PR libfortran/21480
475         * m4/reshape.m4:  Use sizeof (rtype_name) for sizes to be passed
476         to reshape_packed.
477         * generated/reshape_c4.c:  Regenerated.
478         * generated/reshape_c8.c:  Regenerated.
479         * generated/reshape_i4.c:  Regenerated.
480         * generated/reshape_i8.c:  Regenerated.
482 2005-06-07  Thomas Koenig  <Thomas.Koenig@online.de>
484         PR libfortran/21926
485         * m4/matmul.m4:  Correct zeroing of result for non-packed
486         arrays with lowest stride is one.
487         * generated/matmul_c4.c:  Regenerated.
488         * generated/matmul_c8.c:  Regenerated.
489         * generated/matmul_i4.c:  Regenerated.
490         * generated/matmul_i8.c:  Regenerated.
491         * generated/matmul_r4.c:  Regenerated.
492         * generated/matmul_r8.c:  Regenerated.
494 2005-05-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
496         PR libfortran/20179
497         * io/unix.c (fd_close): Add test so that we don't close()
498         stdout and stderr.
500 2005-05-29  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
502         PR libfortran/20006
503         * io/format.c (parse_format_list): Set repeat count of $ format
504         node to 1.
505         * io/transfer.c (read_sf): Add g.seen_dollar to the test
506         concerning advancing I/O.
507         (data_transfer_init): Likewise.
508         (finalize_transfer): Likewise.
510 2005-05-27  Thomas Koenig  <Thomas.Koenig@online.de>
512         * runtime/in_pack_generic.c:  Adjust copyright years.
513         (in_pack_generic):  Change dimension of auxiliary arrays from
514         GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
515         * runtime/in_unpack_generic.c:  Adjust copyright years.
516         (in_unpack_generic):  Change dimension of auxiliary arrays from
517         GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
519 2005-05-26  Thomas Koenig  <Thomas.Koenig@online.de>
521         PR libfortran/17283
522         * intrinsics/unpack_generic.c:  Fix name of routine
523         on top.  Update copyright years.
524         (unpack1):  Remove const from return array descriptor.
525         rs:  New variable, for calculating return sizes.
526         Populate return array descriptor if ret->data is NULL.
528 2005-05-22  Peter Wainwright  <prw@ceiriog1.demon.co.uk>
530         PR libfortran/21376
531         * io/write.c (output_float): Rework logic to avoid call to log10
532         with argument equal to zero.
534 2005-05-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
536         * configure.ac: Check for trunc and truncf in libm.
537         * configure: Regenerate.
538         * config.h.in: Likewise.
539         * intrinsics/c99_functions.c (trunc, truncf): New functions.
540         * c99_protos.h (trunc, truncf): Declare them.
542 2005-05-18  Thomas Koenig  <Thomas.Koenig@online.de>
544         PR libfortran/21127
545         * Makefile.am:  Really commit.
546         * Makefile.in:  Really commit.
548 2005-05-18  Thomas Koenig  <Thomas.Koenig@online.de>
550         PR libfortran/21127
551         * Makefile.am:  Add generated/reshape_c4.c and
552         generated/reshape_c8.c.
553         * Makefile.in:  Regenerated.
554         * m4/iparm.m4:  Define rtype_ccode to be c4 or c8 for
555         complex types, 4 or 8 otherwise.
556         * m4/reshape.m4:  Use rtype_ccode instead of rtype_kind
557         in function name.
558         * generated/reshape_c4.c: New file.
559         * generated/reshape_c8.c: New file.
561 2005-05-16  Andreas Jaeger  <aj@suse.de>
563         * configure.ac: Add additional warning flags.
564         * configure: Regenerate.
566         * io/write.c (calculate_G_format): Remove unused parameter.
567         (output_float): Remove unused parameter.
568         (write_float): Change callers.
569         (nml_write_obj): Avoid signed warning.
570         Make variable const to support -Wwrite-strings.
572         * io/unix.c (fd_alloc, mmap_open, mmap_sfree, mem_sfree,
573         mem_truncate): Mark argument as unused.
575         * io/unit.c (get_unit): Mark argument as unused.
576         (init_units): Avoid warning about signed comparision.
578         * io/transfer.c (next_record_r): Remove unused parameter.
579         (next_record_w): Remove unused parameter.
580         (next_record): Change callers.
581         (iolength_transfer): Mark arguments as unused.
583         * io/open.c: Add initializer.
585         * io/list_read.c (read_character): Mark argument as unused.
586         (nml_match_name): Add const to make compile with -Wwrite-strings.
588         * io/format.c: Add initializer.
590 2005-05-15  Andreas Jaeger  <aj@suse.de>
592         * m4/eoshift1.m4: Initialize variables to avoid warnings.
593         * m4/eoshift3.m4: Initialize variables to avoid warnings.
594         * generated/eoshift1_4.c, generated/eoshift1_8.c,
595         generated/eoshift3_4.c, generated/eoshift3_8.c: Regenerated.
597         * intrinsics/spread_generic.c (spread): Initialize variables to
598         avoid warnings.
600         * intrinsics/eoshift0.c (eoshift0): Initialize variables to avoid
601         warnings.
602         * intrinsics/eoshift2.c (eoshift2): Initialize variables to avoid
603         warnings.
605         * io/list_read.c (nml_get_obj_data): Initialize variables to avoid
606         warnings.
608         * intrinsics/pack_generic.c (pack): Remove unneeded calculation.
610         * m4/matmull.m4 (matmul_): Remove unneeded calculations, fix
611         pointer cast to avoid warning.
612         * generated/matmul_l4.c: Regenerated.
613         * generated/matmul_l8.c: Regenerated.
615         * Makefile.am: Remove AM_CFLAGS here.
616         * configure.ac: Define AM_CFLAGS and AM_FCFLAGS so that warnings
617         are set.  Set additionally -Wstrict-prototypes for CFLAGS.
618         * Makefile.in: Regenerated.
619         * aclocal.m4: Regenerated.
620         * configure: Regenerated.
622         * intrinsics/system_clock.c (system_clock_4, system_clock_8): Add
623         missing returns, reformat a bit.
625         * io/write.c (nml_write_obj): Use %d again - and cast to int,
626         st_sprintf does not handle %ld.
628         * io/unit.c (is_internal_unit): Add void as parameter list.
630         * io/transfer.c: Move prototype declarations before the functions.
632         * runtime/normalize.c (almostone_r4, almostone_r8): Fix parameter
633         list.
635         * intrinsics/random.c (KISS_DEFAULT_SEED): Remove extra semicolon.
637         * io/transfer.c: Do not use empty initializers for global objects.
638         Add missing initializers.
640         * io/lock.c: Do not use empty initializers for global objects.
642         * io/close.c: Add missing initializers.
644         * runtime/environ.c: Add missing initializers. Do not use empty
645         initializers for global object.
646         (init_string): Mark argument as unused.
648         * runtime/main.c (cleanup): Fix parameter list.
650         * io/io.h: Fix parameter lists.
652         * m4/transpose.m4, m4/matmul.m4: Fix pointer cast to avoid
653         warning.
655         * generated/transpose_c4.c, generated/transpose_c8.c,
656         generated/transpose_i4.c, generated/transpose_i8.c,
657         generated/matmul_c4.c, generated/matmul_c8.c,
658         generated/matmul_i4.c, generated/matmul_i8.c,
659         generated/matmul_r4.c, generated/matmul_r8.c: Regenerated.
661         * io/write.c (nml_write_obj): Fix 64-bit problem.
663         * io/list_read.c (nml_get_obj_data): Add missing braces around
664         initializer to avoid warnings.
666         * intrinsics/etime.c (etime_sub): Remove unused variable.
668         * intrinsics/chdir.c, intrinsics/getlog.c, intrinsics/link.c,
669         intrinsics/symlnk.c, intrinsics/perror.c: Include <string.h> for
670         prototypes.
672         * runtime/string.c (compare0): Remove unused variable.
673         * io/unit.c (init_units): Remove unused variables.
674         * intrinsics/getcwd.c (getcwd_i4_sub): Remove unused variable.
675         * intrinsics/unlink.c (unlink_i4_sub): Remove unused variable.
676         * intrinsics/stat.c (stat_i4_sub, fstat_i8_sub, fstat_i4_sub,
677         stat_i8_sub): Remove unused variable.
679 2005-05-12  Thomas Koenig  <Thomas.Koenig@online.de>
681         PR libfortran/21324
682         * runtime/memory.c:  Don't define GFC_CLEAR_MEMORY (it's a
683         performance hog).
684         * io/open.c (new_unit): Zero freshly allocated memory for
685         unit structure.
686         * io/unit.c (init_units):  Zero freshly allocated memory for
687         STDIN, STDOUT and STDERR.
688         * io/unix.c (open_internal):  Zero freshly allocated memory
689         for unix_stream.
690         (fd_to_stream):  Likewise.
692 2005-05-11  Bud Davis  <bdavis@gfortran.org>
694         PR fortran/19478
695         * io/unix.c (fd_truncate): update positions when ftruncate
696         fails (like writing to /dev/null).
698 2005-05-10  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
700         PR libfortran/21471
701         * open.c (new_unit): Take care of the case where POSITION_APPEND
702         is specified (sseek to the end, and set u>-endfile).
704 2005-05-10  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
706         PR fortran/20178
707         * Makefile.am (gfor_specific_src): Add 'intrinsics/f2c_intrinsics.F90'
708         to dependencies.
709         * Makefile.in: Regenerate.
710         * intrinsics/f2c_specific.F90: New file.
712 2005-05-10  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
714         PR libfortran/20788
715         * io/unix.c (fd_to_stream): Add an avoid_mmap argument indicating
716         we don't we to mmap this stream. Use fd_open instead of mmap_open
717         in that case.
718         (open_external): Call fd_to_stream with avoid_mmap = 0.
719         (input_stream): Call fd_to_stream with avoid_mmap = 1.
720         (output_stream): Likewise.
721         (error_stream): Likewise.
723 2005-05-09  Mike Stump  <mrs@apple.com>
725         * configure: Regenerate.
727 2005-05-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
729         PR libfortran/19155
730         * io/read.c (read_f): Accept 'e', 'E', 'd' and 'D' as first
731         non-blank characters of a real number.
733 2005-05-04  Thomas Koenig  <Thomas.Koenig@online.de>
735         PR libfortran/21354
736         * m4/cshift1.m4: Change dimension of auxiliary arrays from
737         GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
738         * m4/eoshift1.m4: Likewise.
739         * m4/eoshift3.m4: Likewise.
740         * m4/ifunction.m4: Likewise.
741         * m4/in_pack.m4: Likewise.
742         * m4/in_unpack.m4: Likewise.
743         * intrinsics/cshift0.c: Likewise.
744         * intrinsics/eoshift0.c: Likewise.
745         * intrinsics/eoshift2.c: Likewise.
746         * intrinsics/random.c: Likewise.
747         * intrinsics/spread_generic.c: Likewise.
748         * intrinsics/stat.c: Likewise.
749         * generated/all_l4.c: Regenerated.
750         * generated/all_l8.c: Regenerated.
751         * generated/any_l4.c: Regenerated.
752         * generated/any_l8.c: Regenerated.
753         * generated/count_4_l4.c: Regenerated.
754         * generated/count_4_l8.c: Regenerated.
755         * generated/count_8_l4.c: Regenerated.
756         * generated/count_8_l8.c: Regenerated.
757         * generated/cshift1_4.c: Regenerated.
758         * generated/cshift1_8.c: Regenerated.
759         * generated/eoshift1_4.c: Regenerated.
760         * generated/eoshift1_8.c: Regenerated.
761         * generated/eoshift3_4.c: Regenerated.
762         * generated/eoshift3_8.c: Regenerated.
763         * generated/in_pack_i4.c: Regenerated.
764         * generated/in_pack_i8.c: Regenerated.
765         * generated/in_unpack_i4.c: Regenerated.
766         * generated/in_unpack_i8.c: Regenerated.
767         * generated/maxloc0_4_i4.c: Regenerated.
768         * generated/maxloc0_4_i8.c: Regenerated.
769         * generated/maxloc0_4_r4.c: Regenerated.
770         * generated/maxloc0_4_r8.c: Regenerated.
771         * generated/maxloc0_8_i4.c: Regenerated.
772         * generated/maxloc0_8_i8.c: Regenerated.
773         * generated/maxloc0_8_r4.c: Regenerated.
774         * generated/maxloc0_8_r8.c: Regenerated.
775         * generated/maxloc1_4_i4.c: Regenerated.
776         * generated/maxloc1_4_i8.c: Regenerated.
777         * generated/maxloc1_4_r4.c: Regenerated.
778         * generated/maxloc1_4_r8.c: Regenerated.
779         * generated/maxloc1_8_i4.c: Regenerated.
780         * generated/maxloc1_8_i8.c: Regenerated.
781         * generated/maxloc1_8_r4.c: Regenerated.
782         * generated/maxloc1_8_r8.c: Regenerated.
783         * generated/maxval_i4.c: Regenerated.
784         * generated/maxval_i8.c: Regenerated.
785         * generated/maxval_r4.c: Regenerated.
786         * generated/maxval_r8.c: Regenerated.
787         * generated/minloc0_4_i4.c: Regenerated.
788         * generated/minloc0_4_i8.c: Regenerated.
789         * generated/minloc0_4_r4.c: Regenerated.
790         * generated/minloc0_4_r8.c: Regenerated.
791         * generated/minloc0_8_i4.c: Regenerated.
792         * generated/minloc0_8_i8.c: Regenerated.
793         * generated/minloc0_8_r4.c: Regenerated.
794         * generated/minloc0_8_r8.c: Regenerated.
795         * generated/minloc1_4_i4.c: Regenerated.
796         * generated/minloc1_4_i8.c: Regenerated.
797         * generated/minloc1_4_r4.c: Regenerated.
798         * generated/minloc1_4_r8.c: Regenerated.
799         * generated/minloc1_8_i4.c: Regenerated.
800         * generated/minloc1_8_i8.c: Regenerated.
801         * generated/minloc1_8_r4.c: Regenerated.
802         * generated/minloc1_8_r8.c: Regenerated.
803         * generated/minval_i4.c: Regenerated.
804         * generated/minval_i8.c: Regenerated.
805         * generated/minval_r4.c: Regenerated.
806         * generated/minval_r8.c: Regenerated.
807         * generated/product_c4.c: Regenerated.
808         * generated/product_c8.c: Regenerated.
809         * generated/product_i4.c: Regenerated.
810         * generated/product_i8.c: Regenerated.
811         * generated/product_r4.c: Regenerated.
812         * generated/product_r8.c: Regenerated.
813         * generated/sum_c4.c: Regenerated.
814         * generated/sum_c8.c: Regenerated.
815         * generated/sum_i4.c: Regenerated.
816         * generated/sum_i8.c: Regenerated.
817         * generated/sum_r4.c: Regenerated.
818         * generated/sum_r8.c: Regenerated.
820 2005-04-30  Thomas Koenig  <Thomas.Koenig@online.de>
822         PR libfortran/18958
823         libgfortran.h:  Change typedef of index_type from size_t
824         to ssize_t.
826 2005-04-30  Paul Thomas  <pault@gcc.gnu.org>
828         PR libfortran/18857
829         * generated/matmul_r8.c: Remove incorrect assertions.
830         * generated/matmul_c4.c: Regenerate
831         * generated/matmul_c8.c: Regenerate
832         * generated/matmul_i4.c: Regenerate
833         * generated/matmul_i8.c: Regenerate
834         * generated/matmul_r4.c: Regenerate
835         * generated/matmul_r8.c: Regenerate
837 2005-04-29  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
839         * configure.ac: Check for ftruncate and chsize.
840         * io/unix.c (fd_truncate): Provide chsize as alternative to
841         ftruncate.
842         * config.h.in: Regenerate.
843         * configure: Regenerate.
845 2004-04-29  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
847         * intrinsics/rename.c: Add missing #includes.
849 2004-04-28  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
851         * AUTHORS, COPYING, INSTALL, NEWS, README: Remove.
853 2005-04-26  David Edelsohn  <edelsohn@gnu.org>
855         PR libfortran/20930
856         * io/rewind.c (st_rewind): Flush the stream when resetting the mode
857         from WRITING to READING.
859 2005-04-22  Paul Thomas  <pault@gcc.gnu.org>
860             Jerry DeLisle  <jvdelisle@verizon.net>
862         * io/write.c (nml_write_obj): Provide 1 more byte for ext_name.
863         * io/list_read.c (nml_get_obj_data): Put extra brackets in get_mem
864         call for ext_name.  These fix the bug reported by Jerry DeLisle to
865         the fortran list and are based on his suggested fix.
867 2005-04-22  Thomas Koenig  <Thomas.Koenig@online.de>
869         PR libfortran/20074
870         PR libfortran/20436
871         PR libfortran/21108
872         * m4/reshape.m4 (reshape_`'rtype_kind):  rs, rex:  New
873         variables, to be used in calculation of return array sizes.
874         Populate return array descriptor if ret->data is NULL.
875         Fix condition for early return (it used to test something
876         undefined if order was used).
877         Remove duplicate check wether pad is used.
878         * intrinsics/reshape_generic.c (reshape_generic): Likewise.
879         Fix a few places where the wrong variables were set.
880         * generated/reshape_i4.c: Regenerated.
881         * generated/reshape_i8.c: Regenerated.
883 2005-04-18  Paul  Thomas <pault@gcc.gnu.org>
885         * io/list_read.c (nml_touch_nodes, nml_read_obj,
886         nml_get_obj_data): Fix memory leaks in code for derived types.
888 2005-04-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
890         PR libfortran/20950
891         * io/inquire.c (inquire_via_unit): Check for the gfc_unit being
892         NULL when setting ioparm.sequential.
894 2005-04-17  Thomas Koenig  <Thomas.Koenig@online.de>
896         PR libfortran/21075
897         * m4/reshape.m4 (reshape_`'rtype_kind):  Change dimension
898         of auxiliary arrays from GFC_MAX_DIMENSIONS - 1 to
899         GFC_MAX_DIMENSIONS.
900         * intrinsics/reshape_generic.c (reshape_generic):  Likewise.
901         * generated/reshape_i4.c:  Regenerated.
902         * generated/reshape_i8.c:  Regenerated.
904 2005-04-17 Paul Thomas <pault@gcc.gnu.org>
906         * io/list_read.c (eat_separator): at_eol = 1 replaced
907         (zapped at some time?).
909 2005-04-17 Paul Thomas <pault@gcc.gnu.org>
911         PR libgfortran/12884
912         PR libgfortran/17285
913         PR libgfortran/18122
914         PR libgfortran/18210
915         PR libgfortran/18392
916         PR libgfortran/18591
917         PR libgfortran/18879
918         * io/io.h (nml_ls): Declare.
919         (namelist_info): Modify for arrays.
920         * io/list_read.c (namelist_read): Reduced to call to new functions.
921         (match_namelist_name): Simplified.
922         (nml_query): Handles stdin queries ? and =?. New function.
923         (nml_get_obj_data): Parses object name. New function.
924         (touch_nml_nodes): Marks objects for read. New function.
925         (untouch_nml_nodes): Resets objects. New function.
926         (parse_qualifier): Parses and checks qualifiers. New function
927         (nml_read_object): Reads and stores object data. New function.
928         (eat_separator): No new_record on '/' in namelist.
929         (finish_separator): No new_record on '/' in namelist.
930         (read_logical): Error return for namelist.
931         (read_integer): Error return for namelist.
932         (read_complex): Error return for namelist.
933         (read_real): Error return for namelist.
934         * io/lock.c (library_end): Free extended namelist_info types.
935         * io/transfer.c (st_set_nml_var): Modified for arrays.
936         (st_set_nml_var_dim): Dimension descriptors. New function.
937         * io/write.c (namelist_write): Reduced to call to new functions.
938         (nml_write_obj): Writes output for object. New function.
939         (write_integer): Suppress leading blanks for repeat counts.
940         (write_int): Suppress leading blanks for repeat counts.
941         (write_float): Suppress leading blanks for repeat counts.
942         (output_float): Suppress leading blanks for repeat counts.
944 2005-04-15  Thomas Koenig  <Thomas.Koenig@online.de>
946         PR libfortran/18495
947         * intrinsics/spread_generic.c (spread):  Remove const from
948         return array descriptor.
949         New variables: rrank (rank of return array),  rs (for
950         calculating the size of the return array), srank (rank
951         of the source array).
952         Generate runtime error if the dim= argument is larger than
953         the rank of the return array.
954         Generate runtime error if the needed rank of the return
955         array is larger than 7.
956         If ret->data is null, populate the return array descriptor
957         and initialize the variables for the actual operation.
958         Otherwise, set ret->dim[0].stride to one if it is zero.
959         Change second, independent use of variable dim to srank.
961 2005-04-12  Mike Stump  <mrs@apple.com>
963         * configure: Regenerate.
965 2005-04-13  Thomas Koenig  <Thomas.Koenig@online.de>
967         PR libfortran/19106
968         * m4/iforeach.c (name`'rtype_qual`_'atype_code):  Add TODO
969         that setting correct strides is a front end job.
970         (`m'name`'rtype_qual`_'atype_code):  Likewise.  If mask has
971         a lowest stride of 0, adjust to 1.
972         * m4/ifunction.c (name`'rtype_qual`_'atype_code):  Add TODO
973         that setting correct strides is a front end job.
974         (`m'name`'rtype_qual`_'atype_code):  Likewise.  If mask has
975         a lowest stride of 0, adjust to 1.
976         * maxloc0_4_i4.c: Regenerated
977         * maxloc0_4_i8.c: Regenerated
978         * maxloc0_4_r4.c: Regenerated
979         * maxloc0_4_r8.c: Regenerated
980         * maxloc0_8_i4.c: Regenerated
981         * maxloc0_8_i8.c: Regenerated
982         * maxloc0_8_r4.c: Regenerated
983         * maxloc0_8_r8.c: Regenerated
984         * maxloc1_4_i4.c: Regenerated
985         * maxloc1_4_i8.c: Regenerated
986         * maxloc1_4_r4.c: Regenerated
987         * maxloc1_4_r8.c: Regenerated
988         * maxloc1_8_i4.c: Regenerated
989         * maxloc1_8_i8.c: Regenerated
990         * maxloc1_8_r4.c: Regenerated
991         * maxloc1_8_r8.c: Regenerated
992         * maxval_i4.c: Regenerated
993         * maxval_i8.c: Regenerated
994         * maxval_r4.c: Regenerated
995         * maxval_r8.c: Regenerated
996         * minloc0_4_i4.c: Regenerated
997         * minloc0_4_i8.c: Regenerated
998         * minloc0_4_r4.c: Regenerated
999         * minloc0_4_r8.c: Regenerated
1000         * minloc0_8_i4.c: Regenerated
1001         * minloc0_8_i8.c: Regenerated
1002         * minloc0_8_r4.c: Regenerated
1003         * minloc0_8_r8.c: Regenerated
1004         * minloc1_4_i4.c: Regenerated
1005         * minloc1_4_i8.c: Regenerated
1006         * minloc1_4_r4.c: Regenerated
1007         * minloc1_4_r8.c: Regenerated
1008         * minloc1_8_i4.c: Regenerated
1009         * minloc1_8_i8.c: Regenerated
1010         * minloc1_8_r4.c: Regenerated
1011         * minloc1_8_r8.c: Regenerated
1012         * minval_i4.c: Regenerated
1013         * minval_i8.c: Regenerated
1014         * minval_r4.c: Regenerated
1015         * minval_r8.c: Regenerated
1016         * product_c4.c: Regenerated
1017         * product_c8.c: Regenerated
1018         * product_i4.c: Regenerated
1019         * product_i8.c: Regenerated
1020         * product_r4.c: Regenerated
1021         * product_r8.c: Regenerated
1022         * sum_c4.c: Regenerated
1023         * sum_c8.c: Regenerated
1024         * sum_i4.c: Regenerated
1025         * sum_i8.c: Regenerated
1026         * sum_r4.c: Regenerated
1027         * sum_r8.c: Regenerated
1029 2005-04-10  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1031         PR libfortran/20788
1032         * runtime/environ.c (init_unsigned_integer): Function for
1033         environment variables we want to be positive.
1034         (init_integer): Function to allow negative environment
1035         variables (e.g. for GFORTRAN_STDIN_UNIT).
1037 2005-04-10  Thomas Koenig <Thomas.Koenig@online.de>
1039         PR libfortran/17992
1040         PR libfortran/19568
1041         PR libfortran/19595
1042         PR libfortran/20005
1043         PR libfortran/20092
1044         PR libfortran/20131
1045         PR libfortran/20661
1046         PR libfortran/20744
1047         * io/transfer.c (top level): eor_condition: New static variable.
1048         (read_sf): Remove unnecessary zeroing of buffer (there is enough
1049         information in its length).
1050         Return a string of length 0 (to be padded by caller) if EOR was
1051         seen previously.
1052         Remove erroneous special casing of EOR for standard input.
1053         Set eor_condition for non-advancing I/O if an end of line was
1054         detected.
1055         Increment ioparm.size if necessary.
1056         (formatted_transfer):  Skip the function if there is an EOR condition.
1057         (data_transfer_init):  Initialize eor_condition to zero (false).
1058         (next_record_r):  Clear sf_seen_eor if a \n has been seen already.
1059         (finalize_transfer):  If there is an EOR condition, raise the error.
1061 2005-04-09  Bud Davis  <bdavis@gfortran.org>
1062             Steven G. Kargl <kargls@comcast.net>
1064         PR fortran/19872
1065         * io/transfer.c (data_transfer_init): truncate an existing
1066         file on the first write.
1068 2005-04-09  Thomas Koenig  <Thomas.Koenig@online.de>
1070         PR libfortran/19106
1071         PR libfortran/19014
1072         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): ditto.
1073         If retarray->data is NULL (i.e. the front end does not
1074         know the rank and dimenson of the array), fill in its
1075         properties and allocate memory.
1076         Change the assertions about rank and dimension of retarray into
1077         runtime errors and only check them for retarray->data != NULL.
1078         Do the same for correcting the stride from 0 to 1 in retarray.
1079         (`m'name`'rtype_qual`_'atype_code): Likewise.
1080         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Likewise.
1081         Change assertion about rank of array to runtime error.
1082         (`m'name`'rtype_qual`_'atype_code): Likewise.
1083         * generated/all_l4.c: Regenerated.
1084         * generated/all_l8.c: Regenerated.
1085         * generated/any_l4.c: Regenerated.
1086         * generated/any_l8.c: Regenerated.
1087         * generated/count_4_l4.c: Regenerated.
1088         * generated/count_4_l8.c: Regenerated.
1089         * generated/count_8_l4.c: Regenerated.
1090         * generated/count_8_l8.c: Regenerated.
1091         * generated/maxloc0_4_i4.c: Regenerated.
1092         * generated/maxloc0_4_i8.c: Regenerated.
1093         * generated/maxloc0_4_r4.c: Regenerated.
1094         * generated/maxloc0_4_r8.c: Regenerated.
1095         * generated/maxloc0_8_i4.c: Regenerated.
1096         * generated/maxloc0_8_i8.c: Regenerated.
1097         * generated/maxloc0_8_r4.c: Regenerated.
1098         * generated/maxloc0_8_r8.c: Regenerated.
1099         * generated/maxloc1_4_i4.c: Regenerated.
1100         * generated/maxloc1_4_i8.c: Regenerated.
1101         * generated/maxloc1_4_r4.c: Regenerated.
1102         * generated/maxloc1_4_r8.c: Regenerated.
1103         * generated/maxloc1_8_i4.c: Regenerated.
1104         * generated/maxloc1_8_i8.c: Regenerated.
1105         * generated/maxloc1_8_r4.c: Regenerated.
1106         * generated/maxloc1_8_r8.c: Regenerated.
1107         * generated/maxval_i4.c: Regenerated.
1108         * generated/maxval_i8.c: Regenerated.
1109         * generated/maxval_r4.c: Regenerated.
1110         * generated/maxval_r8.c: Regenerated.
1111         * generated/minloc0_4_i4.c: Regenerated.
1112         * generated/minloc0_4_i8.c: Regenerated.
1113         * generated/minloc0_4_r4.c: Regenerated.
1114         * generated/minloc0_4_r8.c: Regenerated.
1115         * generated/minloc0_8_i4.c: Regenerated.
1116         * generated/minloc0_8_i8.c: Regenerated.
1117         * generated/minloc0_8_r4.c: Regenerated.
1118         * generated/minloc0_8_r8.c: Regenerated.
1119         * generated/minloc1_4_i4.c: Regenerated.
1120         * generated/minloc1_4_i8.c: Regenerated.
1121         * generated/minloc1_4_r4.c: Regenerated.
1122         * generated/minloc1_4_r8.c: Regenerated.
1123         * generated/minloc1_8_i4.c: Regenerated.
1124         * generated/minloc1_8_i8.c: Regenerated.
1125         * generated/minloc1_8_r4.c: Regenerated.
1126         * generated/minloc1_8_r8.c: Regenerated.
1127         * generated/minval_i4.c: Regenerated.
1128         * generated/minval_i8.c: Regenerated.
1129         * generated/minval_r4.c: Regenerated.
1130         * generated/minval_r8.c: Regenerated.
1131         * generated/product_c4.c: Regenerated.
1132         * generated/product_c8.c: Regenerated.
1133         * generated/product_i4.c: Regenerated.
1134         * generated/product_i8.c: Regenerated.
1135         * generated/product_r4.c: Regenerated.
1136         * generated/product_r8.c: Regenerated.
1137         * generated/sum_c4.c: Regenerated.
1138         * generated/sum_c8.c: Regenerated.
1139         * generated/sum_i4.c: Regenerated.
1140         * generated/sum_i8.c: Regenerated.
1141         * generated/sum_r4.c: Regenerated.
1142         * generated/sum_r8.c: Regenerated.
1144 2005-04-09  Thomas Koenig <Thomas.Koenig@online.de>
1146         PR libfortran/20163
1147         * runtime/string.c (compare0): Use fstrlen() to
1148         strip trailing blanks from option string.
1150 2005-04-09  Andrew Pinski  <pinskia@physics.uc.edu>
1152         PR fortran/13257
1153         * format.c (parse_format_list): Allow an optional comma
1154         between descriptors.
1156 2005-04-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
1158         * io/backspace.c (unformatted_backspace): Do not dereference
1159         the pointer to the stream.
1161 2005-04-07  Andrew Pinski  <pinskia@physics.uc.edu>
1163         PR libfortran/20766
1164         * configure.ac (extra_ldflags_libgfortran): Set for *-darwin* to
1165         "-Wl,-single_module".
1166         * configure: Regenerate.
1167         * Makefile.am (libgfortran_la_LDFLAGS): Add extra_ldflags_libgfortran.
1168         * Makefile.in: Regenerate.
1170 2005-04-05  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1172         PR libfortran/20755
1173         * write.c (write_float): A G edit descriptor may locally change
1174         the scale factor, but it needs to be restored afterwards.
1176 2005-04-03  Dale Ranta  <dir@lanl.gov>
1177             Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1179         PR libfortran/20068
1180         PR libfortran/20125
1181         PR libfortran/20156
1182         PR libfortran/20471
1183         * io/backspace.c (unformatted_backspace): Fix error in arithmetic.
1184         (st_backspace): When in WRITING mode, we flush and falling back
1185         into READING mode. In all cases, correctly position the stream.
1187 2005-03-31  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1189         PR libfortran/20660
1190         * io/inquire.c (inquire_via_unit): Non-opened units should still be
1191         reported by an INQUIRE statement as existing.
1192         * io/transfer.c (data_transfer_init): Never accept negative units.
1194 2005-03-29  Dale Ranta  <dir@lanl.gov>
1195             Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1197         PR libfortran/20163
1198         * io/open.c (st_open): call library_end() before returning even if
1199         an error arises.
1201 2005-03-25  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1203         PR libfortran/19678
1204         * list_read.c (next_char, eat_separator, finish_separator, read_real)
1205         (namelist_read): Add support for '\r' as well as '\n' as EOL
1206         character.
1208         PR libfortran/19679
1209         * list_read.c (read_sf): Add a '\r' in a test to support DOS
1210         line-endings when line length is exceeded.
1212 2005-03-25  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1214         PR libfortran/15332
1215         * io/format.c (parse_format_list): format node for colon edit
1216         descriptor needs a repeat counter set to 1.
1218 2005-02-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1220         * config.h.in: Regenerate.
1222 2005-02-23  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1224         PR libfortran/18025
1225         * write.c (output_float): Handling the "F0.d" format similarly as
1226         commercial compilers.
1228 2005-03-22  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1230         * Makefile.am: Added new files.
1231         * Makefile.in: Regenerate.
1232         * aclocal.m4: Regenerate.
1233         * configure.ac: add checks for signal.h headers file, as well as
1234         following functions: chdir, strerror, getlogin, gethostname, kill,
1235         link, symlink, perror, sleep, time.
1236         * configure: Regenerate.
1237         * intrinsics/chdir.c, intrinsics/gerror.c, intrinsics/getlog.c,
1238         intrinsics/hostnm.c, intrinsics/ierrno.c, intrinsics/kill.c,
1239         intrinsics/link.c, intrinsics/perror.c, intrinsics/rename.c,
1240         intrinsics/sleep.c, intrinsics/symlnk.c, intrinsics/time.c: Newly
1241         implementend g77 intrinsics.
1243 2005-03-21  Zack Weinberg  <zack@codesourcery.com>
1245         * configure.ac: Do not invoke TL_AC_GCC_VERSION.
1246         In all substitutions, leave gcc_version to be expanded by the Makefile.
1247         * aclocal.m4, configure: Regenerate.
1248         * Makefile.am: Set gcc_version.
1249         * Makefile.in: Regenerate.
1251 2005-03-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1253         PR libfortran/20257
1254         * open.c (new_unit): set record length to max_offset rather than
1255           using a hard-coded limit (which was too low).
1257 2005-03-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1259         PR libfortran/20480
1260         * write.c (output_float): special check when writing 0.0 with
1261           EN and ES formats.
1263 2005-03-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1265         PR libfortran/20124
1266         * write.c (output_float): Adds a nzero_real variable to store
1267         the number of leading zeros whatever the format width is. Corrects
1268         the rounding of numbers less than 10^(-width). Fixes typo in an
1269         error message. Updates copyright years
1271 2005-02-27  Toon Moene  <toon@moene.indiv.nluug.nl>
1273         * runtime/environ.c: Update copyright years.
1275 2005-02-27  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1277         * io/write.c: Update copyright years.
1279 2005-02-27  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1281         PR libfortran/20101
1282         * io/write.c (output_float): Added special check for value 0.0 in
1283         PE format.
1285 2004-02-27  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1287         * io/write.c (output_float): Fix typo in condition.
1289 2005-02-25  Peter O'Gorman  <peter@pogma.com>
1290             Toon Moene  <toon@moene.indiv.nluug.nl>
1292         PR libgfortran/17748
1293         * runtime/environ.c: Remove references to environ.
1294         (show_variables): remove GFORTRAN_UNBUFFERED_* and
1295         GFORTRAN_NAME_* because they require environ.
1296         (pattern_scan): Remove function.
1298 2004-02-22  Paul Thomas <paulthomas2@wannado.fr>
1299             Bud Davis  <bdavis@gfortran.org>
1301         * io/list_read.c (read_real): Handle separators properly
1302         in list directed read.
1304 2004-02-21  Bud Davis  <bdavis@gfortran.org>
1306         PR fortran/20086
1307         * io/transfer.c (write_constant_string): accept an 'h' as
1308         the start of a hollerith format string.
1310 2005-02-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
1312         PR libfortran/19302
1313         * intrinsics/c99_functions.c (nextafterf): Special-case infinite
1314         numbers.
1316 2005-02-21  Steven G. Kargl  <kargls@comcast.net>
1318         * io/write.c (output_float):  Typo in error meesage.
1320 2005-02-20  Steven G. Kargl  <kargls@comcast.net>
1322         PR 20085
1323         * intrinsic/args.c (iargc): Off by 1.
1325 2005-02-19  Steven G. Kargl  <kargls@comcast.net>
1327         *  intrinsic/date_and_time.c: Fix conformance problems.
1329 2005-02-01  Paul Thomas <paulthomas2@wanadoo.fr>
1331         PR libgfortran/19363
1332         PR libgfortran/19691
1333         * libgfortran.h (isfinite): Work around broken isfinite(x) in Cygwin.
1335 2005-01-30  Bud Davis  <bdavis@gfortran.org>
1337         PR fortran/19647
1338         * io/inquire.c (inquire_via_unit): Use correct variable for
1339         pad.
1341 2005-01-29  Thomas Koenig  <Thomas.Koenig@online.de>
1343         PR libfortran/19595
1344         * io/transfer.c (data_transfer_init): eor requires advance="NO".
1346 2005-01-25  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1348         PR libfortran/19524
1349         * io/read.c (read_f): Don't free uninitialized pointer.
1351 2005-01-23  James A. Morrison  <phython@gcc.gnu.org>
1352         Paul Brook  <paul@codesourcery.com>
1354         PR fortran/19294
1355         * Makefile.am: Add transpose_c4.c and transpose_c8.c.
1356         * intrinsics/cshift0.c: Use separate optimized loops for complex types.
1357         * m4/transpose.m4: Include type letter in function name.
1358         * Makefile.in: Regenerate.
1359         * generated/transpose_*.c: Regenerate.
1361 2005-01-22  Thomas Koenig  <Thomas.Koenig@online.de>
1363         PR libfortran/19451
1364         * io/transfer.c (finalize_transfer):  Don't do anything if
1365         there is an error condition.
1367 2005-01-22  David Edelsohn  <edelsohn@gnu.org>
1369         PR libgfortran/19052
1370         * libgfortran.h (options_t): Add stderr_unit.
1371         * io/io.h (error_stream): Declare.
1372         * io/open.c (new_unit): Do not terminate abnormally if opening
1373         file preconnected to stdin, stdout, or stderr.
1374         * io/unit.c (init_units): Initialize stderr_unit.
1375         * io/unix.c (error_stream): New function.
1376         * runtime/environ.c (GFORTRAN_STDERR_UNIT): New environment variable.
1378 2005-01-22  Thomas Koenig  <Thomas.Koenig@online.de>
1380         PR libfortran/18982
1381         * io/unix.c (regular_file):  No need to change flags->action
1382         if an error occurs.  Document this.
1383         No need to call stat() for STATUS_OLD, open() will
1384         fail anyway.
1385         For ACTION_UNSPECIFIED, try open for read-write, then for
1386         read-only if open fails with EACCES, then for write-only
1387         if that fails with EACCES again.
1388         * io/unix.c (open_external): Document changed behavior of
1389         regular_file.
1391 2005-01-22  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1393         PR fortran/19194
1394         * io/io.h (st_parameter): Use 'GFC_INTEGER_4' instead of 'int',
1395         use CHARACTER macro for definition of string valued paramters.
1397 2005-01-22  Bud Davis  <bdavis9659@comcast.net>
1399         PR fortran/19314
1400         * io/inquire.c(inquire_via_unit): implement POSITION=.
1401         * io/transfer.c(next_record): update position for
1402         INQUIRE.
1403         * io/rewind.c(st_rewind): update position for
1404         INQUIRE.
1406 2005-01-16  Bud Davis  <bdavis9659@comcast.net>
1408         PR fortran/18778
1409         * io/transfer.c (us_read): no bytes available is not a
1410         runtime error.
1412 2005-01-15  Bud Davis  <bdavis9659@comcast.net>
1414         PR fortran/18983
1415         * io/transfer.c (st_write_done): only truncate when it
1416         is required.
1418 2005-01-12  Toon Moene  <toon@moene.indiv.nluug.nl>
1420         PR libfortran/19280
1421         c99_protos.h: License changed to GPL+exception.
1422         libgfortran.h: Ditto.
1423         intrinsics/abort.c: Ditto.
1424         intrinsics/args.c: Ditto.
1425         intrinsics/associated.c: Ditto.
1426         intrinsics/bessel.c: Ditto.
1427         intrinsics/c99_functions.c: Ditto.
1428         intrinsics/cpu_time.c: Ditto.
1429         intrinsics/cshift0.c: Ditto.
1430         intrinsics/date_and_time.c: Ditto.
1431         intrinsics/env.c: Ditto.
1432         intrinsics/eoshift0.c: Ditto.
1433         intrinsics/eoshift2.c: Ditto.
1434         intrinsics/erf.c: Ditto.
1435         intrinsics/etime.c: Ditto.
1436         intrinsics/exit.c: Ditto.
1437         intrinsics/flush.c: Ditto.
1438         intrinsics/fnum.c: Ditto.
1439         intrinsics/getXid.c: Ditto.
1440         intrinsics/getcwd.c: Ditto.
1441         intrinsics/ishftc.c: Ditto.
1442         intrinsics/mvbits.c: Ditto.
1443         intrinsics/pack_generic.c: Ditto.
1444         intrinsics/rand.c: Ditto.
1445         intrinsics/random.c: Ditto.
1446         intrinsics/reshape_generic.c: Ditto.
1447         intrinsics/reshape_packed.c: Ditto.
1448         intrinsics/size.c: Ditto.
1449         intrinsics/spread_generic.c: Ditto.
1450         intrinsics/stat.c: Ditto.
1451         intrinsics/string_intrinsics.c: Ditto.
1452         intrinsics/system.c: Ditto.
1453         intrinsics/system_clock.c: Ditto.
1454         intrinsics/transpose_generic.c: Ditto.
1455         intrinsics/umask.c: Ditto.
1456         intrinsics/unlink.c: Ditto.
1457         intrinsics/unpack_generic.c: Ditto.
1458         io/backspace.c: Ditto.
1459         io/close.c: Ditto.
1460         io/endfile.c: Ditto.
1461         io/format.c: Ditto.
1462         io/inquire.c: Ditto.
1463         io/io.h: Ditto.
1464         io/list_read.c: Ditto.
1465         io/lock.c: Ditto.
1466         io/open.c: Ditto.
1467         io/read.c: Ditto.
1468         io/rewind.c: Ditto.
1469         io/transfer.c: Ditto.
1470         io/unit.c: Ditto.
1471         io/unix.c: Ditto.
1472         io/write.c: Ditto.
1473         m4/all.m4: Ditto.
1474         m4/any.m4: Ditto.
1475         m4/cexp.m4: Ditto.
1476         m4/chyp.m4: Ditto.
1477         m4/count.m4: Ditto.
1478         m4/cshift1.m4: Ditto.
1479         m4/ctrig.m4: Ditto.
1480         m4/dotprod.m4: Ditto.
1481         m4/dotprodc.m4: Ditto.
1482         m4/dotprodl.m4: Ditto.
1483         m4/eoshift1.m4: Ditto.
1484         m4/eoshift3.m4: Ditto.
1485         m4/exponent.m4: Ditto.
1486         m4/fraction.m4: Ditto.
1487         m4/head.m4: Ditto.
1488         m4/iforeach.m4: Ditto.
1489         m4/ifunction.m4: Ditto.
1490         m4/in_pack.m4: Ditto.
1491         m4/in_unpack.m4: Ditto.
1492         m4/iparm.m4: Ditto.
1493         m4/matmul.m4: Ditto.
1494         m4/matmull.m4: Ditto.
1495         m4/maxloc0.m4: Ditto.
1496         m4/maxloc1.m4: Ditto.
1497         m4/maxval.m4: Ditto.
1498         m4/minloc0.m4: Ditto.
1499         m4/minloc1.m4: Ditto.
1500         m4/minval.m4: Ditto.
1501         m4/mtype.m4: Ditto.
1502         m4/nearest.m4: Ditto.
1503         m4/pow.m4: Ditto.
1504         m4/product.m4: Ditto.
1505         m4/reshape.m4: Ditto.
1506         m4/set_exponent.m4: Ditto.
1507         m4/shape.m4: Ditto.
1508         m4/specific.m4: Ditto.
1509         m4/specific2.m4: Ditto.
1510         m4/sum.m4: Ditto.
1511         m4/transpose.m4: Ditto.
1512         m4/types.m4: Ditto.
1513         runtime/environ.c: Ditto.
1514         runtime/error.c: Ditto.
1515         runtime/in_pack_generic.c: Ditto.
1516         runtime/in_unpack_generic.c: Ditto.
1517         runtime/main.c: Ditto.
1518         runtime/memory.c: Ditto.
1519         runtime/normalize.c: Ditto.
1520         runtime/pause.c: Ditto.
1521         runtime/select.c: Ditto.
1522         runtime/stop.c: Ditto.
1523         runtime/string.c: Ditto.
1524         generated/_abs_c4.f90: Regenerated.
1525         generated/_abs_c8.f90: Regenerated.
1526         generated/_abs_i4.f90: Regenerated.
1527         generated/_abs_i8.f90: Regenerated.
1528         generated/_abs_r4.f90: Regenerated.
1529         generated/_abs_r8.f90: Regenerated.
1530         generated/_acos_r4.f90: Regenerated.
1531         generated/_acos_r8.f90: Regenerated.
1532         generated/_aint_r4.f90: Regenerated.
1533         generated/_aint_r8.f90: Regenerated.
1534         generated/_anint_r4.f90: Regenerated.
1535         generated/_anint_r8.f90: Regenerated.
1536         generated/_asin_r4.f90: Regenerated.
1537         generated/_asin_r8.f90: Regenerated.
1538         generated/_atan2_r4.f90: Regenerated.
1539         generated/_atan2_r8.f90: Regenerated.
1540         generated/_atan_r4.f90: Regenerated.
1541         generated/_atan_r8.f90: Regenerated.
1542         generated/_conjg_c4.f90: Regenerated.
1543         generated/_conjg_c8.f90: Regenerated.
1544         generated/_cos_c4.f90: Regenerated.
1545         generated/_cos_c8.f90: Regenerated.
1546         generated/_cos_r4.f90: Regenerated.
1547         generated/_cos_r8.f90: Regenerated.
1548         generated/_cosh_r4.f90: Regenerated.
1549         generated/_cosh_r8.f90: Regenerated.
1550         generated/_dim_i4.f90: Regenerated.
1551         generated/_dim_i8.f90: Regenerated.
1552         generated/_dim_r4.f90: Regenerated.
1553         generated/_dim_r8.f90: Regenerated.
1554         generated/_exp_c4.f90: Regenerated.
1555         generated/_exp_c8.f90: Regenerated.
1556         generated/_exp_r4.f90: Regenerated.
1557         generated/_exp_r8.f90: Regenerated.
1558         generated/_log10_r4.f90: Regenerated.
1559         generated/_log10_r8.f90: Regenerated.
1560         generated/_log_c4.f90: Regenerated.
1561         generated/_log_c8.f90: Regenerated.
1562         generated/_log_r4.f90: Regenerated.
1563         generated/_log_r8.f90: Regenerated.
1564         generated/_mod_i4.f90: Regenerated.
1565         generated/_mod_i8.f90: Regenerated.
1566         generated/_mod_r4.f90: Regenerated.
1567         generated/_mod_r8.f90: Regenerated.
1568         generated/_sign_i4.f90: Regenerated.
1569         generated/_sign_i8.f90: Regenerated.
1570         generated/_sign_r4.f90: Regenerated.
1571         generated/_sign_r8.f90: Regenerated.
1572         generated/_sin_c4.f90: Regenerated.
1573         generated/_sin_c8.f90: Regenerated.
1574         generated/_sin_r4.f90: Regenerated.
1575         generated/_sin_r8.f90: Regenerated.
1576         generated/_sinh_r4.f90: Regenerated.
1577         generated/_sinh_r8.f90: Regenerated.
1578         generated/_sqrt_c4.f90: Regenerated.
1579         generated/_sqrt_c8.f90: Regenerated.
1580         generated/_sqrt_r4.f90: Regenerated.
1581         generated/_sqrt_r8.f90: Regenerated.
1582         generated/_tan_r4.f90: Regenerated.
1583         generated/_tan_r8.f90: Regenerated.
1584         generated/_tanh_r4.f90: Regenerated.
1585         generated/_tanh_r8.f90: Regenerated.
1586         generated/all_l4.c: Regenerated.
1587         generated/all_l8.c: Regenerated.
1588         generated/any_l4.c: Regenerated.
1589         generated/any_l8.c: Regenerated.
1590         generated/count_4_l4.c: Regenerated.
1591         generated/count_4_l8.c: Regenerated.
1592         generated/count_8_l4.c: Regenerated.
1593         generated/count_8_l8.c: Regenerated.
1594         generated/cshift1_4.c: Regenerated.
1595         generated/cshift1_8.c: Regenerated.
1596         generated/dotprod_c4.c: Regenerated.
1597         generated/dotprod_c8.c: Regenerated.
1598         generated/dotprod_i4.c: Regenerated.
1599         generated/dotprod_i8.c: Regenerated.
1600         generated/dotprod_l4.c: Regenerated.
1601         generated/dotprod_l8.c: Regenerated.
1602         generated/dotprod_r4.c: Regenerated.
1603         generated/dotprod_r8.c: Regenerated.
1604         generated/eoshift1_4.c: Regenerated.
1605         generated/eoshift1_8.c: Regenerated.
1606         generated/eoshift3_4.c: Regenerated.
1607         generated/eoshift3_8.c: Regenerated.
1608         generated/exp_c4.c: Regenerated.
1609         generated/exp_c8.c: Regenerated.
1610         generated/exponent_r4.c: Regenerated.
1611         generated/exponent_r8.c: Regenerated.
1612         generated/fraction_r4.c: Regenerated.
1613         generated/fraction_r8.c: Regenerated.
1614         generated/hyp_c4.c: Regenerated.
1615         generated/hyp_c8.c: Regenerated.
1616         generated/in_pack_i4.c: Regenerated.
1617         generated/in_pack_i8.c: Regenerated.
1618         generated/in_unpack_i4.c: Regenerated.
1619         generated/in_unpack_i8.c: Regenerated.
1620         generated/matmul_c4.c: Regenerated.
1621         generated/matmul_c8.c: Regenerated.
1622         generated/matmul_i4.c: Regenerated.
1623         generated/matmul_i8.c: Regenerated.
1624         generated/matmul_l4.c: Regenerated.
1625         generated/matmul_l8.c: Regenerated.
1626         generated/matmul_r4.c: Regenerated.
1627         generated/matmul_r8.c: Regenerated.
1628         generated/maxloc0_4_i4.c: Regenerated.
1629         generated/maxloc0_4_i8.c: Regenerated.
1630         generated/maxloc0_4_r4.c: Regenerated.
1631         generated/maxloc0_4_r8.c: Regenerated.
1632         generated/maxloc0_8_i4.c: Regenerated.
1633         generated/maxloc0_8_i8.c: Regenerated.
1634         generated/maxloc0_8_r4.c: Regenerated.
1635         generated/maxloc0_8_r8.c: Regenerated.
1636         generated/maxloc1_4_i4.c: Regenerated.
1637         generated/maxloc1_4_i8.c: Regenerated.
1638         generated/maxloc1_4_r4.c: Regenerated.
1639         generated/maxloc1_4_r8.c: Regenerated.
1640         generated/maxloc1_8_i4.c: Regenerated.
1641         generated/maxloc1_8_i8.c: Regenerated.
1642         generated/maxloc1_8_r4.c: Regenerated.
1643         generated/maxloc1_8_r8.c: Regenerated.
1644         generated/maxval_i4.c: Regenerated.
1645         generated/maxval_i8.c: Regenerated.
1646         generated/maxval_r4.c: Regenerated.
1647         generated/maxval_r8.c: Regenerated.
1648         generated/minloc0_4_i4.c: Regenerated.
1649         generated/minloc0_4_i8.c: Regenerated.
1650         generated/minloc0_4_r4.c: Regenerated.
1651         generated/minloc0_4_r8.c: Regenerated.
1652         generated/minloc0_8_i4.c: Regenerated.
1653         generated/minloc0_8_i8.c: Regenerated.
1654         generated/minloc0_8_r4.c: Regenerated.
1655         generated/minloc0_8_r8.c: Regenerated.
1656         generated/minloc1_4_i4.c: Regenerated.
1657         generated/minloc1_4_i8.c: Regenerated.
1658         generated/minloc1_4_r4.c: Regenerated.
1659         generated/minloc1_4_r8.c: Regenerated.
1660         generated/minloc1_8_i4.c: Regenerated.
1661         generated/minloc1_8_i8.c: Regenerated.
1662         generated/minloc1_8_r4.c: Regenerated.
1663         generated/minloc1_8_r8.c: Regenerated.
1664         generated/minval_i4.c: Regenerated.
1665         generated/minval_i8.c: Regenerated.
1666         generated/minval_r4.c: Regenerated.
1667         generated/minval_r8.c: Regenerated.
1668         generated/nearest_r4.c: Regenerated.
1669         generated/nearest_r8.c: Regenerated.
1670         generated/pow_c4_i4.c: Regenerated.
1671         generated/pow_c4_i8.c: Regenerated.
1672         generated/pow_c8_i4.c: Regenerated.
1673         generated/pow_c8_i8.c: Regenerated.
1674         generated/pow_i4_i4.c: Regenerated.
1675         generated/pow_i4_i8.c: Regenerated.
1676         generated/pow_i8_i4.c: Regenerated.
1677         generated/pow_i8_i8.c: Regenerated.
1678         generated/pow_r4_i4.c: Regenerated.
1679         generated/pow_r4_i8.c: Regenerated.
1680         generated/pow_r8_i4.c: Regenerated.
1681         generated/pow_r8_i8.c: Regenerated.
1682         generated/product_c4.c: Regenerated.
1683         generated/product_c8.c: Regenerated.
1684         generated/product_i4.c: Regenerated.
1685         generated/product_i8.c: Regenerated.
1686         generated/product_r4.c: Regenerated.
1687         generated/product_r8.c: Regenerated.
1688         generated/reshape_i4.c: Regenerated.
1689         generated/reshape_i8.c: Regenerated.
1690         generated/set_exponent_r4.c: Regenerated.
1691         generated/set_exponent_r8.c: Regenerated.
1692         generated/shape_i4.c: Regenerated.
1693         generated/shape_i8.c: Regenerated.
1694         generated/sum_c4.c: Regenerated.
1695         generated/sum_c8.c: Regenerated.
1696         generated/sum_i4.c: Regenerated.
1697         generated/sum_i8.c: Regenerated.
1698         generated/sum_r4.c: Regenerated.
1699         generated/sum_r8.c: Regenerated.
1700         generated/transpose_i4.c: Regenerated.
1701         generated/transpose_i8.c: Regenerated.
1702         generated/trig_c4.c: Regenerated.
1703         generated/trig_c8.c: Regenerated.
1705 2005-01-07  Bud Davis  <bdavis9659@comcast.net>
1707         PR fortran/18398
1708         * transfer.c (next_record_r): always skip the
1709         eol search if it was found during sf_read.
1711 2004-12-27  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1713         * libgfortran/libgfortran.h (GFC_UINTEGER_1, GFC_UINTEGER_2):
1714         Define.
1715         * intrinsics/ishftc.c: Update copyright years.
1716         (ishftc8): Change 'shift' and 'size' to GFC_INTEGER_4.
1717         * intrinsics/mvbits.c: Correct non-ASCII character in my name.
1718         Add implementations for GFC_INTEGER_1 and GFC_INTEGER_2.
1720 2004-12-23  Bud Davis  <bdavis9659@comcast.net>
1722         PR fortran/19071
1723         * io/tranfer.c (formatted_transfer): moved check for
1724         format reversion inside the processing loop.
1726 2004-12-19  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
1728         PR libfortran/19074
1729         * libgfortran.h (itoa): Rename to gfc_itoa.
1730         * io/write.c (itoa): Same.
1731         * runtime/environ.c (itoa): Same.
1732         * runtime/error.c (itoa): Same.
1734 2004-12-15  Bud Davis  <bdavis9659@comcast.net>
1735             Steven G. Kargl  <kargls@comcast.net>
1737         PR fortran/17597
1738         * io/list_read.c (read_real): do not push back a comma when
1739         it delimits a real value without a decimal point
1741 2004-12-14  Steve Ellcey  <sje@cup.hp.com>
1743         * libgfortran/io/transfer.c (us_read): Use memcpy/memset
1744         instead of assignment to fill unaligned buffer.
1745         (us_write): Ditto.
1746         (next_record_w): Ditto.
1748 2004-12-14  Steven G. Kargl  <kargls@comcast.net>
1750         PR libfortran/18966
1751         * gfortran.h: typedef GFC_INTEGER_1 and GFC_INTEGER_2
1752         * intrinsics/cshift0.c (cshift0_1,cshift0_2): New functions.
1753         * intrinsics/eoshift0.c (eoshift0_1,eoshift0_2): New functions.
1754         * intrinsics/eoshift2.c (eoshift2_1,eoshift2_2): New functions.
1756 2004-12-13  David Edelsohn  <edelsohn@gnu.org>
1758         * io/transfer.c (read_sf): Change bitwise "and" to logical "and".
1760 2004-12-12  Richard Henderson  <rth@redhat.com>
1762         * intrinsics/cshift0.c, intrinsics/eoshift0.c, intrinsics/eoshift2.c,
1763         intrinsics/pack_generic.c, intrinsics/reshape_generic.c,
1764         intrinsics/spread_generic.c, intrinsics/transpose_generic.c,
1765         intrinsics/unpack_generic.c, m4/cshift1.m4, m4/dotprod.m4,
1766         m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4, m4/eoshift3.m4,
1767         m4/iforeach.m4, m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4,
1768         m4/reshape.m4, m4/shape.m4, m4/transpose.m4: Use standard prefix
1769         instead of "__".
1770         * generated/*: Rebuild.
1772 2004-12-12  Richard Henderson  <rth@redhat.com>
1774         * acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY): New.
1775         (LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT): New.
1776         (LIBGFOR_CHECK_ATTRIBUTE_ALIAS): New.
1777         * configure.ac: Use them.
1778         * configure, config.h.in, aclocal.m4: Rebuild.
1779         * libgfortran.h (prefix): Remove.
1780         (PREFIX, IPREFIX): New.
1781         (sym_rename, sym_rename1, sym_rename2): New.
1782         (internal_proto, export_proto, export_proto_np): New.
1783         (iexport_proto, iexport): New.
1784         (iexport_data_proto, iexport_data): New.
1785         * intrinsics/abort.c, intrinsics/args.c, intrinsics/associated.c,
1786         intrinsics/cpu_time.c, intrinsics/cshift0.c,
1787         intrinsics/date_and_time.c, intrinsics/env.c, intrinsics/eoshift0.c,
1788         intrinsics/eoshift2.c, intrinsics/etime.c, intrinsics/exit.c,
1789         intrinsics/flush.c, intrinsics/fnum.c, intrinsics/getXid.c,
1790         intrinsics/getcwd.c, intrinsics/ishftc.c, intrinsics/mvbits.c,
1791         intrinsics/pack_generic.c, intrinsics/rand.c, intrinsics/random.c,
1792         intrinsics/reshape_generic.c, intrinsics/size.c,
1793         intrinsics/spread_generic.c, intrinsics/stat.c,
1794         intrinsics/string_intrinsics.c, intrinsics/system.c,
1795         intrinsics/system_clock.c, intrinsics/transpose_generic.c,
1796         intrinsics/umask.c, intrinsics/unlink.c, intrinsics/unpack_generic.c,
1797         io/backspace.c, io/close.c, io/endfile.c, io/inquire.c, io/io.h,
1798         io/open.c, io/rewind.c, io/transfer.c, libgfortran.h, m4/cshift1.m4,
1799         m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4,
1800         m4/eoshift3.m4, m4/exponent.m4, m4/fraction.m4, m4/iforeach.m4,
1801         m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/nearest.m4,
1802         m4/pow.m4, m4/reshape.m4, m4/set_exponent.m4, m4/shape.m4,
1803         m4/transpose.m4, runtime/environ.c, runtime/error.c,
1804         runtime/in_pack_generic.c, runtime/in_unpack_generic.c,
1805         runtime/main.c, runtime/memory.c, runtime/pause.c, runtime/select.c,
1806         runtime/stop.c: Use them to mark symbols internal or external.
1807         * generated/*: Rebuild.
1809 2004-12-09  David Edelsohn  <edelsohn@gnu.org>
1811         PR bootstrap/18895
1812         Revert 2004-12-07 change.
1813         * Makefile.am (AM_MAKEFLAGS): Delete.
1814         * Makefile.in: Regenerate.
1816 2004-12-07  Steve Ellcey  <sje@cup.hp.com>
1818         * libgfortran/Makefile.am (AM_MAKEFLAGS): New.
1819         * libgfortran/Makefile.in: Regenerate
1821 2004-12-07  Steve Ellcey  <sje@cup.hp.com>
1823         * io/io.h (open_external): Change prototype.
1824         * io/unix.c (regular_file): Change prototype and set flags->action if
1825         needed.
1826         (open_external): Ditto.
1827         * io/open.c (new_unit): Let open_external set flags->action.
1829 2004-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
1831         * configure.ac: Check for ieeefp.h.  Check for fabsf in libm.
1832         * configure: Regenerate.
1833         * config.h.in: Likewise.
1834         * c99_protos.h: New file.
1835         * libgfortran.h: Include c99_protos.h and conditionally ieeefp.h.
1836         * intrinsics/c99_functions.c (fabsf): New function.
1838 2004-12-06  Richard Henderson  <rth@redhat.com>
1840         * intrinsics/cshift0.c, intrinsics/eoshift0.c, intrinsics/eoshift2.c,
1841         intrinsics/pack_generic.c, intrinsics/string_intrinsics.c,
1842         intrinsics/transpose_generic.c, m4/ifunction.m4, m4/matmul.m4,
1843         m4/matmull.m4, m4/transpose.m4: Use internal_malloc_size instead
1844         of internal_malloc.
1845         * generated/*: Rebuild.
1847 2004-12-06  Richard Henderson  <rth@redhat.com>
1849         * intrinsics/c99_functions.c, intrinsics/eoshift0.c,
1850         intrinsics/eoshift2.c, intrinsics/exit.c, intrinsics/flush.c,
1851         intrinsics/ishftc.c, intrinsics/mvbits.c, intrinsics/pack_generic.c,
1852         intrinsics/random.c, intrinsics/reshape_generic.c, intrinsics/size.c,
1853         intrinsics/spread_generic.c, intrinsics/stat.c,
1854         intrinsics/string_intrinsics.c, intrinsics/system_clock.c,
1855         intrinsics/transpose_generic.c, intrinsics/unlink.c,
1856         intrinsics/unpack_generic.c, io/backspace.c, io/format.c,
1857         io/list_read.c, io/lock.c, io/open.c, io/transfer.c, io/unix.c,
1858         io/write.c, runtime/environ.c, runtime/error.c,
1859         runtime/in_pack_generic.c, runtime/in_unpack_generic.c, runtime/main.c,
1860         runtime/memory.c, runtime/pause.c, runtime/stop.c,
1861         runtime/string.c: Whitespace fixes.
1863 2004-12-06  Richard Henderson  <rth@redhat.com>
1865         * Makefile.am: Generate all m4 output under $(srcdir).
1866         * Makefile.in: Regenerate.
1868 2004-12-02  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1870         PR fortran/18710
1871         * io/transfer.c (unformatted_read, unformatted_write): width of
1872         a COMPLEX is twice its kind.
1874 2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
1876         * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
1877         * configure, aclocal.m4, Makefile.in: Regenerate.
1879 2004-12-02  Bud Davis  <bdavis9659@comcast.net>
1881         PR libfortran/18284
1882         * io/unix.c (fd_alloc_w_at): Update file_length when extending.
1883         * io/backspace.c (formatted_backspace): Reset endfile after backspace.
1885 2004-12-02  Bud Davis  <bdavis9659@comcast.net>
1887         * io/inquire.c (inquire_via_unit): do not allow a direct access
1888         file to be opened for sequential I/O.
1890 2004-12-02  Steven G. Kargl  <kargls@comcast.net>
1891         Paul Brook  <paul@codesourcery.com>
1893         * intrinsics/flush.c: New file.
1894         * intrinsics/fnum.c: ditto
1895         * intrinsics/stat.c: ditto
1896         * io/io.h (unit_to_fd): Add prototype.
1897         * io/unix.c (unit_to_fd): New function.
1898         * configure.ac: Add test for members of struct stat.  Check for
1899         sys/types.h and sys/stat.h
1900         * Makefile.am: Add intrinsics/{flush.c,fnum.c,stat.c}
1901         * configure.in: Regenerate.
1902         * config.h.in: Regenerate.
1903         * Makefile.in: Regenerate.
1905 2004-12-01  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
1907         * Makefile.am (AM_CPPFLAGS): Use -iquote instead of -I.
1909 2004-11-28  Bud Davis  <bdavis9659@comcast.net>
1911         * io/unix.c (mmap_alloc_w_a): check for a write to a location
1912         less than the mapped area.
1914 2004-11-27  Bud Davis  <bdavis9659@comcast.net>
1916         PR fortran/18364
1917         *  io/endfile.c (st_endfile): flush the stream before truncating.
1919 2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
1921         * configure: Regenerate for libtool change.
1923 2004-11-22  Steven Bosscher  <stevenb@suse.de>
1925         PR libfortran/15960
1926         * configure.ac: Check for finite in libm.
1927         * libgfortran.h: Define isfinite macro if not defined.
1928         * intrinsics/c99_functions.c: Use defined(fpclassify) instead of
1929         HAVE_FPCLASSIFY.
1930         * io/write.c (write_float): Use isfinite instead of finite.
1931         * configure, config.h.in: Rebuilt.
1933 2004-11-20  Roger Sayle  <roger@eyesopen.com>
1935         * io/write.c (write_float, list_formatted_write): Fix indentation.
1937 2004-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
1939         PR target/16135
1940         * acinclude.m4 (LIBGFOR_TARGET_ILP32): New check.
1941         * configure.ac: Include LIBGFOR_TARGET_ILP32.
1942         * configure: Regenerate.
1943         * config.h.in: Likewise.
1944         * libgfortran.h: Provide default definitions for C99 types
1945         on ILP32 targets that don't have them.
1947         PR target/17999
1948         * configure.ac: Check for snprintf.
1949         * configure: Regenerate.
1950         * config.h.in: Likewise.
1951         * intrinsics/date_and_time.c (date_and_time): Do not
1952         use snprinf if it is not available.
1953         * io/write.c (output_float): Likewise.
1955 2004-11-20  Steven G. Kargl  <kargls@comcast.net>
1957         * Makefile.am: Add intrinsics/{umask.c,unlink.c,exit.c}
1958         * Makefile.in: Regenerated
1959         * intrinsics/umask.c: New file
1960         * intrinsics/unlink.c: ditto
1961         * intrinsics/exit.c: ditto
1963 2004-11-18  Victor Leikehman  <lei@il.ibm.com>
1965         * m4/matmul.m4: Loops reordered to improve cache behavior.
1966         * generated/matmul_??.c: Regenerated.
1968 2004-11-10  Paul Brook  <paul@codesourcery.com>
1970         PR fortran/18218
1971         * configure.ac: Check for strtof.
1972         * configure: Regenerate.
1973         * config.h.in: Regenerate.
1974         * io/read.c (convert_real): Use strtof if available.
1975         (convert_precision_real): Remove.
1976         (read_f): Avoid poor exponentiation algorithm.
1978 2004-11-05  Andreas Schwab  <schwab@suse.de>
1980         * configure.ac: Use AC_PROG_FC, FC and FCFLAGS instead of
1981         AC_PROG_F77, F77 and FFLAGS.
1982         * Makefile.am (selected_int_kind.inc, selected_real_kind.inc): Use
1983         FCCOMPILE instead of F77COMPILE.
1984         * configure, Makefile.in: Regenerate.
1986 2004-11-05  Kelley Cook  <kcook@gcc.gnu.org>
1988         * acinclude.m4: Properly quote AC_CACHE_CHECK.
1989         * Makefile.am: Add in ACLOCAL_AMFLAGS.
1990         * aclocal.m4, configure, Makefile.in: Regenerate.
1992 2004-10-30  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
1994         * config.h.in: Regenerate.
1995         * configure: Regenerate.
1996         * configure.ac (AC_CHECK_FUNCS): Add mkstemp.
1997         * io/unix.c (S_IRGRP): Define if undefined.
1998         (S_IWGRP): Same.
1999         (S_IROTH): Same.
2000         (S_IWOTH): Same.
2001         (tempfile): Use mktemp if mkstemp missing, fix typos.
2003 2004-10-30  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2005         *  intrinsics/system.c ("libgfortran.h"): Move after system headers.
2007 2004-10-30  Canqun Yang  <canqun@nudt.edu.cn>
2009         * intrinsics/rand.c (irand): Handle NULL argument.
2011 2004-10-07  Paul Brook  <paul@codesourcery.com>
2013         * io/transfer.c (finalize_transfer): Free internal streams.
2014         * io/unix.c (mem_close): Free stream object.
2016 2004-10-07  Paul Brook  <paul@codesourcery.com>
2018         * intrinsics/string_intrinsics.c (string_verify): Fix off by one
2019         error.
2021 2004-10-06  Paul Brook  <paul@codesourcery.com>
2023         PR libfortran/17709
2024         * io/transfer.c (data_transfer_init): Reset sf_seen_eor.
2026 2004-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
2028         * intrinsics/mvbits.c: Commit the file.
2030 2004-10-04  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2032         PR fortran/17283
2033         * intrinsics/pack_generic.c (__pack): Allocate memory for return array
2034         if not done by caller.
2035         (__pack_s): New function.
2036         * runtime/memory.c (internal_malloc, internal_malloc64): Allow
2037         allocating zero memory.
2039         PR fortran/17631
2040         * Makefile.am (gfor_helper_src): Add intrinsics/mvbits.h.
2041         * Makefile.in: Regenerate.
2042         * intrinsics/mvbits.h: New file.
2044         PR fortran/17776
2045         * intrinsics/system.c: New file.
2046         * Makefile.am: Add dependency for the new file.
2047         * Makefile.in: Regenerate.
2049 2004-10-04  Paul Brook  <paul@codesourcery.com>
2050         Bud Davis  <bdavis9659@comcast.net>
2052         PR fortran/17706
2053         PR fortran/16434
2054         * io/format.c (parse_format_list): Set repeat count for S, SP, SS,
2055         BN and BZ formats.
2056         * io/write.c (output_float): Don't output minus zero.
2058 2004-10-03  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2060         * intrinsics/abort.c ("libgfortran.h"): Move.
2061         * intrinsics/date_and_time.c ("libgfortran.h"): Same.
2062         * intrinsics/write.c ("libgfortran.h"): Same.
2064 2004-09-26  Tobias Schlueter  <tobis.schlueter@physik.uni-muenchen.de>
2066         PR libfortran/16137
2067         * config.h.in (HAVE_POWF): Undefine.
2068         * configure.ac: Check for 'powf' in library.
2069         * configure: Regenerate.
2070         * intrinsics/c99_functions.c (powf): New function.
2072 2004-09-24  Tobias Schlueter  <tobis.schlueter@physik.uni-muenchen.de>
2074         * intrinsics/etime.c (etime_): New function.
2076 2004-09-21  Steven G. Kargl  <kargls@comcast.net>
2078         * libgfortran.h: define gfc_alloca()
2079         * intrinsics/env.c (getenv, get_environment_variable_i4): Use it.
2081 2004-09-21  Bud Davis  <bdavis9659@comcast.net>
2083         PR fortran/17286
2084         * io/list_read.c (namelist_read): ignore spaces after
2085         the '=' for namelist reads.
2087 2004-09-15  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2089         * config.h.in: Regenerate.
2090         * configure: Regenerate.
2091         * configure.ac (AC_CHECK_HEADERS): Check for sys/mman.h.
2092         * unix.c: Include stdio.h.
2093         (HAVE_SYS_MMAN_H): Check.
2094         (PROT_READ, PROT_WRITE): Provide default definitions.
2096 2004-09-15  Steven G. Kargl  <kargls@comcast.net>
2098         * intrincics/getcwd.c: New file.
2099         * Makefile.am: Add getcwd.c.
2100         * Makefile.in: Regenerated.
2102 2004-09-15  Steven G. Kargl  <kargls@comcast.net>
2103         Paul Brook  <paul@codesourcery.com>
2105         * intrinsics/env.c (getenv, get_environmental_variable): Remove
2106         trailing white space.  Use alloca.  Honour trim_name.
2108 2004-09-13  Bud Davis  <bdavis9659@comcast.net>
2110         PR fortran/17090
2112         * io/list_read.c (list_formatted_read): Handle trailing spaces
2113         at end of line.
2115 2004-09-06  Steven G. Kargl  <kargls@comcast.net>
2117         * io/write.c (output_float): Typo in comment.  Remove debugging
2118         printf.  Fix format for FP of form 1e10.
2120 2004-09-03  Richard Henderson  <rth@redhat.com>
2122         * intrinsics/cshift0.c (DEF_COPY_LOOP, copy_loop_int, copy_loop_long,
2123         copy_loop_double, copy_loop_ldouble): New.
2124         (__cshift0): Make shift type ssize_t.  Use % operator instead of
2125         div.  Use specialized versions of copy loop depending on the shape.
2127 2004-09-02  Paul Brook  <paul@codesourcery.com>
2129         * io/format.c (parse_format_list): Set repeat count for P descriptors.
2130         * write.c (output_float): Fix condition.  Correctly handle nonzero
2131         scale factor.
2133 2004-09-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
2135         * mk-sik-inc.sh: Use a temporary string instead of 'echo -n'.
2136         * mk-srk-inc.sh: Likewise.
2138 2004-09-01  Paul Brook  <paul@codesourcery.com>
2140         * runtime/error.c (generate_error): Set both iostat and
2141         library_return.
2143 2004-08-31  Paul Brook  <paul@codesourcery.com>
2145         PR libfortran/16805
2146         * io/list_read.c (next_char): Don't signal EOF for internal files.
2147         * io/unix.c (mem_alloc_r_at): Don't return NULL for incomplete reads.
2149 2004-08-31  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2151         * io/unit.c: Separate copyright years by ','.
2152         (compare, insert_unit, delete_unit, is_internal_unit, close_units):
2153         Remove blank line in beginning of function.
2154         (get_unit): Simplify code.
2156 2004-08-31  Paul Brook  <paul@codesourcery.com>
2158         * io/unit.c (get_unit): Remove superfluous if.
2160 2004-08-31  Paul Brook  <paul@codesourcery.com>
2162         * io/transfer.c (read_sf): Rename uinty to readlen.  Detect EOF.
2163         (finalize_transfer): Move setjmp after namlist IO.
2164         * io/unix.c (mem_alloc_r_at): Calculate remaining length correctly.
2166 2004-08-31  Paul Brook  <paul@codesourcery.com>
2168         * list_read.c (eat_separator): Set at_eo when a '/' is seen.
2170 2004-08-31  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2172         * libgfortran.h: Replace 'gfc_strlen_type' by
2173         'gfc_charlen_type'. Update comment accordingly.
2174         * intrinsics/args.c, intrinsics/env.c, io/io.h, io/transfer.c:
2175         Replace all occurences of 'gfc_strlen_type' by 'gfc_charlen_type'.
2177 2004-08-31  Paul Brook  <paul@codesourcery.com>
2179         * libgfortran.h: Add comments.
2181 2004-08-30  Richard Henderson  <rth@redhat.com>
2183         * Makefile.am (gfor_helper_src): Split selected_kind.f90.
2184         (gfor_built_src): Add selected_int_kind.inc selected_real_kind.inc.
2185         (selected_int_kind.inc selected_real_kind.inc): New rules.
2186         * Makefile.in: Regenerate.
2187         * mk-sik-inc.sh, mk-srk-inc.sh: New files.
2188         * intrinsics/selected_int_kind.f90: Split from selected_kind.f90,
2189         include table of detected kinds.
2190         * intrinsics/selected_real_kind.f90: Similarly.
2192 2004-08-29  Steven G. Kargl  <kargls@comcast.net>
2193         Paul Brook  <paul@codesourcery.com>
2195         * intrinsics/bessel.c: New file.
2196         * intrinsics/erf.c: New file.
2197         * Makefie.am: Add intrinsics/bessel.c and intrinsics/erf.c.
2198         * configure.ac: Test for C99 Bessel and Error functions.
2199         * Makefile.in: Regenerate.
2200         * config.h.in: Regenerate.
2201         * configure: Regenerate.
2203 2004-08-29  Steven G. Kargl  <kargls@comcast.net>
2204         Paul Brook  <paul@codesourcery.com>
2206         * Makefile.am: Add intrinsics/getXid.c.
2207         * configure.ac: Add tests for get{g,p,u}id.
2208         * config.h.in: Regenerate.
2209         * Makefile.in: Regenerate.
2210         * configure: Regenerate.
2212 2004-08-28  Paul Brook  <paul@codesourcery.com>
2214         PR libfortran/17195
2215         * libgfortran.h (rtoa): Remove prototype.
2216         * runtime/error.c (rtoa): Remove.
2217         * io/write.c (calculate_G_format): Don't add blanks if E format is
2218         used.  Add correct number of blanks when exponent width is specified.
2219         (output_float): Rewrite.
2221 2004-08-27  Paul Brook  <paul@codesourcery.com>
2223         * io/rewind.c (st_rewind): Reset unit to read mode.
2225 2004-08-27  Bud Davis  <bdavis9659@comcast.net>
2227         PR fortran/16597
2228         * io/io.h: created typedef for unit_mode.
2229         * io/io.h (gfc_unit): added mode to unit structure.
2230         * io/transfer.c (data_transfer_init): flush if a write then
2231         read is done on a unit (direct access files).
2232         * io/rewind.c (st_rewind): Used unit mode instead of global.
2234 2004-08-24  Bud Davis  <bdavis9659@comcast.net>
2236         PR fortran/17143
2237         * runtime/error.c (itoa): keep from overflowing during
2238         mod operation by using unsigned variable.
2240 2004-08-24  Bud Davis  <bdavis9659@comcast.net>
2242         PR fortran/17164
2243         * runtime/string_intrinsics.c (string_index):check for
2244         substring longer than string.
2246 2004-08-24  David Edelsohn  <edelsohn@gnu.org>
2248         * Makefile.am (libgfortran_la_LDFLAGS): Add -lm.
2249         * Makefile.in: Rebuilt.
2251 2004-08-23  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2253         * io/io.h, io/list_read.c, io/open.c, io/transfer.c, io/write.c:
2254         Fix formatting issues, update copyright years.
2256 2004-08-21  Bud Davis  <bdavis9659@comcast.net>
2258         PR 16908
2259         * io/transfer.c (next_record_w): Do not blank pad.
2260         * io/transfer.c (next_record): Take into account partial records.
2262 2004-08-18  Victor Leikehman  <lei@il.ibm.com>
2264         PR fortran/13278
2265         * io/transfer.c (st_set_nml_var)
2266         * io/write.c (namelist_write): Allow var_name and var_name_len to be
2267         null. For strings, use string_length field instead of len.
2268         * io/io.h (struct namelist_type): New field string_length.
2269         (st_set_nml_var_char): New argument string_length.
2271 2004-08-13  Bud Davis  <bdavis9659@comcast.net>
2273         PR gfortran/16935
2274         * io/open.c (st_open): use flags instead of the unit structure.
2276 2004-08-10  Victor Leikehman  <lei@il.ibm.com>
2278         * io/list_read.c (namelist_read): Convert variable names
2279         to lower case, so that mixed-case names are recognized.
2280         Don't read beyond terminating slash.
2282 2004-08-09  Richard Henderson  <rth@redhat.com>
2283             Roger Sayle  <roger@eyesopen.com>
2285         * intrinsics/c99_functions.c (nextafterf): New implementation that
2286         works correctly with denormalized numbers.
2288 2004-08-09  Victor Leikehman  <lei@il.ibm.com>
2290         * m4/matmul.m4, m4/matmull.m4, intrinsics/eoshift0.c,
2291         intrinsics/eoshift2.c, intrinsics/transpose_generic.c:
2292         Allocate space if return value has NULL in its data field.
2293         * generated/*.c: Regenerate.
2295 2004-08-06  Janne Blomqvist  <jblomqvi@cc.hut.fi>
2297         * intrinsics/env.c: New file.
2298         * Makefile.am: Add env.c to build.
2299         * Makefile.in: Regenerate.
2301 2004-08-05  Victor Leikehman  <lei@il.ibm.com>
2303         PR libgfortran/16704
2304         * io/read.c (read_radix): Understand letters f and F as hex digits.
2306 2004-08-04  Victor Leikehman  <lei@il.ibm.com>
2308         * libgfortran.h (array_t, size0) New declarations.
2309         * m4/ifunction.m4, m4/transpose.m4, intrinsics/cshift0.c: Allocate
2310         space if return value descriptor has NULL in its data field,
2311         and initialize bounds and stride.
2312         * intrinsics/size.c (array_t, size0): Declarations moved to
2313         libgfortran.h.
2314         * generated/*.c: Regenerate.
2316 2004-08-03  Roger Sayle  <roger@eyesopen.com>
2318         PR libgfortran/16137
2319         * configure.ac: Add tests for acosf, asinf, atan2f, atanf, ceilf,
2320         copysignf, cosf, coshf, expf, floorf, frexpf, hypotf, logf, log10f,
2321         scalbnf, sinf, sinhf, sqrtf, tanf and tanhf in libm.
2322         * config.h.in: Regenerate.
2323         * configure: Regenerate.
2325         * instrinsics/c99_functions.c (acosf, asinf, atan2f, atanf, ceilf,
2326         copysignf, cosf, coshf, expf, floorf, frexpf, hypotf, logf, log10f,
2327         nextafterf, scalbnf, sinf, sinhf, sqrtf, tanf, tanhf): New stub
2328         implementations for targets that don't support C99 float functions.
2330 2004-08-01  Roger Sayle  <roger@eyesopen.com>
2332         * io/write.c (write_float): Use the slightly more portable isnan
2333         in preference to isinf.
2335 2004-07-18  Bud Davis  <bdavis9659@comcast.net>
2337         * configure.ac: Add check for LFS support.
2338         * configure: Regenerate
2340 2004-07-11  Paul Brook  <paul@codesourcery.com>
2342         PR fortran/16303
2343         * m4/cexp.m4 (carg): Return -pi to pi.
2344         * generated/exp_c?.c: Regenerate.
2346 2004-07-08  Andreas Krebbel  <krebbel1@de.ibm.com>
2348         PR fortran/16291
2349         * libgfortran/io/write.c: (write_float): Added length check.
2350         Remove pointless memset calls.
2352 2004-07-04  Bud Davis  <bdavis9659@comcast.net>
2353             Paul Brook  <paul@codesourcery.com>
2355         PR fortran/15472
2356         * io/transfer.c(us_write): set recl for seq unform writes to max size.
2357         * io/transfer.c(data_transfer_init): handle un-opened seq unform unit.
2358         * io/unix.c(fd_alloc_w_at): handle requests at start, fd_flush at
2359         right time.
2360         * io/unix.c(is_seekable): set based upon the file/device, not the
2361         method being used to access it (fd or mmap).
2362         * io/unix.c(fd_flush): don't set file_size if !seekable.
2363         * io/unix.c(fd_truncate: ditto.
2365 2004-07-04  Janne Blomqvist  <jblomqvi@cc.hut.fi>
2366         Paul Brook  <paul@codesourcery.com>
2368         PR fortran/15280
2369         PR fortran/15665
2370         * libgfortran.h (gfc_strlen_type): Define.
2371         * intrinsics/args.c (getarg): Rename ...
2372         (getarg_i4): ... to this.
2373         (getarg_i8, get_command_argument_i4, get_command_argument_i8,
2374         get_command_i4, get_command_i8): New functions.
2376 2004-07-04  Matthias Klose  <doko@debian.org>
2378         * libtool-version: New.
2379         * Makefile.am (libgfortran_la_LDFLAGS): Use -version-info for soname.
2380         * Makefile.in: Regenerate.
2381         * configure.ac: Remove libtool_VERSION macro
2382         * configure: Regenerate
2384 2004-06-30  Steve Kargl  <sgk@troutmask.apl.washington.edu>
2385             Steven Bosscher  <stevenb@suse.de>
2387         * intrinsics/rand.c (rand): Wrap the irand() call from the previous
2388         commit in prefix.
2390 2004-06-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2391         Paul Brook  <paul@codesourcery.com>
2393         * runtime/normalize.c (normalize_r4_i4, normalize_r8_i8): Fix
2394         comments.
2395         * intrinsics/rand.c (rand): Call irand() in call to normalize_r4_i4.
2397 2004-06-27  Bud Davis  <bdavis9659@comcast.net>
2399         PR gfortran/12839
2400         * io/write.c (write_float): check signbit for Infinity.
2402 2004-06-26  Bud Davis  <bdavis9659@comcast.net>
2404         PR gfortran/16196
2405         * unix.c(regular_file): create file if it does not exist.
2407 2004-06-24  Andrew Pinski  <apinski@apple.com>
2409         * configure.ac: Remove check for libmx.
2410         * configure: Regenerate.
2412 2004-06-22  Janne Blomqvist  <jblomqvi@cc.hut.fi>
2414         PR fortran/15750
2415         * inquire.c (st_inquire): Add comment
2416         * io.h (st_parameter): Add iolength.
2417         (st_iolength, st_iolength_done): Declare.
2418         * transfer.c (iolength_transfer, iolength_transfer_init,
2419         st_iolength, st_iolength_done): New functions.
2421 2004-06-21  Steven G. Kargl  <kargls@comcast.net>
2423         * etime.c (etime_sub): Remove array rank check;
2424         Add check for sufficient space.
2426 2004-06-19  Bud Davis  <bdavis9659@comcast.net>
2428         PR gfortran/16080
2429         * io/list_read.c(set_value): fixed spelling.
2431 2004-06-19  Bud Davis  <bdavis9659@comcast.net>
2433         PR gfortran/16080
2434         * io/list_read.c(set_value): don't copy if the string is null.
2436 2004-06-14  Bud Davis  <bdavis9659@comcast.net>
2438         PR gfortran/15292
2439         * intrinsics/c99_functions.c: Use fpclassify if it exists.
2441 2004-06-13  Paul Brook  <paul@codesourcery.com>
2443         * Makefile.am (gfor_helper_src): Add runtime/normalize.f90.
2444         * configure.ac: Add checks for nextafter and nextafterf.
2445         * Makefile.in, config.h.in, configure: Regenerate.
2446         * libgfortran.h (normalize_r4_i4, normalize_r8_i8): Declare.
2447         * intrinsics/rand.c (rand): Use normalize_r4_i4.
2448         * intrinsics/random.c (random_r4): Use normalize_r4_i4.
2449         (random_r8): Use normalize_r8_i8.
2450         * runtime/normalize.c: New file.
2452 2004-06-13  Steven G. Kargl  <kargls@comcast.net>
2453             Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2455         * random.c: Fix several spelling and formatting mistakes in
2456         comments.
2457         (random_r8): Fix loop to make random numbers range in [0,1(.
2460 2004-06-13  Steven G. Kargl  <kargls@comcast.net>
2462         * random.c (random_r4): Burn a random number.
2463         (random_r8): fix infinite loop.
2465 2004-06-12  Bud Davis  <bdavis9659@comcast.net>
2466             Steve Kargl  <sgk@troutmask.apl.washington.edu>
2468         PR gfortran/15292
2469         * intrinsics/c99_functions.c: New file.
2470         * Makefile.am: Add new file.
2471         * configure.ac: Added test for round/roundf.
2472         * Makefile.in: Regenerate.
2473         * configure: Regenerate.
2474         * configure.h.in: Regenerate.
2476 2004-06-12  Steven G. Kargl  <kargls@comcast.net>
2478         * Makefile.am: Add rand.c and etime.c
2479         * Makefile.in: Regenerated.
2480         * aclocal.in: Regenerated.
2481         * cpu_time.c (second_sub, second): New functions.
2482         * rand.c (irand, rand, srand): New file.
2483         * etime.c (etime_sub, etime): New file.
2485 2004-06-12  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2486             Steven Bosscher  <stevenb@suse.de>
2488         PR fortran/14923
2489         * intrinsics/date_and_time.c: New file.
2490         * Makefile.am (gfor_helper_src): Add intrinsics/date_and_time.c.
2491         * Makefile.in, aclocal.m4: Regenerate.
2492         * libgfortran.h: Prototype date_and_time().
2494 2004-06-12  Bud Davis  <bdavis9659@comcast.net>
2496         PR fortran/15665
2497         * intrinsics/args.c: Implement GETARG and IARGC.
2498         * Makefile.am: Add it.
2499         * Makefile.in: Regenerate.
2501 2004-06-12  Bud Davis  <bdavis9659@comcast.net>
2503         PR gfortran/12839
2504         * io/write.c(write_float): Format inf and nan IAW F2003.
2506 2004-06-09  Bud Davis  <bdavis9659@comcaste.net>
2508         PR gfortran/14897
2509         * io/transfer.c (formatted_transfer): position is unique
2510          for T and TL edit descriptors.
2511         (data_transfer_init): set record length to size of internal
2512          file.
2514 2004-06-09  Bud Davis  <bdavis9659@comcast.net>
2516         PR gfortran/15755
2517         * io/backspace.c(st_backspace): call correct routine for
2518         formatted and un-formatted units.
2520 2004-05-30  Andreas Jaeger  <aj@suse.de>, Steven Bosscher <stevenb@suse.de>
2522         PR gfortran/11800
2523         * Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
2524         (lib_LTLIBRARIES): Rename to ...
2525         (toolexeclib_LTLIBRARIES): this for multilib support.
2526         * configure.in: Rename to ...
2527         * configure.ac: this.  Update to modern autoconf style, enable
2528         multilibs, support --enable-version-specific-runtime-libs.
2529         * Makefile.in: Regenerated.
2530         * configure: Regenerated.
2531         * aclocal.m4: Regenerated.
2533 2004-05-30  Steven G. Kargl  <kargls@comcast.net>
2535         * libgfortran.h (random_seed): Update prototype.
2536         * intrinsics/random.c: Disable old implementation and add new one.
2538 2004-05-30  Andreas Jaeger  <aj@suse.de>
2540         * intrinsics/random.c: Include unistd.h for close and read
2541         prototypes, remove unneeded inclusion of assert.h.
2543         * intrinsics/abort.c: Include stdlib.h for abort prototype, remove
2544         unneeded inclusion of assert.h.
2546 2004-05-27  Tobias Schlueter  <tobias.shclueter@physik.uni-muenchen.de>
2548         PR fortran/15234
2549         * intrinsics/associated.c: Remove enum.
2550         (associated): Replace TRUE/FALSE by 1/0.
2552 2004-05-23  Steven G. Kargl  <kargls@comcast.net>
2554         * random.c (random_seed): Use correct variable.
2556 2004-05-22  Steven G. Kargl  <kargls@comcast.net>
2558         * intrinsics/system_clock: New file.
2559         * Makefile.am: Add intrinsics/system_clock.c.
2560         * Makefile.in: Regenerate.
2562 2004-05-21  Roger Sayle  <roger@eyesopen.com>
2564         * io/format.c (parse_format_list): Allow the comma after a string
2565         literal to be optional.
2567 2004-05-18  Paul Brook  <paul@codesourcery.com>
2568         Feng Wang  <fengwang@nudt.edu.cn>
2570         * Makefile.am (i_pow_c): Set it. Add build rule.
2571         (gfor_built_src): Use it.
2572         (m4_files): add m4/pow.m4.
2573         * Makefile.in: Regenerate.
2574         * m4/pow.m4: New file.
2575         * generated/pow_*.c: Regenerate.
2577 2004-05-18  Paul Brook  <paul@codesourcery.com>
2579         * Makefile.am: Remove references to types.m4.
2580         * m4/iparm.m4: Merge with types.m4.
2581         * m4/types.m4: Remove.
2582         * m4/cshift1.m4, m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4,
2583         m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4, m4/ifunction.m4,
2584         m4/in_pack.m4, m4/in_unpack.m4, m4/iparm.m4, m4/matmul.m4,
2585         m4/matmull.m4, m4/maxloc0.m4, m4/maxloc1.m4, m4/maxval.m4,
2586         m4/minloc0.m4, m4/minloc1.m4, m4/minval.m4, m4/reshape.m4,
2587         m4/shape.m4, m4/specific.m4, m4/specific2.m4, m4/transpose.m4):
2588         Update to use new iparm.m4.
2589         * generated/*.c: Regenerate.
2591 2004-05-18  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2593         PR fortran/15235
2594         * gfortran.h (offset_t): Rename to ...
2595         (gfc_offset): ... this.
2596         * io/backspace.c (formatted_backspace, unformatted_backspace),
2597         io/io.h (stream, gfc_unit, global_t, file_length, file_position),
2598         transfer.c (us_read, us_write, next_record_r, next_record_w),
2599         io/unit.c (init_units), unix.c (unix_stream, fd_alloc,
2600         fd_alloc_r_at, fd_alloc_w_at, fd_seek, mmap_alloc,
2601         mmap_alloc_r_at, mmap_alloc_w_at, mmap_seek, mem_alloc_r_at,
2602         mem_alloc_w_at, mem_seek, file_length, file_position): Replace all
2603         occurences of offset_t by gfc_offset.
2605 2004-05-16  Paul Brook  <paul@codesourcery.com>
2607         * io/format.c (write_real): Don't include padding in format.
2609 2004-05-16  Paul Brook  <paul@codesourcery.com>
2611         * io/format.c (format_lex): Make c an int.
2613 2004-05-16  Janne Blomqvist  <jblomqvi@cc.hut.fi>
2614         Paul Brook  <paul@codesourcery.com>
2616         * io/write.c (write_logical): Don't print extra blank.
2617         (write_integer): Base field width on kind.
2618         (list_formatted_write): Output initial blank.
2620 2004-05-16  Janne Blomqvist  <jblomqvi@cc.hut.fi>
2622         * io/io.h (flush): Add prototype.
2623         * io/transfer.c (finalize_transfer): Flush partial records.
2624         * io/unix.c (flush): New function.
2626 2004-05-15  Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2628         PR fortran/15234
2629         * io/io.h (unit_t): Rename to ...
2630         (gfc_unit) ... this.
2631         (unit_root, current_unit, find_file, find_unit, get_unit): Now
2632         of type gfc_unit.
2633         (delete_file, insert_unit, close_unit): Argument now of type
2634         gfc_unit.
2635         * backspace.c (st_backspace), close.c (st_close), endfile.c
2636         (st_endfile), inquire.c (inquire_via_unit, st_inquire), open.c
2637         (test_endfile, edit_modes, new_unit, already_open, st_open),
2638         rewind.c (st_rewind), transfer.c (current_unit), unit.c
2639         (internal_unit, unit_cache, rotate_left, rotate_right, insert,
2640         insert_unit, delete_root, delete_treap, delete_unit, find_unit,
2641         get_unit, init_units, close_unit), unix.c (find_file0,
2642         find_file, delete_file): Replace all occurences of unit_t by
2643         gfc_unit.
2645 2004-05-15  Bud Davis  <bdavis9659@comcast.net>
2647         PR fortran/15311
2648         * io/write.c (write_a): right justify A edit output.
2650 2004-05-14  Bud Davis  <bdavis9659@comcast.net>
2652         PR fortran/15149
2653         * libgfortan.h,intrinsics/random.c: Made random_seed visible.
2654         * runtime/main.c(init): Call random_seed as part of MAIN init.
2656 2004-05-13  Tobias Schlter  <tobias.schlueter@physik.uni-muenchen.de>
2658         * io/format.c: (parse_format_list): No comma is required after
2659         P descriptor.
2661 2004-05-13  Bud Davis  <bdavis9659@comcast.net>
2663         PR fortran/15204
2664         * io/intrinsic/string_intrinsics.c (adjustr): rework logic.
2666 2004-05-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2667             Steven Bosscher  <stevenb@suse.de>
2669         PR libfortran/15234
2670         * libgfortran.h: Include <inttypes.h> if available.
2672 2004-05-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2674         * io/unix.c (MAP_FAILED): Define if missing.
2675         (mmap_alloc): Cast MAP_FAILED to char *.
2676         (mmap_open): Likewise.
2678 2004-04-26  Bud Davis  <bdavis9659@comcast.net>
2680         * generated/_abs_i8.f90: New file.
2681         * generated/_abs_c4.f90: New file.
2682         * generated/_abs_c8.f90: New file.
2683         * Makefile.am: Add them.
2684         * Makefile.in: Regenerate.
2686 2004-04-26  Bud Davis  <bdavis9659@comcast.net>
2688         PR fortran/14056
2689         * generated/_abs_i4.f90: New file.
2690         * Makefile.am: Add it.
2691         * Makefile.in: Regenerate.
2693 2004-04-25  Bud Davis  <bdavis9659@comcast.net>
2695         PR fortran/14942
2696         * io/list_read.c(list_formatted_read): finish consuming the
2697         spaces and seperators at eoln to get ready for next item.
2699 2004-04-23  Bud Davis  <bdavis9659@comcast.net>
2701         PR fortran/15113
2702         * io/read.c(read_a): Handle field width > destination and no field width.
2704 2004-04-22  Bud Davis  <bdavis9659@comcast.net>
2706         PR fortran/14906
2707         * io/format.c (format_item): gracefully handle a ')'
2708         when it is the first character encountered in the string.
2710 2004-04-11  Bud Davis  <bdavis9659@comcast.net>
2712         PR fortran/14904
2713         * io/transfer.c (next_record): Update last_record when
2714         more than one record is written to a direct access file
2715         with one write statement.
2717 2004-04-11  Bud Davis  <bdavis9659@comcast.net>
2719         PR fortran/14901
2720         * io/transfer.c (next_record_w) : No '\n' if internal.
2721         * io/unix.c (empty_internal_buffer) : Init to spaces, not '\n'.
2723 2004-04-11  Bud Davis  <bdavis9659@comcast.net>
2725         * io.h (ioparm): Interface from FE is 32 bit, irregardless of offset_t.
2726         Will need to change this later to support direct access files > 2gb.
2728 2004-04-03  Bud Davis  <bdavis9659@comcast.net>
2730         PR gfortran/14762
2731         * io/transfer.c (next_record_r) : Skip to next record.
2733 2004-04-03  Bud Davis  <bdavis9659@comcast.net>
2735         PR gfortran/14836
2736         * io/transfer.c (next_record): Update last_record for DIRECT
2738 2004-04-03  Bud Davis  <bdavis9659@comcast.net>
2740         PR gfortran/14837
2741         * io/unix.c (find_file0): Use fd field of struct
2743 2004-04-03  Bud Davis  <bdavis9659@comcast.net>
2745         PR 14831
2746         * io/inquire.c (inquire_via_unit): Changed return string for
2747         BLANK=NULL. Use correct variable for ACTION.
2749 2004-04-01  Bud Davis  <bdavis9659@comcast.net>
2751         PR 14746
2752         * io/read.c (read_f): Allow a decimal without a leading digit.
2753         * io/write.c (output_float): remove a leading '0' to keep from
2754         overflowing the field (F edit descriptor).
2756 2004-04-01  Bud Davis  <bdavis9659@comcast.net>
2758         PR gfortran/14565
2759         * io/open.c (new_unit),
2760         * io/io.h : new_unit is now visible
2761         * io/transfer.c (data_transfer_init): open unit if no OPEN statement.
2762         * io/transfer.c (data_transfer_init): remove compile warnings.
2763         * io/rewind.c (st_rewind): ftruncate if writing.
2765 2004-03-24  Bud Davis  <bdavis9659@comcast.net>
2767         * write.c (write_l): Use extract_int for 'L' edit descriptor.
2769 2004-03-24  Bud Davis  <bdavis9659@comcast.net>
2771         PR 13919
2772         * io/io.h (global_t):
2773         * io/list_read.c (next_char,list_formatted_read,ist_formatted_read):
2774           Move eof_jmp to a global structure.
2775         * io/transfer.c(finalize_transfer) : Set up eof_jump for callers.
2777 2004-03-24  Bud Davis  <bdavis9659@comcast.net>
2779         * m4/cexp.m4 (csqrt): Actually use the passed value.
2780         * generated/exp_c?.c: Regenerate.
2782 2004-03-24  Bud Davis  <bdavis9659@comcast.net>
2784         PR 12921
2785         * io.h, transfer.c, open.c : recl_in changed from ptr to variable.
2786         * open.c (new_unit): Moved test for positioned direct access error.
2787         (init_units): Corrected calculation of max records.
2789 2004-02-06  Feng Wang  <fengwang@nudt.edu.cn>
2791         * Makefile.am: Add m4/dotprodc.m4. And fix spelling.
2792         * Makefile.in: Regenerate.
2793         * m4/dotprodc.m4: New file. Implement complex dot_product.
2794         * m4/dotprod.m4: Delete the complex implementation.
2795         * generated/dotprod_*: Update.
2797 2004-02-07  Bud Davis  <bdavis9659@comcast.net>
2799         * transfer.c (write_constant_string): Do not delete H's in hollerith
2800         formats.
2802 2004-01-05  Andrew Pinski  <apinski@apple.com>
2804         * configure.in: Check for csin in -lmx also.
2805         * configure: Regenerate.
2807 2004-01-01  Paul Brook  <paul@codesourcery.com>
2809         * io/list_read.c (find_nml_node): Make static.
2810         (match_namelist_name): Ditto.
2811         * io/read.c (convert_precision_real): Make static, fix spelling.
2812         * io/transfer.c (extract_real): Remove unused prototype.
2813         (st_set_nml_var): Make static.
2814         * io/write.c (extract_real): Make static.
2816 2003-12-12  Huang Chun <chunhuang73@hotmal.com>
2818         * intrinsics/string_intrinsics.c (string_index): Fix logics thinko.
2820 2003-12-05  Melvin Hadasht  <melvin.hadasht@free.fr>
2822         * io/transfer.c (data_transfer_init): Give a runtime error for list
2823         formatted reads and writes from/to files opened for unformatted IO.
2825 2003-11-30  Paul Brook  <paul@nowt.org>
2827         * runtime/memory.c (push_context): Remove.
2828         (pop_context): Remove.
2829         * libgfortran.h: Remove prototypes.
2831 2003-11-27  Paul Brook  <paul@nowt.org>
2833         * runtime/memory.c (deallocate): Nullify pointer after freeing.
2835 2003-11-27  Paul Brook  <paul@nowt.org>
2837         * intrinsics/string_intrinsics.c: Use new memory allocation interface.
2838         * libgfortran.h: Ditto.
2839         * m4/in_pack.m4: Ditto.
2840         * runtime/in_pack_generic.c: Ditto.
2841         * runtime/memory.c: Ditto.
2843 2003-11-26  Richard Henderson  <rth@redhat.com>
2845         * m4/exponent.m4, m4/fraction.m4: New.
2846         * m4/nearest.m4, m4/set_exponent.m4: New.
2847         * generated/*: Update.
2848         * Makefile.am: Add them.
2849         (AM_CFLAGS): New.  Use -std=gnu99.
2850         * Makefile.in: Regenerate.
2852 2003-11-08  Paul Brook  <paul@nowt.org>
2854         PR fortran/12704
2855         * m4/maxloc0.m4: Use default value of 1. Handle zero sized arrays.
2856         * m4/maxloc1.m4: Ditto.
2857         * m4/minloc0.m4: Ditto.
2858         * m4/minloc1.m4: Ditto.
2859         * m4/ifunction.m4: Set return value for zero sized arrays.
2860         * m4/iforeach.m4: Ditto.
2861         * m4/all.m4, m4/any.m4, m4/count.m4, m4/maxloc1.m4, m4/minloc1.m4,
2862         m4/mxaval.m4, m4/minval.m4, m4/product.m4, m4/sum.m4: Ditto.
2863         * generated/*: Update.
2865 2003-10-30  Toon Moene  <toon@moene.indiv.nluug.nl>
2867         PR fortran/12702
2868         * io/list_read.c (eat_spaces): Treat tab as space.
2870 2003-10-30  Lars Segerlund  <Lars.Segerlund@comsys.se>
2872         * intrinsics/random.c: Add reference to paper containing algorithm.
2873         (random_seed): Extra error checking and proper handling of arrays.
2874         (arandom_r4, arandom_r8): Implement.
2876 2003-10-29  Toon Moene  <toon@moene.indiv.nluug.nl>
2878         PR fortran/12703
2879         * runtime/memory.c (allocate_size): Allow allocation
2880         of zero-sized objects.
2882 2003-10-29  Toon Moene  <toon@moene.indiv.nluug.nl>
2884         PR fortran/12701
2885         * open.c (new_unit): Open without a file name opens
2886         a file with name fort.<unit>.
2888 2003-10-12  Feng Wang  <wf_cs@yahoo.com>
2890         * intrinsics/cshift0.c: New file.
2891         * m4/cshift1.m4: New file
2892         * generated/cshift*.c: New files.
2893         * Makefile.am: Add them.
2894         * Makefile.in: Regenerate.
2896 2003-10-12  XiaoQiang Zhang  <zhangapache@yahoo.com>
2898         * io/list_read.c (read_character): Remove unwanted call to free_saved.
2900 2003-10-11  Huang Chun  <jiwang@mail.edu.cn>
2902         * intrinsics/string_intrinsics.c (string_trim): New function.
2903         (string_repeat): New function.
2905 2003-10-11  Paul Brook  <paul@nowt.org>
2907         * intrinsics/dprod_r8.f90: New file.
2908         * Makefile.am (gfor_specific_src): Add it.
2909         (gfor_built_specific_src): Rename from gfor_build_specific_c.
2910         Add new intrinsics.
2911         (gfor_specific2_src): Rename from gfor_built_specific2_c.
2912         Add new intrinsics.
2913         * Makefile.in: Regenerate.
2914         * generated/_aint_*.f90: New files.
2915         * generated/_anint*.f90: New files.
2916         * generated/_atan2*.f90: New files.
2917         * generated/_mod*.f90: New files.
2919 2003-09-20  Kejia Zhao  <kejia_zh@yahoo.com.cn>
2921         * intrinsics/selected_kind.f90: New file.
2922         * Makefile.am: Add it.
2923         * Makefile.in: regenerate.
2925 2003-09-19  Lars Segerlund  <Lars.Segerlund@comsys.se>
2926         Paul Brook  <paul@nowt.org>
2928         * intrinsics/random.c: New file.
2929         * Makefile.am (gfor_hemper_src): Add it.
2930         (gfor_specific_c): Fix typo.
2932 2003-09-19  Paul Brook  <paul@nowt.org>
2934         * All: rename g95->gfc.
2936 2003-09-18  XiaoQiang Zhang  <zhangapache@yahoo.com>
2938         * io/write.c (output_float): Fix bug of FMT_E, Add comments.
2940 2003-09-09  XiaoQiang Zhang  <zhangapache@yahoo.com>
2942         * io/write.c (write_float): Dectection of positive infinite number,
2943         Not a Number(NaN) and negative infinite number.
2944         (ioutput_float): Bug fix for FMT_E and FMT_D processing to
2945         output a very_very small number ( < 0.1e-100 ).
2947 2003-09-07  XiaoQiang Zhang  <zhangapache@yahoo.com>
2949         * libgfortran.h (xtoa, itoa): Parameter modified.
2950         * io/io.h (namelist_info): Declaration to support namelist I/O
2951         (st_parameter): Add namelist related component
2952         (ionml, empty_internal_buffer, st_set_nml_var_int,
2953         st_set_nml_var_float, st_set_nml_var_char, st_set_nml_var_complex,
2954         st_set_nml_var_log): Declaration
2955         (set_integer, set_integer): Parameter changed
2956         * io/format.c (free_nodes): Fix annoying bug of lefting "deallocated"
2957          fnodes
2958         (parse_format_list): Fix bug about FMT_SLASH
2959         * io/list_read.c (push_char): Totally clear old saved_string, zeroize
2960         newly allocated saved_string
2961         (next_char): Add detection of End_Of_Line support
2962         (convert_integer): Now can process 64 bits interger
2963         (read_real): Bug fixed
2964         (init_at_eol, find_nml_node, match_namelist_name): Add new functions
2965         (match_namelist_name): New implemention
2966         * io/lock.c (ionml): New global variable
2967         (library_end): Free memory in ionml
2968         * io/open.c (st_open): Variable initializtion
2969         * io/read.c (max_value): 64 bits interger support
2970         (convert_precsion_real): New procedure to replace "strtod" with more
2971          features
2972         (read_f, read_radix): Input bug fix
2973         * io/transfer.c: (sf_seen_eor): New static variable
2974         (read_sf): Zeroize base buffer; fix bugs: single read statement can
2975         not get input in mutli line when read from stdin
2976         (formatted_transfer): Fix bug of FMT_O, FMT_B, FMT_Z for INTEGER type
2977          request
2978         (data_transfer_init): Clear internal buffer for Internel File I/O.
2979         Internal File now worked. Detect some error condition for namelist.
2980         Some minor bug fix
2981         (next_record_w): Internal file and Namelist I/O support.
2982         (st_set_nml_var, st_set_nml_var_float, st_set_nml_var_char,
2983         st_set_nml_var_complex, st_set_nml_var_log): Implemention.
2984         * io/unit.c (implicit_unit): Deletion
2985         (get_unit): Now cannot open a unit implicitly.
2986         * io/unix.c (mmap_alloc): Fix fatal error in calculating the length of
2987         mapped buffer.
2988         (mem_alloc_r_at): Internal file I/O support added
2989         (empty_internal_buffer): New function
2990         * io/write.c (extract_int): Support 64 bits interger processing
2991         (output_float): Varibale initialization
2992         (write_float): Infinite real number detection.
2993         (write_int): 64 bits integer I/O support
2994         (write_decimal): New function to output decimal number
2995         (otoa, btoa): Better implemention and 64 bits interger support
2996         (namelist_write): New function
2997         * runtime/error.c (itoa, xtoa): Better implemention and 64 bits
2998         interger support
3000 2003-08-15  Arnaud Desitter  <arnaud.desitter@geography.oxford.ac.uk>
3002         * libgfortran.h (os_error, runtime_error,internal_error, sys_exit,
3003         get_mem ): Add attribute.
3004         * intrinsics/spread_generic.c (__spread): Fix spelling.
3005         * io/inquire.c (inquire_via_filename): Add const.
3006         * io/io.h (sys_exit): Add attribute.
3007         * io/io.h (move_pos_offset): Add move_pos_offset.
3008         * io/io.h (compare_file_filename, inquire_sequential, inquire_direct,
3009         inquire_formatted, inquire_unformatted, inquire_read, inquire_write,
3010         inquire_readwrite, convert_real, write_a, write_b, write_d, write_e,
3011         write_en, write_es, write_f, write_i, write_l, write_o, write_x,
3012         write_z): Add const.
3013         * io/read.c (convert_real): Add const.
3014         * io/transfer.c (type_name): Add const.
3015         * io/unix.c (unpack_filename, compare_file_filename,inquire_sequential,
3016         inquire_direct, inquire_formatted, inquire_unformatted, inquire_access,
3017         inquire_read, inquire_write, inquire_readwrite): Add const.
3018         * io/write.c (output_float): Remove unused variable.
3019         * io/write.c (write_a, extract_int, extract_real, output_float,
3020         write_float, write_int, write_i, write_b, write_o, write_z, write_d,
3021         write_e, write_f, write_en, write_es, write_logical, write_integer,
3022         write_character, write_real, write_complex): Add const.
3023         * runtime/error.c (rtoa): Remove unused variable.
3024         * runtime/select.c (select_string): Add const.
3025         * runtime/stop.c (stop_string): Add const.
3027 2003-08-10  Paul Brook  <paul@nowt.org>
3029         * Makefile.am (gfor_helper_src): Add intrinsics/abort.c.
3030         (FFLAGS): Add -fno-underscoring.
3031         * Makefile.in: Regenerate.
3032         * intrinsics/abort.c: New file.
3034 2003-08-10  Erik Schnetter  <schnetter@uni-tuebingen.de>
3036         * fmain.c (main): Do not call init and cleanup; call set_args instead.
3037         * libgfortran.h (init, cleanup): Remove declarations.
3038         (set_args): Add declaration.
3039         * runtime/main.c (init, cleanup): Make them static, and give them
3040         the constructor and destructor attributes.
3041         (set_args): New function.
3043 2003-08-10  Paul Brook  <paul@nowt.org>
3045         * intrinsics/strinf_intrinsics.c (compare_string): Return value based
3046         on which string is longest.
3048 2003-08-10  Paul Brook  <paul@nowt.org>
3050         * Makefile.am (EXTRA_DIST): Remove old files.
3051         * Makefile.in: Regenerate.
3053 2003-07-26  Paul Brook  <paul@nowt.org>
3055         Rename library to libgfortran.
3056         * libgfortran.h: Change prefix to _libgfortran_.
3058 2003-07-24  Paul Brook  <paul@nowt.org>
3060         * configure.in: Don't pull in system libtool.  Use toplevel
3061         auxiliary files.
3063 2003-07-22  Paul Brook  <paul@nowt.org>
3065         Regenerate all configury files.
3067 2003-07-09  Chun Huang  <compiler@sohu.com>
3069         * intrinsics/string_intrinsic.c (string_scan): New function.
3070         (string_verify): New function.
3072 2003-06-25  Paul Brook  <paul@nowt.org>
3074         * io/unix.c (mem_alloc_r_at, mem_alloc_w_at): Advance logical_offset.
3075         (mem_seek): Don't bother setting physical_offset.
3077 2003-06-20  Paul Brook  <paul@nowt.org>
3079         * libgfor.h (stop_numeric): Declare.
3080         * runtime/pause.c: New file.
3081         * Makefile.am: Add it.
3083 2003-06-08  Paul Brook  <paul@nowt.org>
3085         * m4/cexp.m4 (cabs): Use correct typed version.
3086         (csqrt): New function.
3088 2003-06-07  Canqun Yang  <canqun@yahoo.com.cn>
3090         Spotted by Benjamin and Tobias:
3091         * io/list_read.c: Add Separator '\t'.
3092         (parse_real, read_real): Accept real values starting with an optional
3093         sign follows a decimal point.
3095 2003-06-06  Steven Bosscher  <steven@gcc.gnu.org>
3097         * Makefile.am: Don't put cmath objects in subdir.
3098         * configure.in: Rename MATHOBJ to MATH_OBJ.
3100 2003-06-02  Kejia Zhao  <Kejia_zh@yahoo.com.cn>
3102         * intrinsics/associated.c: New file.
3103         * Makefile.am: Add it. Regenerate Makefile.in.
3104         * libgfor.h: Define g95_array_void, G95_DESCRIPTOR_DATA, and
3105         G95_DESCRIPTOR_DTYPE.
3107 2003-06-01  Canqun Yang  <canqun@yahoo.com.cn>
3109         * io/write.c (calcuate_exp): Rewrite it to avoid overflow.
3110         (calculate_G_format): Rewrite it to eliminate an infinte loop and set
3111         the scale_factor to 0 for F editing.
3113 2003-05-11  Tobias Schlter  <innenminister@gmx.de>
3115         * libgfor.h: Only include stdint.h if it exists.
3117 2003-05-07  Paul Brook  <paul@nowt.org>
3119         * libgfor.h: Use stdint.h types.
3120         * intrinsics/ishift.c: Ditto.
3121         * runtime/memory.c (malloc_t): Reorder fields for better alignment.
3123 2003-05-05  Steven Bosscher  <steven@gcc.gnu.org>
3125         * libgfor.h (offsetof): Define if nobody else does.
3126         * runtime/memory.c (HEADER_SIZE): Use it.
3128 2003-05-01  Tobias Schlter  <innenminister@gmx.de>
3130         * configure.in: Require autoconf 2.54.
3132 2003-04-28  Tobias Schlter  <innenminister@gmx.de>
3133         Paul Brook  <paul@nowt.org>
3135         * intrinsics/reshape_generic.c: Copy the whole element, not just the
3136         first byte.
3137         * m4/transpose.m4: New file.
3138         * Makefile.am: Add them.
3139         Regenerate generated files.
3141 2003-04-18  Steven Bosscher  <steven@gcc.gnu.org>
3143         * io/format.c (parse_format_list): Allow 'X' without integer
3144         prefix.  This is an extension.  Interpretation is '1X'.
3146 2003-04-18  Tobias Schlter  <Tobias.Schlueter@physik.uni-muenchen.de>
3148         * io/format.c (parse_format_list): Allow '0P'.
3150 2003-04-18  Steven Bosscher  <steven@gcc.gnu.org>
3152         * Makefile.in: Re-regenerate for automake 1.7.3.
3154 2003-04-18  Canqun Yang  <canqun@yahoo.com.cn>
3156         Port implementation for CHARACTER SELECT from Andy's tree.
3157         * runtime/select.c: New file
3158         * Makefile.am: Add it.
3159         * Makefile.in: Regenerate.
3161 2003-04-17  Xiaoqiang Zhang <zhangapache@yahoo.com>
3163         * io/transfer.c (formatted_transfer): Modified
3164         * io/unix.c (move_pos_offset): New Function.
3165         * io/format.c (parse_format_list): Modified.
3167 2003-04-15  Xiaoqiang Zhang <zhangapache@yahoo.com>
3169         * io/write.c (write_float,write_real): New implemention of
3170         FMT_G and default float editing.
3171         (calculate_exp,calculate_G_format,output_float): New Function.
3172         (write_float,write_real,write_logical): Modified
3173         * libgfor.h (default_rtoa): Remove Declaration.
3174         * runtime/error.c (default_rtoa): Remove Function.
3176 2003-04-15  Steven Bosscher  <steven@gcc.gnu.org>
3178         Spotted by Yang:
3179         * io/write.c (extract_real): Add missing break statement.
3181 2003-04-13  Steven Bosscher  <steven@gcc.gnu.org>
3183         * cpu_time.c: Make sure we have a definition of HZ.  Don't
3184         rely on CLOCKS_PER_SEC, it is always 1000000, on any system.
3186 2003-04-13  Steven Bosscher  <steven@gcc.gnu.org>
3187             Paul Brook  <paul@nowt.org>
3189         * configure.in: Check for process time headers and GETTIMEOFDAY.
3190         * makefile.am: Add intrinsics/cpu_time.c.
3191         * acinclude.m4: New file.
3192         * intrinsics/cpu_time.c: New file.
3193         * m4/dotprodl.m4: Fix typo.
3194         Regenerate generated files.
3196 2003-04-11  Xiaoqiang Zhang <zhangapache@yahoo.com>
3198         * io/write.c (extract_real): Ouput floating point value.
3199         (write_float): New Function.
3200         (write_e, write_f, write_en, write_es): Modified
3201         * io/transfer.c (formatted_transfer): Modified.
3202         * libgfor.h (default_rtoa): Declaration.
3203         (rtoa): Declaration.
3204         * runtime/error.c (default_rtoa): New Function.
3205         (rtoa): New Function.
3207 2003-04-05  Paul Brook  <paul@nowt.org>
3209         * intrinsics/spread_generic.c: New file.
3210         * Makefile.am: Add it. Regenerate Makefile.in.
3212 2003-03-29  Paul Brook  <paul@nowt.org>
3214         * intrinsics/pack_generic.c: New file.
3215         * intrinsics/unpack_generic.c: New file.
3216         * Makefile.am: Add them. Regenerate Makefile.in.
3218 2003-03-25  Paul Brook  <paul@nowt.org>
3220         * intrinsics/eoshift0.c: New file.
3221         * intrinsics/eoshift2.c: New file.
3222         * m4/eoshift1.m4: New file.
3223         * m4/eoshift3.m4: New file.
3224         * Makefile.am: Add them.
3225         * in_unpack_generic.c: Initialize src.
3226         Regenerate generated files.
3228 2003-03-14  Paul Brook  <paul@nowt.org>
3230         * m4/shape.m4: Work properly with array temporaries.
3231         * m4/in_pack.m4: Skip redundant checks for array temporaries.
3232         * runtime/in_pack_generic.c: Ditto.
3234 2003-03-12  Paul Brook  <paul@nowt.org>
3236         * m4/shape.m4: Work properly with noncontiguous arrays.
3238 2003-03-08  Paul Brook  <paul@nowt.org>
3240         * m4/in_pack.m4: Correctly handle zero sized and assumed size arrays.
3241         * runtime/in_pack_generic.c: Ditto.
3243 2003-02-08  Paul Brook  <paul@nowt.org>
3245         * intrinsics/reshape_generic.c: Use runtime_error to report errors.
3246         * io/close.c (st_close): Return void.
3247         * io/open.c (st_open): Return void.
3248         * libgfor.h (g95_array_char): Declare.
3249         (internal_malloc_size): Ditto.
3250         (internal_pack*, internal_unpack*): Ditto.
3251         * m4/in_pack.m4: Allocate storage if neccessary.  Fix logic for packed
3252         arrays.
3253         * m4/in_unpack.m4: Include file fixes.
3254         * m4/reshape.m4: Increment the correct source pointer.
3255         * Makefile.am (maxloc): Fix typo.
3256         * runtime/in_pack_generic.c: Call optimized functions. Allocate
3257         storage if neccessary. Fix logic for packed arrays.
3258         * runtime/in_unpack_generic.c: Call optimized functions.
3259         * runtime/main.c: Use runtime_error to report errors.
3260         * memory.c (internal_malloc_size): Make non-static.
3262 2003-02-02  Arnaud Desitter  <arnaud.desitter@geography.oxford.ac.uk>
3264         * reshape_packed.c, lock.c: Add #include <string.h>.
3265         * libgfor.h, format.c, inquire.c, io.h, transfer.c, unix.c,
3266         environ.c, error.c, memory.c, string.c: Add const.
3267         * error.c (show_locus): Add void.
3269 2003-02-21  Paul Brook  <paul@nowt.org>
3271         * m4/in_pack.m4: Avoid returning const * parameter.
3272         * Makefile.am: Only regenerate files in maintainer mode.
3274 2003-02-20  Paul Brook  <paul@nowt.org>
3276         Add array repacking support functions.
3277         * m4/in_pack.m4, m4/in_unpack.m4: New files.
3278         * runtime/in_pack_generic.c, runtime/in_unpack_generic.c: New files.
3279         * Makefile.am: Build them.  Regenerate configury files.
3280         * generated/: New directory for generated files (need to move
3281         everything else there).
3283 2003-02-07  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3285         * m4/cexp.m4: Fix typo.
3287 2003-01-26  Paul Brook  <paul@nowt.org>
3289         * intrinsics/: Add missing generated files.
3291 2003-01-26  Paul Brook  <paul@nowt.org>
3293         * Makefile.am: Put -I before the filename.
3295 2003-01-24  Paul Brook  <paul@nowt.org>
3297         * configure.in: Add AM_MAINTAINER_MODE.
3299 2003-01-23  Paul Brook  <paul@nowt.org>
3301         * configure.in, Makefile.am: Modify to work with unmodified autoconf
3302         and auotmake.
3303         Also regenerate other configury files.
3305 2003-01-21  Paul Brook  <paul@nowt.org>
3307         * io/read.c: Don't use stdint.h, it doesn't exist on cygwin.
3309 2003-01-20  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3311         * io/read.c (read_f): Don't use alloca, but safe get_mem instead.
3312         Don't include "alloca.h".
3314 2003-01-20  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3316         * intrinsics/string.c: Rename to intrinsics/string_intrinsics.c.
3317         * Makefile.am: Adjust file name.
3318         * Makefile.in: Regenerate.
3319         * gfortypes.h: Kill, include everything in...
3320         * libgfor.h: ...here.  Include config.h
3321         * fmain.c, intrinsics/ishftc.c, intrinsic/reshape_generic.c,
3322         intrinsics/reshape_i4.c, intrinsics/reshape_i8.c,
3323         intrinsics/reshape_packed.c, intrinsics/size.c,
3324         m4/reshape.m4, runtime/main.c, runtime/memory.c: Use macro
3325         for prefix for all functions instead of hardcoded.
3327 2003-01-19  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3329         * io/lock.c (library_end): Propagate library return
3330         code.
3332 2003-01-19  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3334         Port fixes from Andy's tree:
3335         * io/read.c (read_decimal): Reverse sense of overflow
3336         comparison during integer reads.
3337         * io/format.c (revert): Fix comment.
3338         (next_format): Fix format revision.
3339         * io/unix.c: Fix and simplify mmap version of stream
3340         functions.
3342 2003-01-11  Paul Brook  <paul@nowt.org>
3344         * configure, Makefile.in: Regenerate.
3346 2003-01-11  Paul Brook  <paul@nowt.org>
3348         * runtime/stop.c: Rewrite.
3350 2003-01-08  Paul Brook  <paul@nowt.org>
3352         * configure, Makefile.in: Regenerate.
3354 2003-01-05  Paul Brook  <paul@nowt.org>
3356         * (*.m4) Move to m4/.
3357         * intrinsics/string.c (_gfor_string_index): New Function.
3359 2002-12-29  Paul Brook  <paul@nowt.org>
3361         * intrinsics/reshape.*: New files.
3362         * gcc_config.patch: Update to new GCC configure system.
3364 2002-10-10  Paul Brook  <paul@nowt.org>
3366         * intrinsics/size.c: New file.
3367         * intrinsics/shape.m4: New file.
3368         * Makefile.am: Add above files.
3370 2002-10-02  Paul Brook  <paul@nowt.org>
3372         * fmain.c (main): Move here.
3373         * libgfor.c: From here.
3374         * libgfor.h (gfor_init, gfor_runtime_cleanup): Declare.
3375         * Makefile.am: Build libgforbegin.
3376         * gcc_config.patch: Remove stray -march=athlon.
3377         * dotprodl.m4: Fix use of L8_TO_L4 macro.
3378         * ifunction.m4: Move variable declarations to allow compilation with
3379         gcc < 3.0
3380         * specific.m4, specific4.m4: Fix typo typecode->type_code.
3381         * README: Document use of patch -p1.
3383 2002-09-12  Paul Brook  <paul@nowt.org>
3385         * math/*: Add complex math library functions.
3386         * intrinsics/specific(2).m4: Generate Specific intrinsic functions.
3387         * Makefile.am: Add details for above.
3388         * configure.in: Use AC_PROG_F95.  Test for the presence of csin.
3390 2002-09-09  Paul Brook  <paul@nowt.org>
3392         * libgfor.c (determine_endianness): Use an array rather than a struct.
3393         * intrinsics/dotprod*, matmul*: Implement DOT_PRODUCT and MATMUL.
3395 2002-09-09  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3397         * libgfor.c: Add fatal signal handler.
3398         Romove superfluous abort() calls.
3400 2002-09-07  Paul Brook <paul@nowt.org>
3402         * Makefile.am, intrinsics: Major rewrite.
3404 2002-09-02  Paul Brook <paul@nowt.org>
3406         * Makefile.am: Added -I$(srcdir) to m4 rule.
3408 2002-08-30  Paul Brook <paul@nowt.org>
3410         * io/*: Integrated libgforio.
3411         * Makefile.am, configure.in: Make compatable with GCC. Build code for
3412         intrinsics in the intrisics directory.
3413         * intrinsics/intrinsics.m4: Move here. Strip directories from the
3414         filename. Add 'and' and 'all' intrinsics.
3416 2002-08-17  Paul Brook <paul@nowt.org>
3418         * ALL: First release as more than just a single file