2005-09-07 Thomas Koenig <Thomas.Koenig@online.de>
[official-gcc.git] / libgfortran / ChangeLog
blobd43be2e02c80b7d7d9f6f19bf429fbe01a1cc2ed
1 2005-09-07  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
3         PR libfortran/23262
4         * acinclude.m4 (LIBGFOR_CHECK_CRLF): New check.
5         * configure.ac: Use new check.
6         * configure.in: Regenerate.
7         * config.h.in: Regenerate.
8         * configure: Regenerate.
9         * io/transfer.c (next_record_w): Add case for CRLF as line
10         terminator.
11         * io/unix.c (tempfile, regular_file): Open files with
12         O_BINARY on systems with CRLF.
14 2005-09-07  Steve Ellcey  <sje@cup.hp.com>
16         PR libfortran/23419
17         * io/write.c (extract_int): Use memcpy to access buffer.
18         (extract_uint): Ditto.
19         (extract_real): Ditto.
21 2005-09-05  Thomas Koenig  <Thomas.Koenig@online.de>
23         * io/list_read.c:  Adjust size of of value to 32 (to hold
24         kind=16 complex values).
26 2005-09-04  Thomas Koenig  <Thomas.Koenig@online.de>
28         PR libfortran/23321
29         * io/transfer.c(data_transfer_init):  Check for a too-large
30         record number.  Return if sseek failed.
32 2005-09-03  Jakub Jelinek  <jakub@redhat.com>
34         * io/read.c (read_x): Take int argument instead of fnode * and
35         digging the N from F->u.n.
36         * io/io.h (read_x): Adjust prototype.
37         * io/transfer.c (formatted_transfer): Adjust callers.  Don't clobber
38         f->u.n for FMT_T.
40 2005-09-02  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
42         * io/unix.c (stream_ttyname): Protect use of ttyname by
43         HAVE_TTYNAME macro.
44         * configure.ac: Add check for ttyname.
45         * config.h.in: Regenerate.
46         * configure: Regenerate.
48 2005-09-02  Andreas Jaeger  <aj@suse.de>
50         * libgfortran.h: Add prototype for init_compile_options.
52         * io/io.h: Add prototype for notify_std.
54 2005-08-31  Steve Ellcey  <sje@cup.hp.com>
56         * io/read.c (set_integer): Use memcpy to fill buffer.
58 2005-08-31  Steve Ellcey  <sje@cup.hp.com>
60         PR target/23556
61         * io/read.c (convert_real): Use memcpy to fill buffer.
63 2005-08-29  Thomas Koenig  <Thomas.Koenig@online.de>
65         PR libfortran/23598
66         * io/lock.c(library_start):  If ioparm.iostat is present, clear
67         it unconditionally.
69 2005-08-27  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
71         * acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Add check to see
72         if target can unlink open files.
73         * configure.ac: Use this new test.
74         * config.h.in: Regenerate.
75         * configure: Regenerate.
76         * Makefile.in: Regenerate.
77         * aclocal.ac: Regenerate.
78         * io/io.h: Add prototype for unpack_filename.
79         * io/close.c (st_close): Delete file after closing unit if
80         HAVE_UNLINK_OPEN_FILE is not defined.
81         * io/unix.c (unpack_filename): Unlink scratch file after opening
82         it only if HAVE_UNLINK_OPEN_FILE is defined.
84 2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>
86         * All files: Update FSF address.
88 2005-08-16  Thomas Koenig  <Thomas.Koenig@online.de>
90         PR libfortran/23428
91         * io/transfer.c (iolength_transfer):  Remove __attribute__ ((unused))
92         from type.  Return correct length for inquire(iolength=)
93         for complex variables.
95 2005-08-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
96             Steven Bosscher  <stevenb@suse.de>
98         PR libfortran/20006
99         * Makefile.am: Add file runtime/compile_options.c.
100         * Makefile.in: Regenerate.
101         * libgfortran.h: Create structure compile_options_t. Define the
102         compile_options variable and GFC_STD_ macros.
103         * runtime/compile_options.c: New file.
104         * runtime/error.c (notify_std): New function.
105         * runtime/main.c (init): Call init_compile_options during
106         initialization.
107         * io/format.c: Use the new notify_std function for the $
108         descriptor extension.
110 2005-08-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
111         * Makefile.am: Add file intrinsics/tty.c to Makefile process.
112         * Makefile.in: Regenerate.
113         * io/io.h: Prototypes for new functions stream_isatty and
114         stream_ttyname.
115         * io/unix (stream_isatty, stream_ttyname): New functions to call
116         isatty() and ttyname() on a given unit.
117         * intrinsics/tty.c: New file to implement g77 intrinsics TTYNAM
118         and ISATTY.
120 2005-08-08  Jerry DeLisle  <jvdelisle@verizon.net>
122         PR libfortran/23154
123         * io/transfer.c (data_transfer_init): Initialize
124         current_unit->bytes_left for a read.
126 2005-08-07  Janne Blomqvist  <jblomqvi@cc.hut.fi>
128         PR fortran/22390
129         * io/backspace.c: File removed, contents moved to ...
130         * io/endfile.c: Ditto.
131         * io/rewind.c: Ditto.
132         * io/file_pos.c: New file, ... here.
133         * Makefile.am: Add file_pos.c to list, remove obsolete files.
134         * Makefile.in: Regenerated.
136 2005-08-07  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
138         * io/io.h: Change DEFAULT_TEMPDIR to /tmp instead of /var/tmp.
139         * io/unix.c (tempfile): Look at the TEMP environment variable
140         to find the temporary files directory. Whitespace correction.
142 2005-08-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
144         * io/unix.c: Add O_RDWR to open() call.
146 2005-08-04 Paul Thomas  <pault@gcc.gnu.org>
148         * transfer.c (data_transfer_init): Truncate file in
149         sequential WRITE when last_record == 0, rather than
150         current_record.  Cures problem on RH9.
152 2005-08-03  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
154         * libgfortran.h: When isfinite is not provided by the system,
155         define it as a macro, so that it can accept any floating point
156         type.
158 2005-08-01  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
160         PR libfortran/23178
161         * intrinsics/flush.c (flush_i8): Add function flush_i8. Update
162         copyright years.
164 2005-07-31  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
166         PR libfortran/21787
167         * intrinsics/abort.c (abort): Close units before aborting.
168         Updated copyright years.
170 2005-07-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
172         PR libfortran/22436
173         * io/write.c (write_real): Add default formats for real(10) and
174         real(16).
176 2005-07-30 Paul Thomas  <pault@gcc.gnu.org>
178         PR fortran/22570 and related issues.
179         * transfer.c (formatted_transfer): Make sure that there
180         really is data present before X- or T- editing. Move all
181         treatment of tabbing during writes to start of next data
182         producing format. Suppress incorrect zeroing of bytes_left
183         in slash formating. Insert int cast for assignment of a
184         difference of two gfc_offsets.
186 2005-07-23  Jerry DeLisle  <jvdelisle@verizon.net>
188         * io/write.c (write_float): Revise output of IEEE exceptional
189         values to comply with F95 and F2003 standards.
191 2005-07-22 Jerry DeLisle <jvdelisle@verizon.net>
193         PR libfortran/22570
194         * io/unit.c (init_units): Replace BLANK_ZERO with
195         BLANK_UNSPECIFIED.
197 2005-07-22 Jerry DeLisle <jvdelisle@verizon.net>
199         PR libfortran/21875  (FM111.f)
200         * io/read.c (next_char): Return a ' ' character when BLANK_ZERO
201         or BLANK_NULL are active.
202         (read_decimal): Interpret ' ' character correctly for BZ or BN.
203         (read_radix): Interpret ' ' character correctly for BZ or BN.
204         (read_f): Interpret ' ' character correctly for BZ or BN.
206 2005-07-22 Paul Thomas  <pault@gcc.gnu.org>
208         PR libfortran/22570
209         * read.c (read_x): Correct the condition for doing the
210         x-editing during formatted input.
211         * transfer.c (formatted_transfer): Cast offset difference
212         as int, clean-up arithmetic with new variable, bytes_used,
213         zero counters for FMT_SLASH,
214         (data_transfer_init) Zero X- and T-editing counters
215         unconditionally.
216         (next_record_w) Zero X- and T-editing counters.
217         unconditionally.
219 2005-07-17  Jerry DeLisle  <jvdelisle@verizon.net>
221         * io/write.c (write_float): Fix field width checks for
222         printing 'Infinity' or 'Inf'.
223         (output_float): Fix typo in comment.
225 2005-07-12 Paul Thomas  <pault@gcc.gnu.org>
227         PR libfortran/16435
228         * transfer.c (formatted_transfer): Correct the problems
229         with X- and T-editting that caused TLs followed by TRs
230         to overwrite data, which caused NIST FM908.FOR to fail
231         on many tests.
232         (data_transfer_init): Zero X- and T-editting counters at
233         the start of formatted IO.
234         * write.c (write_x): Write specified number of skips with
235         specified number of spaces at the end.
237 2005-07-13 Paul Thomas  <pault@gcc.gnu.org>
239         * io/read.c (read_complex): Prevent X formatting during reads
240         from going beyond EOR to fix NIST fm908.FOR failure.
241         * io/list_read.c (read_complex): Allow complex data in list-
242         directed reads to have eols either side of the comma to
243         fix NIST FM906.FOR failure.
245 2005-07-12  Thomas Koenig  <Thomas.Koenig@online.de>
247         PR libfortran/21593
248         * io/unix.c:  Add member special_file to type unix_stream.
249         (fd_truncate):  Don't call ftruncate or chsize if
250         s refers to a special file.
251         (fd_to_stream):  initialize s->special_file.
253 2005-07-11  David Edelsohn  <edelsohn@gnu.org>
255         PR libgfortran/22412
256         * io/write.c (otoa): Bias p by SCRATCH_SIZE, not
257         sizeof (SCRATCH_SIZE).
258         (btoa): Same.
260 2005-07-09  Jerry DeLisle  <jvdelisle@verizon.net>
262         PR libfortran/21875  (FM111.f)
263         * io/read.c (next_char): Return a ' ' character when BLANK_ZERO or
264         BLANK_NULL are active.
265         (read_decimal): Interpret ' ' character correctly for BZ or BN.
266         (read_radix): Interpret ' ' character correctly for BZ or BN.
267         (read_f): Interpret ' ' character correctly for BZ or BN.
268         * gfortran.dg/test (fmt_read_bz_bn.f90): New test case.
270 2005-07-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
271             Thomas Koenig  <Thomas.Koenig@online.de>
273         PR libfortran/22217
274         * io/write.c (extract_unit):  New function; extract
275         ints as unsigned signed int of the correct size.
276         (write_int):  Use it.
277         * runtime/error.c:  Adjust copyright years.
278         Adjust size of buffer to maximum that can occur.
280 2005-07-07  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
282         * libgfortran.h (GFC_ARRAY_DESCRIPTOR): Replace 'type *base' by
283         'size_t offset'.
284         * intrinsics/cshift0.c, intrinsics/eoshift0.c,
285         intrinsics/eoshift2.c,intrinsics/pack_generic.c,
286         intrinsics/reshape_generic.c, intrinsics/spread_generic.c,
287         intrinsics/transpose_generic.c, intrinsics/unpack_generic,
288         m4/cshift1.m4, m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4,
289         m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/reshape.m4,
290         m4,transpose.m4: Set renamed field 'offset' to zero instead of
291         'base'.
292         * generated/all_l4.c, generated/all_l8.c,
293         generated/any_l4.c, generated/any_l8.c, generated/count_4_l4.c,
294         generated/count_4_l8.c, generated/count_8_l4.c,
295         generated/count_8_l8.c, generated/chift1_4.c,
296         generated/cshift1_8.c, generated/eoshift1_4.c,
297         generated/eoshift1_8.c, generated/eoshift3_4.c,
298         generated/eoshift3_8.c, generated/matmul_c4.c,
299         generated/matmul_c8.c, generated/matmul_i4.c, matmul_i8.c,
300         generated/matmul_l4.c, generated/matmul_l8.c,
301         generated/matmul_r4.c, generated/matmul_r8.c,
302         generated/maxloc0_4_i4.c, generated/maxloc0_4_i8.c,
303         generated/maxloc0_4_r4.c, generated/maxloc0_4_r8.c,
304         generated/maxloc0_8_i4.c, generated/maxloc0_8_i8.c,
305         generated/maxloc0_8_r4.c, generated/maxloc0_8_r8.c,
306         generated/maxloc1_4_i4.c, generated/maxloc1_4_i8.c,
307         generated/maxloc1_4_r4.c, generated/maxloc1_4_r8.c,
308         generated/maxloc1_8_i4.c, generated/maxloc1_8_i8.c,
309         generated/maxloc1_8_r4.c, generated/maxloc1_8_r8.c,
310         generated/maxval_i4.c, generated/maxval_i8.c,
311         generated/maxval_r4.c, generated/maxval_r8.c,
312         generated/minloc0_4_i4.c, generated/minloc0_4_i8.c,
313         generated/minloc0_4_r4.c, generated/minloc0_4_r8.c,
314         generated/minloc0_8_i4.c, generated/minloc0_8_i8.c,
315         generated/minloc0_8_r4.c, generated/minloc0_8_r8.c,
316         generated/minloc1_4_i4.c, generated/minloc1_4_i8.c,
317         generated/minloc1_4_r4.c, generated/minloc1_4_r8.c,
318         generated/minloc1_8_i4.c, generated/minloc1_8_i8.c,
319         generated/minloc1_8_r4.c, generated/minloc1_8_r8.c,
320         generated/minval_i4.c, generated/minval_i8.c,
321         generated/minval_r4.c, generated/minval_r8.c,
322         generated/product_c4.c, generated/product_c8.c,
323         generated/product_i4.c, generated/product_i8.c,
324         generated/product_r4.c, generated/product_r8.c,
325         generated/reshape_c4.c, generated/reshape_c8.c,
326         generated/reshape_i4.c, generated/reshape_i8.c,
327         generated/sum_c4.c, generated/sum_c8.c, generated/sum_i4.c,
328         generated/sum_i8.c, generated/sum_r4.c, generated/sum_r8.c,
329         generated/transpose_c4.c, generated/transpose_c8.c,
330         generated/transpose_i4.c, generated/transpose_i8.c: Regenerate:
332 2005-07-07  Thomas Koenig  <Thomas.Koenig@online.de>
334         PR libfortran/21594
335         * intrinsics/eoshift0.c:  If abs(shift) > len, fill the
336         the whole array with the boundary value, but don't overrun it.
337         * intrinsics/eoshift2.c:  Likewise.
338         * m4/eoshift1.m4:  Likewise.
339         * m4/eoshift3.m4:  Likewise.
340         * generated/eoshift1_4.c:  Regenerated.
341         * generated/eoshift1_8.c:  Regenerated.
342         * generated/eoshift3_4.c:  Regenerated.
343         * generated/eoshift3_8.c:  Regenerated.
345 2005-07-07  Feng Wang  <fengwang@nudt.edu.cn>
347         PR fortran/16531
348         * io/transfer.c (formatted_transfer): Enable FMT_A on other types to
349         support Hollerith constants.
351 2005-07-01  Andreas Jaeger  <aj@suse.de>
353         * intrinsics/unpack_generic.c: Remove const from parameter.
355         * io/transfer.c (formatted_transfer): Remove unused variable.
357 2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>
359         PR libfortran/22142
360         * m4/eoshift1.m4:  Correct bstride (it needs to be multiplied
361         by size since it's a char pointer).
362         * m4/eoshift1_4.c:  Regenerated.
363         * m4/eoshift1_8.c:  Regenerated.
365 2005-06-28  Thomas Koenig  <Thomas.Koenig@online.de>
367         PR libfortran/22142
368         * m4/eoshift3.m4:  Correct bstride (it needs to be multiplied
369         by size since it's a char pointer).
370         * m4/eoshift3_4.c:  Regenerated.
371         * m4/eoshift3_8.c:  Regenerated.
373 2005-06-28  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
375         PR libfortran/22170
376         * io/transfer.c (formatted_transfer): Do not iterate on the
377         repeat count of a FMT_SLASH, since this is already done in
378         next_format().
380 2005-06-25  Thomas Koenig  <Thomas.Koenig@online.de>
382         PR libfortran/22144
383         * m4/cshift1.m4: Remove const from argument ret.
384         Populate return array descriptor if ret->data is NULL.
385         * m4/eoshift1.m4: Likewise.
386         * m4/eoshift3.m4: Likewise.
387         * generated/cshift1_4.c:  Regenerated.
388         * generated/cshift1_8.c:  Regenerated.
389         * generated/eoshift1_4.c:  Regenerated.
390         * generated/eoshift1_8.c:  Regenerated.
391         * generated/eoshift3_4.c:  Regenerated.
392         * generated/eoshift3_8.c:  Regenerated.
394 2005-06-24  Jerry DeLisle <jvdelisle@verizon.net>
396         PR libfortran/21915
397         * Makefile.am: Include intrinsics/hyper.c.
398         * c99_protos.h: Add prototypes for single precision versions of
399         acosh, asinh, and atanh for platforms that do not have these.
400         * config.h.in: Add #undef for wrappers.
401         * configure.ac: Add checks for single precision versions.
402         * aclocal.m4: Regenerated.
403         * Makefile.in: Regenerated.
404         * configure: Regenerated.
405         * intrinsics/hyper.c: New file, adds new wrapper functions.
407 2005-06-23  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
409         * intrinsics/c99_functions.c (log10l): New log10l function for
410         systems where this is not available.
411         * c99_protos.h: Prototype for log10l function.
412         * libgfortran.h: Use generated kinds.h to define GFC_INTEGER_*,
413         GFC_UINTEGER_*, GFC_LOGICAL_*, GFC_REAL_*, GFC_COMPLEX_*. Update
414         prototypes for gfc_itoa and xtoa.
415         * io/io.h: Update prototypes for set_integer and max_value.
416         * io/list_read.c (convert_integer): Use new
417         GFC_(INTEGER|REAL)_LARGEST type.
418         * io/read.c (set_integer): Likewise.
419         (max_value): Likewise.
420         (convert_real): Likewise.
421         (real_l): Likewise.
422         (next_char): Likewise.
423         (read_decimal): Likewise.
424         (read_radix): Likewise.
425         (read_f): Likewise.
426         * io/write.c (extract_int): Use new GFC_INTEGER_LARGEST type.
427         (extract_real): Use new GFC_REAL_LARGEST type.
428         (calculate_exp): Likewise.
429         (calculate_G_format): Likewise.
430         (output_float): Likewise. Use log10l for long double values.
431         Add comment for sprintf format. Use GFC_REAL_LARGEST_FORMAT.
432         (write_l): Use new GFC_INTEGER_LARGEST type.
433         (write_float): Use new GFC_REAL_LARGEST type.
434         (write_int): Remove useless special case for (len < 8).
435         (write_decimal): Use GFC_INTEGER_LARGEST.
436         (otoa): Use GFC_UINTEGER_LARGEST as argument.
437         (btoa): Use GFC_UINTEGER_LARGEST as argument.
438         * runtime/error.c (gfc_itoa): Use GFC_INTEGER_LARGEST as
439         argument.
440         (xtoa): Use GFC_UINTEGER_LARGEST as argument.
441         * Makefile.am: Use mk-kinds-h.sh to generate header kinds.h
442         with all Fortran kinds available.
443         * configure.ac: Check for strtold and log10l.
444         * Makefile.in: Regenerate.
445         * aclocal.m4: Regenerate.
446         * configure: Regenerate.
447         * config.h.in: Regenerate.
448         * mk-kinds-h.sh: Configuration script for available integer
449         and real kinds.
452 2005-06-18  Janne Blomqvist  <jblomqvi@cc.hut.fi>
454         * unix.c (stream_at_bof): Don't assume that all non-mmapped files
455         are non-seekable.
456         (stream_at_eof): Likewise.
458 2005-06-18  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
460         PR libfortran/19155
461         * io/read.c (convert_real): strtod can set errno to EINVAL on an
462         empty string, but we shouldn't have an error in that case.
464 2005-06-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
466         PR libfortran/19216
467         * io/list_read.c (eat_separator): No need to call next_record,
468         even in non-namelist_mode.
470 2005-06-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
472         * io/transfer.c (formatted_transfer): Fix typo in error message.
474 2005-06-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
476         PR libfortran/16436
477         * io/transfer.c (read_sf): Correct updating of bytes_left field.
478         (formatted_transfer): Correct updating of bytes_left field and
479         reformatting code (comments and whitespace).
480         * io/unix.c (move_pos_offset): "active" field should not be
481         changed here. Whitespace corrections.
483 2005-06-15  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
485         PR libfortran/21950
486         * intrinsics/c99_functions.c (scalbn): Provide fallback
487         implementation for scalbn.
488         * c99_protos.h: Prototype for scalbn.
489         * configure.ac: Add check for scalbn.
490         * configure: Regenerate.
491         * config.h.in: Regenerate.
493 2005-06-14  Thomas Koenig  <Thomas.Koenig@online.de>
495         * intrinsics/eoshift0.c:  Removed prototype for eoshift0.
496         * intrinsics/eoshift2.c:  Removed prototype for eoshift2.
498 2005-06-14  Tom Tromey  <tromey@redhat.com>
500         PR libgcj/19877:
501         * configure, aclocal.m4, Makefile.in: Rebuilt.
503 2005-06-12  Thomas Koenig  <Thomas.Koenig@online.de>
505         PR libfortran/21594
506         * intrinsics/eoshift0.c:  Add prototype for eoshift0.
507         * intrinsics/eoshift2.c:  Add prototype for eoshift2.
509 2005-06-12  Steven G. Kargl <kargls@comcast.net>
510             Thomas Koenig  <Thomas.Koenig@online.de>
512         PR libfortran/PR21797
513         * m4/cexp.m4 (csqrt`'q):  Add type qualifyer to
514         sqrt and fabs.
515         * generated/exp_c4.c:  Regenerated.
517 2005-06-12  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
519         PR libfortran/19155
520         * io/read.c (read_f): Take care of spaces after initial sign.
522 2005-06-11  Thomas Koenig  <Thomas.Koenig@onlinde.de>
524         PR libfortran/21333
525         * Makefile.am: Add in_pack_c4.c, in_pack_c8.c, in_unpack_c4.c
526         and in_unpack_c8.c.
527         * Makefile.in: Regenerate.
528         * libgfortran.h:  Declare internal_pack_c4, internal_pack_c8,
529         internal_unpack_c4 and internal_unpack_c8.
530         * m4/in_pack.m4: Use rtype_ccode insteald of rtype_kind
531         in function name.
532         Use sizeof (rtype_name) as size for memory allocation.
533         * m4/in_unpack.m4: Use rtype_ccode insteald of rtype_kind
534         in function name.
535         Use sizeof (rtype_name) for calculation of sizes for memcpy.
536         * runtime/in_pack_generic.c:  For real, integer and logical
537         call internal_pack_4 if size==4 and internal_pack_8 if
538         size==8.
539         For complex, call internal_pack_c4 if size==8 and
540         internal_pack_c8 if size==16.
541         * runtime/in_unpack_generic.c: For real, integer and logical
542         call internal_unpack_4 if size==4 and internal_unpack_8 if
543         size==8.
544         For complex, call internal_unpack_c4 if size==8 and
545         internal_unpack_c8 if size==16.
546         * generated/in_pack_i4.c:  Regenerated.
547         * generated/in_pack_i8.c:  Regenerated.
548         * generated/in_unpack_i4.c:  Regenerated.
549         * generated/in_unpack_i8.c:  Regenerated.
550         * generated/in_pack_c4.c:  New file.
551         * generated/in_pack_c8.c:  New file.
552         * generated/in_unpack_c4.c:  New file.
553         * generated/in_unpack_c8.c:  New file.
555 2005-06-09  Thomas Koenig  <Thomas.Koenig@online.de>
557         PR libfortran/21480
558         * m4/reshape.m4:  Use sizeof (rtype_name) for sizes to be passed
559         to reshape_packed.
560         * generated/reshape_c4.c:  Regenerated.
561         * generated/reshape_c8.c:  Regenerated.
562         * generated/reshape_i4.c:  Regenerated.
563         * generated/reshape_i8.c:  Regenerated.
565 2005-06-07  Thomas Koenig  <Thomas.Koenig@online.de>
567         PR libfortran/21926
568         * m4/matmul.m4:  Correct zeroing of result for non-packed
569         arrays with lowest stride is one.
570         * generated/matmul_c4.c:  Regenerated.
571         * generated/matmul_c8.c:  Regenerated.
572         * generated/matmul_i4.c:  Regenerated.
573         * generated/matmul_i8.c:  Regenerated.
574         * generated/matmul_r4.c:  Regenerated.
575         * generated/matmul_r8.c:  Regenerated.
577 2005-05-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
579         PR libfortran/20179
580         * io/unix.c (fd_close): Add test so that we don't close()
581         stdout and stderr.
583 2005-05-29  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
585         PR libfortran/20006
586         * io/format.c (parse_format_list): Set repeat count of $ format
587         node to 1.
588         * io/transfer.c (read_sf): Add g.seen_dollar to the test
589         concerning advancing I/O.
590         (data_transfer_init): Likewise.
591         (finalize_transfer): Likewise.
593 2005-05-27  Thomas Koenig  <Thomas.Koenig@online.de>
595         * runtime/in_pack_generic.c:  Adjust copyright years.
596         (in_pack_generic):  Change dimension of auxiliary arrays from
597         GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
598         * runtime/in_unpack_generic.c:  Adjust copyright years.
599         (in_unpack_generic):  Change dimension of auxiliary arrays from
600         GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
602 2005-05-26  Thomas Koenig  <Thomas.Koenig@online.de>
604         PR libfortran/17283
605         * intrinsics/unpack_generic.c:  Fix name of routine
606         on top.  Update copyright years.
607         (unpack1):  Remove const from return array descriptor.
608         rs:  New variable, for calculating return sizes.
609         Populate return array descriptor if ret->data is NULL.
611 2005-05-22  Peter Wainwright  <prw@ceiriog1.demon.co.uk>
613         PR libfortran/21376
614         * io/write.c (output_float): Rework logic to avoid call to log10
615         with argument equal to zero.
617 2005-05-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
619         * configure.ac: Check for trunc and truncf in libm.
620         * configure: Regenerate.
621         * config.h.in: Likewise.
622         * intrinsics/c99_functions.c (trunc, truncf): New functions.
623         * c99_protos.h (trunc, truncf): Declare them.
625 2005-05-18  Thomas Koenig  <Thomas.Koenig@online.de>
627         PR libfortran/21127
628         * Makefile.am:  Really commit.
629         * Makefile.in:  Really commit.
631 2005-05-18  Thomas Koenig  <Thomas.Koenig@online.de>
633         PR libfortran/21127
634         * Makefile.am:  Add generated/reshape_c4.c and
635         generated/reshape_c8.c.
636         * Makefile.in:  Regenerated.
637         * m4/iparm.m4:  Define rtype_ccode to be c4 or c8 for
638         complex types, 4 or 8 otherwise.
639         * m4/reshape.m4:  Use rtype_ccode instead of rtype_kind
640         in function name.
641         * generated/reshape_c4.c: New file.
642         * generated/reshape_c8.c: New file.
644 2005-05-16  Andreas Jaeger  <aj@suse.de>
646         * configure.ac: Add additional warning flags.
647         * configure: Regenerate.
649         * io/write.c (calculate_G_format): Remove unused parameter.
650         (output_float): Remove unused parameter.
651         (write_float): Change callers.
652         (nml_write_obj): Avoid signed warning.
653         Make variable const to support -Wwrite-strings.
655         * io/unix.c (fd_alloc, mmap_open, mmap_sfree, mem_sfree,
656         mem_truncate): Mark argument as unused.
658         * io/unit.c (get_unit): Mark argument as unused.
659         (init_units): Avoid warning about signed comparision.
661         * io/transfer.c (next_record_r): Remove unused parameter.
662         (next_record_w): Remove unused parameter.
663         (next_record): Change callers.
664         (iolength_transfer): Mark arguments as unused.
666         * io/open.c: Add initializer.
668         * io/list_read.c (read_character): Mark argument as unused.
669         (nml_match_name): Add const to make compile with -Wwrite-strings.
671         * io/format.c: Add initializer.
673 2005-05-15  Andreas Jaeger  <aj@suse.de>
675         * m4/eoshift1.m4: Initialize variables to avoid warnings.
676         * m4/eoshift3.m4: Initialize variables to avoid warnings.
677         * generated/eoshift1_4.c, generated/eoshift1_8.c,
678         generated/eoshift3_4.c, generated/eoshift3_8.c: Regenerated.
680         * intrinsics/spread_generic.c (spread): Initialize variables to
681         avoid warnings.
683         * intrinsics/eoshift0.c (eoshift0): Initialize variables to avoid
684         warnings.
685         * intrinsics/eoshift2.c (eoshift2): Initialize variables to avoid
686         warnings.
688         * io/list_read.c (nml_get_obj_data): Initialize variables to avoid
689         warnings.
691         * intrinsics/pack_generic.c (pack): Remove unneeded calculation.
693         * m4/matmull.m4 (matmul_): Remove unneeded calculations, fix
694         pointer cast to avoid warning.
695         * generated/matmul_l4.c: Regenerated.
696         * generated/matmul_l8.c: Regenerated.
698         * Makefile.am: Remove AM_CFLAGS here.
699         * configure.ac: Define AM_CFLAGS and AM_FCFLAGS so that warnings
700         are set.  Set additionally -Wstrict-prototypes for CFLAGS.
701         * Makefile.in: Regenerated.
702         * aclocal.m4: Regenerated.
703         * configure: Regenerated.
705         * intrinsics/system_clock.c (system_clock_4, system_clock_8): Add
706         missing returns, reformat a bit.
708         * io/write.c (nml_write_obj): Use %d again - and cast to int,
709         st_sprintf does not handle %ld.
711         * io/unit.c (is_internal_unit): Add void as parameter list.
713         * io/transfer.c: Move prototype declarations before the functions.
715         * runtime/normalize.c (almostone_r4, almostone_r8): Fix parameter
716         list.
718         * intrinsics/random.c (KISS_DEFAULT_SEED): Remove extra semicolon.
720         * io/transfer.c: Do not use empty initializers for global objects.
721         Add missing initializers.
723         * io/lock.c: Do not use empty initializers for global objects.
725         * io/close.c: Add missing initializers.
727         * runtime/environ.c: Add missing initializers. Do not use empty
728         initializers for global object.
729         (init_string): Mark argument as unused.
731         * runtime/main.c (cleanup): Fix parameter list.
733         * io/io.h: Fix parameter lists.
735         * m4/transpose.m4, m4/matmul.m4: Fix pointer cast to avoid
736         warning.
738         * generated/transpose_c4.c, generated/transpose_c8.c,
739         generated/transpose_i4.c, generated/transpose_i8.c,
740         generated/matmul_c4.c, generated/matmul_c8.c,
741         generated/matmul_i4.c, generated/matmul_i8.c,
742         generated/matmul_r4.c, generated/matmul_r8.c: Regenerated.
744         * io/write.c (nml_write_obj): Fix 64-bit problem.
746         * io/list_read.c (nml_get_obj_data): Add missing braces around
747         initializer to avoid warnings.
749         * intrinsics/etime.c (etime_sub): Remove unused variable.
751         * intrinsics/chdir.c, intrinsics/getlog.c, intrinsics/link.c,
752         intrinsics/symlnk.c, intrinsics/perror.c: Include <string.h> for
753         prototypes.
755         * runtime/string.c (compare0): Remove unused variable.
756         * io/unit.c (init_units): Remove unused variables.
757         * intrinsics/getcwd.c (getcwd_i4_sub): Remove unused variable.
758         * intrinsics/unlink.c (unlink_i4_sub): Remove unused variable.
759         * intrinsics/stat.c (stat_i4_sub, fstat_i8_sub, fstat_i4_sub,
760         stat_i8_sub): Remove unused variable.
762 2005-05-12  Thomas Koenig  <Thomas.Koenig@online.de>
764         PR libfortran/21324
765         * runtime/memory.c:  Don't define GFC_CLEAR_MEMORY (it's a
766         performance hog).
767         * io/open.c (new_unit): Zero freshly allocated memory for
768         unit structure.
769         * io/unit.c (init_units):  Zero freshly allocated memory for
770         STDIN, STDOUT and STDERR.
771         * io/unix.c (open_internal):  Zero freshly allocated memory
772         for unix_stream.
773         (fd_to_stream):  Likewise.
775 2005-05-11  Bud Davis  <bdavis@gfortran.org>
777         PR fortran/19478
778         * io/unix.c (fd_truncate): update positions when ftruncate
779         fails (like writing to /dev/null).
781 2005-05-10  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
783         PR libfortran/21471
784         * open.c (new_unit): Take care of the case where POSITION_APPEND
785         is specified (sseek to the end, and set u>-endfile).
787 2005-05-10  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
789         PR fortran/20178
790         * Makefile.am (gfor_specific_src): Add 'intrinsics/f2c_intrinsics.F90'
791         to dependencies.
792         * Makefile.in: Regenerate.
793         * intrinsics/f2c_specific.F90: New file.
795 2005-05-10  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
797         PR libfortran/20788
798         * io/unix.c (fd_to_stream): Add an avoid_mmap argument indicating
799         we don't we to mmap this stream. Use fd_open instead of mmap_open
800         in that case.
801         (open_external): Call fd_to_stream with avoid_mmap = 0.
802         (input_stream): Call fd_to_stream with avoid_mmap = 1.
803         (output_stream): Likewise.
804         (error_stream): Likewise.
806 2005-05-09  Mike Stump  <mrs@apple.com>
808         * configure: Regenerate.
810 2005-05-09  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
812         PR libfortran/19155
813         * io/read.c (read_f): Accept 'e', 'E', 'd' and 'D' as first
814         non-blank characters of a real number.
816 2005-05-04  Thomas Koenig  <Thomas.Koenig@online.de>
818         PR libfortran/21354
819         * m4/cshift1.m4: Change dimension of auxiliary arrays from
820         GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION.
821         * m4/eoshift1.m4: Likewise.
822         * m4/eoshift3.m4: Likewise.
823         * m4/ifunction.m4: Likewise.
824         * m4/in_pack.m4: Likewise.
825         * m4/in_unpack.m4: Likewise.
826         * intrinsics/cshift0.c: Likewise.
827         * intrinsics/eoshift0.c: Likewise.
828         * intrinsics/eoshift2.c: Likewise.
829         * intrinsics/random.c: Likewise.
830         * intrinsics/spread_generic.c: Likewise.
831         * intrinsics/stat.c: Likewise.
832         * generated/all_l4.c: Regenerated.
833         * generated/all_l8.c: Regenerated.
834         * generated/any_l4.c: Regenerated.
835         * generated/any_l8.c: Regenerated.
836         * generated/count_4_l4.c: Regenerated.
837         * generated/count_4_l8.c: Regenerated.
838         * generated/count_8_l4.c: Regenerated.
839         * generated/count_8_l8.c: Regenerated.
840         * generated/cshift1_4.c: Regenerated.
841         * generated/cshift1_8.c: Regenerated.
842         * generated/eoshift1_4.c: Regenerated.
843         * generated/eoshift1_8.c: Regenerated.
844         * generated/eoshift3_4.c: Regenerated.
845         * generated/eoshift3_8.c: Regenerated.
846         * generated/in_pack_i4.c: Regenerated.
847         * generated/in_pack_i8.c: Regenerated.
848         * generated/in_unpack_i4.c: Regenerated.
849         * generated/in_unpack_i8.c: Regenerated.
850         * generated/maxloc0_4_i4.c: Regenerated.
851         * generated/maxloc0_4_i8.c: Regenerated.
852         * generated/maxloc0_4_r4.c: Regenerated.
853         * generated/maxloc0_4_r8.c: Regenerated.
854         * generated/maxloc0_8_i4.c: Regenerated.
855         * generated/maxloc0_8_i8.c: Regenerated.
856         * generated/maxloc0_8_r4.c: Regenerated.
857         * generated/maxloc0_8_r8.c: Regenerated.
858         * generated/maxloc1_4_i4.c: Regenerated.
859         * generated/maxloc1_4_i8.c: Regenerated.
860         * generated/maxloc1_4_r4.c: Regenerated.
861         * generated/maxloc1_4_r8.c: Regenerated.
862         * generated/maxloc1_8_i4.c: Regenerated.
863         * generated/maxloc1_8_i8.c: Regenerated.
864         * generated/maxloc1_8_r4.c: Regenerated.
865         * generated/maxloc1_8_r8.c: Regenerated.
866         * generated/maxval_i4.c: Regenerated.
867         * generated/maxval_i8.c: Regenerated.
868         * generated/maxval_r4.c: Regenerated.
869         * generated/maxval_r8.c: Regenerated.
870         * generated/minloc0_4_i4.c: Regenerated.
871         * generated/minloc0_4_i8.c: Regenerated.
872         * generated/minloc0_4_r4.c: Regenerated.
873         * generated/minloc0_4_r8.c: Regenerated.
874         * generated/minloc0_8_i4.c: Regenerated.
875         * generated/minloc0_8_i8.c: Regenerated.
876         * generated/minloc0_8_r4.c: Regenerated.
877         * generated/minloc0_8_r8.c: Regenerated.
878         * generated/minloc1_4_i4.c: Regenerated.
879         * generated/minloc1_4_i8.c: Regenerated.
880         * generated/minloc1_4_r4.c: Regenerated.
881         * generated/minloc1_4_r8.c: Regenerated.
882         * generated/minloc1_8_i4.c: Regenerated.
883         * generated/minloc1_8_i8.c: Regenerated.
884         * generated/minloc1_8_r4.c: Regenerated.
885         * generated/minloc1_8_r8.c: Regenerated.
886         * generated/minval_i4.c: Regenerated.
887         * generated/minval_i8.c: Regenerated.
888         * generated/minval_r4.c: Regenerated.
889         * generated/minval_r8.c: Regenerated.
890         * generated/product_c4.c: Regenerated.
891         * generated/product_c8.c: Regenerated.
892         * generated/product_i4.c: Regenerated.
893         * generated/product_i8.c: Regenerated.
894         * generated/product_r4.c: Regenerated.
895         * generated/product_r8.c: Regenerated.
896         * generated/sum_c4.c: Regenerated.
897         * generated/sum_c8.c: Regenerated.
898         * generated/sum_i4.c: Regenerated.
899         * generated/sum_i8.c: Regenerated.
900         * generated/sum_r4.c: Regenerated.
901         * generated/sum_r8.c: Regenerated.
903 2005-04-30  Thomas Koenig  <Thomas.Koenig@online.de>
905         PR libfortran/18958
906         libgfortran.h:  Change typedef of index_type from size_t
907         to ssize_t.
909 2005-04-30  Paul Thomas  <pault@gcc.gnu.org>
911         PR libfortran/18857
912         * generated/matmul_r8.c: Remove incorrect assertions.
913         * generated/matmul_c4.c: Regenerate
914         * generated/matmul_c8.c: Regenerate
915         * generated/matmul_i4.c: Regenerate
916         * generated/matmul_i8.c: Regenerate
917         * generated/matmul_r4.c: Regenerate
918         * generated/matmul_r8.c: Regenerate
920 2005-04-29  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
922         * configure.ac: Check for ftruncate and chsize.
923         * io/unix.c (fd_truncate): Provide chsize as alternative to
924         ftruncate.
925         * config.h.in: Regenerate.
926         * configure: Regenerate.
928 2004-04-29  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
930         * intrinsics/rename.c: Add missing #includes.
932 2004-04-28  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
934         * AUTHORS, COPYING, INSTALL, NEWS, README: Remove.
936 2005-04-26  David Edelsohn  <edelsohn@gnu.org>
938         PR libfortran/20930
939         * io/rewind.c (st_rewind): Flush the stream when resetting the mode
940         from WRITING to READING.
942 2005-04-22  Paul Thomas  <pault@gcc.gnu.org>
943             Jerry DeLisle  <jvdelisle@verizon.net>
945         * io/write.c (nml_write_obj): Provide 1 more byte for ext_name.
946         * io/list_read.c (nml_get_obj_data): Put extra brackets in get_mem
947         call for ext_name.  These fix the bug reported by Jerry DeLisle to
948         the fortran list and are based on his suggested fix.
950 2005-04-22  Thomas Koenig  <Thomas.Koenig@online.de>
952         PR libfortran/20074
953         PR libfortran/20436
954         PR libfortran/21108
955         * m4/reshape.m4 (reshape_`'rtype_kind):  rs, rex:  New
956         variables, to be used in calculation of return array sizes.
957         Populate return array descriptor if ret->data is NULL.
958         Fix condition for early return (it used to test something
959         undefined if order was used).
960         Remove duplicate check wether pad is used.
961         * intrinsics/reshape_generic.c (reshape_generic): Likewise.
962         Fix a few places where the wrong variables were set.
963         * generated/reshape_i4.c: Regenerated.
964         * generated/reshape_i8.c: Regenerated.
966 2005-04-18  Paul  Thomas <pault@gcc.gnu.org>
968         * io/list_read.c (nml_touch_nodes, nml_read_obj,
969         nml_get_obj_data): Fix memory leaks in code for derived types.
971 2005-04-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
973         PR libfortran/20950
974         * io/inquire.c (inquire_via_unit): Check for the gfc_unit being
975         NULL when setting ioparm.sequential.
977 2005-04-17  Thomas Koenig  <Thomas.Koenig@online.de>
979         PR libfortran/21075
980         * m4/reshape.m4 (reshape_`'rtype_kind):  Change dimension
981         of auxiliary arrays from GFC_MAX_DIMENSIONS - 1 to
982         GFC_MAX_DIMENSIONS.
983         * intrinsics/reshape_generic.c (reshape_generic):  Likewise.
984         * generated/reshape_i4.c:  Regenerated.
985         * generated/reshape_i8.c:  Regenerated.
987 2005-04-17 Paul Thomas <pault@gcc.gnu.org>
989         * io/list_read.c (eat_separator): at_eol = 1 replaced
990         (zapped at some time?).
992 2005-04-17 Paul Thomas <pault@gcc.gnu.org>
994         PR libgfortran/12884
995         PR libgfortran/17285
996         PR libgfortran/18122
997         PR libgfortran/18210
998         PR libgfortran/18392
999         PR libgfortran/18591
1000         PR libgfortran/18879
1001         * io/io.h (nml_ls): Declare.
1002         (namelist_info): Modify for arrays.
1003         * io/list_read.c (namelist_read): Reduced to call to new functions.
1004         (match_namelist_name): Simplified.
1005         (nml_query): Handles stdin queries ? and =?. New function.
1006         (nml_get_obj_data): Parses object name. New function.
1007         (touch_nml_nodes): Marks objects for read. New function.
1008         (untouch_nml_nodes): Resets objects. New function.
1009         (parse_qualifier): Parses and checks qualifiers. New function
1010         (nml_read_object): Reads and stores object data. New function.
1011         (eat_separator): No new_record on '/' in namelist.
1012         (finish_separator): No new_record on '/' in namelist.
1013         (read_logical): Error return for namelist.
1014         (read_integer): Error return for namelist.
1015         (read_complex): Error return for namelist.
1016         (read_real): Error return for namelist.
1017         * io/lock.c (library_end): Free extended namelist_info types.
1018         * io/transfer.c (st_set_nml_var): Modified for arrays.
1019         (st_set_nml_var_dim): Dimension descriptors. New function.
1020         * io/write.c (namelist_write): Reduced to call to new functions.
1021         (nml_write_obj): Writes output for object. New function.
1022         (write_integer): Suppress leading blanks for repeat counts.
1023         (write_int): Suppress leading blanks for repeat counts.
1024         (write_float): Suppress leading blanks for repeat counts.
1025         (output_float): Suppress leading blanks for repeat counts.
1027 2005-04-15  Thomas Koenig  <Thomas.Koenig@online.de>
1029         PR libfortran/18495
1030         * intrinsics/spread_generic.c (spread):  Remove const from
1031         return array descriptor.
1032         New variables: rrank (rank of return array),  rs (for
1033         calculating the size of the return array), srank (rank
1034         of the source array).
1035         Generate runtime error if the dim= argument is larger than
1036         the rank of the return array.
1037         Generate runtime error if the needed rank of the return
1038         array is larger than 7.
1039         If ret->data is null, populate the return array descriptor
1040         and initialize the variables for the actual operation.
1041         Otherwise, set ret->dim[0].stride to one if it is zero.
1042         Change second, independent use of variable dim to srank.
1044 2005-04-12  Mike Stump  <mrs@apple.com>
1046         * configure: Regenerate.
1048 2005-04-13  Thomas Koenig  <Thomas.Koenig@online.de>
1050         PR libfortran/19106
1051         * m4/iforeach.c (name`'rtype_qual`_'atype_code):  Add TODO
1052         that setting correct strides is a front end job.
1053         (`m'name`'rtype_qual`_'atype_code):  Likewise.  If mask has
1054         a lowest stride of 0, adjust to 1.
1055         * m4/ifunction.c (name`'rtype_qual`_'atype_code):  Add TODO
1056         that setting correct strides is a front end job.
1057         (`m'name`'rtype_qual`_'atype_code):  Likewise.  If mask has
1058         a lowest stride of 0, adjust to 1.
1059         * maxloc0_4_i4.c: Regenerated
1060         * maxloc0_4_i8.c: Regenerated
1061         * maxloc0_4_r4.c: Regenerated
1062         * maxloc0_4_r8.c: Regenerated
1063         * maxloc0_8_i4.c: Regenerated
1064         * maxloc0_8_i8.c: Regenerated
1065         * maxloc0_8_r4.c: Regenerated
1066         * maxloc0_8_r8.c: Regenerated
1067         * maxloc1_4_i4.c: Regenerated
1068         * maxloc1_4_i8.c: Regenerated
1069         * maxloc1_4_r4.c: Regenerated
1070         * maxloc1_4_r8.c: Regenerated
1071         * maxloc1_8_i4.c: Regenerated
1072         * maxloc1_8_i8.c: Regenerated
1073         * maxloc1_8_r4.c: Regenerated
1074         * maxloc1_8_r8.c: Regenerated
1075         * maxval_i4.c: Regenerated
1076         * maxval_i8.c: Regenerated
1077         * maxval_r4.c: Regenerated
1078         * maxval_r8.c: Regenerated
1079         * minloc0_4_i4.c: Regenerated
1080         * minloc0_4_i8.c: Regenerated
1081         * minloc0_4_r4.c: Regenerated
1082         * minloc0_4_r8.c: Regenerated
1083         * minloc0_8_i4.c: Regenerated
1084         * minloc0_8_i8.c: Regenerated
1085         * minloc0_8_r4.c: Regenerated
1086         * minloc0_8_r8.c: Regenerated
1087         * minloc1_4_i4.c: Regenerated
1088         * minloc1_4_i8.c: Regenerated
1089         * minloc1_4_r4.c: Regenerated
1090         * minloc1_4_r8.c: Regenerated
1091         * minloc1_8_i4.c: Regenerated
1092         * minloc1_8_i8.c: Regenerated
1093         * minloc1_8_r4.c: Regenerated
1094         * minloc1_8_r8.c: Regenerated
1095         * minval_i4.c: Regenerated
1096         * minval_i8.c: Regenerated
1097         * minval_r4.c: Regenerated
1098         * minval_r8.c: Regenerated
1099         * product_c4.c: Regenerated
1100         * product_c8.c: Regenerated
1101         * product_i4.c: Regenerated
1102         * product_i8.c: Regenerated
1103         * product_r4.c: Regenerated
1104         * product_r8.c: Regenerated
1105         * sum_c4.c: Regenerated
1106         * sum_c8.c: Regenerated
1107         * sum_i4.c: Regenerated
1108         * sum_i8.c: Regenerated
1109         * sum_r4.c: Regenerated
1110         * sum_r8.c: Regenerated
1112 2005-04-10  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1114         PR libfortran/20788
1115         * runtime/environ.c (init_unsigned_integer): Function for
1116         environment variables we want to be positive.
1117         (init_integer): Function to allow negative environment
1118         variables (e.g. for GFORTRAN_STDIN_UNIT).
1120 2005-04-10  Thomas Koenig <Thomas.Koenig@online.de>
1122         PR libfortran/17992
1123         PR libfortran/19568
1124         PR libfortran/19595
1125         PR libfortran/20005
1126         PR libfortran/20092
1127         PR libfortran/20131
1128         PR libfortran/20661
1129         PR libfortran/20744
1130         * io/transfer.c (top level): eor_condition: New static variable.
1131         (read_sf): Remove unnecessary zeroing of buffer (there is enough
1132         information in its length).
1133         Return a string of length 0 (to be padded by caller) if EOR was
1134         seen previously.
1135         Remove erroneous special casing of EOR for standard input.
1136         Set eor_condition for non-advancing I/O if an end of line was
1137         detected.
1138         Increment ioparm.size if necessary.
1139         (formatted_transfer):  Skip the function if there is an EOR condition.
1140         (data_transfer_init):  Initialize eor_condition to zero (false).
1141         (next_record_r):  Clear sf_seen_eor if a \n has been seen already.
1142         (finalize_transfer):  If there is an EOR condition, raise the error.
1144 2005-04-09  Bud Davis  <bdavis@gfortran.org>
1145             Steven G. Kargl <kargls@comcast.net>
1147         PR fortran/19872
1148         * io/transfer.c (data_transfer_init): truncate an existing
1149         file on the first write.
1151 2005-04-09  Thomas Koenig  <Thomas.Koenig@online.de>
1153         PR libfortran/19106
1154         PR libfortran/19014
1155         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): ditto.
1156         If retarray->data is NULL (i.e. the front end does not
1157         know the rank and dimenson of the array), fill in its
1158         properties and allocate memory.
1159         Change the assertions about rank and dimension of retarray into
1160         runtime errors and only check them for retarray->data != NULL.
1161         Do the same for correcting the stride from 0 to 1 in retarray.
1162         (`m'name`'rtype_qual`_'atype_code): Likewise.
1163         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Likewise.
1164         Change assertion about rank of array to runtime error.
1165         (`m'name`'rtype_qual`_'atype_code): Likewise.
1166         * generated/all_l4.c: Regenerated.
1167         * generated/all_l8.c: Regenerated.
1168         * generated/any_l4.c: Regenerated.
1169         * generated/any_l8.c: Regenerated.
1170         * generated/count_4_l4.c: Regenerated.
1171         * generated/count_4_l8.c: Regenerated.
1172         * generated/count_8_l4.c: Regenerated.
1173         * generated/count_8_l8.c: Regenerated.
1174         * generated/maxloc0_4_i4.c: Regenerated.
1175         * generated/maxloc0_4_i8.c: Regenerated.
1176         * generated/maxloc0_4_r4.c: Regenerated.
1177         * generated/maxloc0_4_r8.c: Regenerated.
1178         * generated/maxloc0_8_i4.c: Regenerated.
1179         * generated/maxloc0_8_i8.c: Regenerated.
1180         * generated/maxloc0_8_r4.c: Regenerated.
1181         * generated/maxloc0_8_r8.c: Regenerated.
1182         * generated/maxloc1_4_i4.c: Regenerated.
1183         * generated/maxloc1_4_i8.c: Regenerated.
1184         * generated/maxloc1_4_r4.c: Regenerated.
1185         * generated/maxloc1_4_r8.c: Regenerated.
1186         * generated/maxloc1_8_i4.c: Regenerated.
1187         * generated/maxloc1_8_i8.c: Regenerated.
1188         * generated/maxloc1_8_r4.c: Regenerated.
1189         * generated/maxloc1_8_r8.c: Regenerated.
1190         * generated/maxval_i4.c: Regenerated.
1191         * generated/maxval_i8.c: Regenerated.
1192         * generated/maxval_r4.c: Regenerated.
1193         * generated/maxval_r8.c: Regenerated.
1194         * generated/minloc0_4_i4.c: Regenerated.
1195         * generated/minloc0_4_i8.c: Regenerated.
1196         * generated/minloc0_4_r4.c: Regenerated.
1197         * generated/minloc0_4_r8.c: Regenerated.
1198         * generated/minloc0_8_i4.c: Regenerated.
1199         * generated/minloc0_8_i8.c: Regenerated.
1200         * generated/minloc0_8_r4.c: Regenerated.
1201         * generated/minloc0_8_r8.c: Regenerated.
1202         * generated/minloc1_4_i4.c: Regenerated.
1203         * generated/minloc1_4_i8.c: Regenerated.
1204         * generated/minloc1_4_r4.c: Regenerated.
1205         * generated/minloc1_4_r8.c: Regenerated.
1206         * generated/minloc1_8_i4.c: Regenerated.
1207         * generated/minloc1_8_i8.c: Regenerated.
1208         * generated/minloc1_8_r4.c: Regenerated.
1209         * generated/minloc1_8_r8.c: Regenerated.
1210         * generated/minval_i4.c: Regenerated.
1211         * generated/minval_i8.c: Regenerated.
1212         * generated/minval_r4.c: Regenerated.
1213         * generated/minval_r8.c: Regenerated.
1214         * generated/product_c4.c: Regenerated.
1215         * generated/product_c8.c: Regenerated.
1216         * generated/product_i4.c: Regenerated.
1217         * generated/product_i8.c: Regenerated.
1218         * generated/product_r4.c: Regenerated.
1219         * generated/product_r8.c: Regenerated.
1220         * generated/sum_c4.c: Regenerated.
1221         * generated/sum_c8.c: Regenerated.
1222         * generated/sum_i4.c: Regenerated.
1223         * generated/sum_i8.c: Regenerated.
1224         * generated/sum_r4.c: Regenerated.
1225         * generated/sum_r8.c: Regenerated.
1227 2005-04-09  Thomas Koenig <Thomas.Koenig@online.de>
1229         PR libfortran/20163
1230         * runtime/string.c (compare0): Use fstrlen() to
1231         strip trailing blanks from option string.
1233 2005-04-09  Andrew Pinski  <pinskia@physics.uc.edu>
1235         PR fortran/13257
1236         * format.c (parse_format_list): Allow an optional comma
1237         between descriptors.
1239 2005-04-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
1241         * io/backspace.c (unformatted_backspace): Do not dereference
1242         the pointer to the stream.
1244 2005-04-07  Andrew Pinski  <pinskia@physics.uc.edu>
1246         PR libfortran/20766
1247         * configure.ac (extra_ldflags_libgfortran): Set for *-darwin* to
1248         "-Wl,-single_module".
1249         * configure: Regenerate.
1250         * Makefile.am (libgfortran_la_LDFLAGS): Add extra_ldflags_libgfortran.
1251         * Makefile.in: Regenerate.
1253 2005-04-05  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1255         PR libfortran/20755
1256         * write.c (write_float): A G edit descriptor may locally change
1257         the scale factor, but it needs to be restored afterwards.
1259 2005-04-03  Dale Ranta  <dir@lanl.gov>
1260             Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1262         PR libfortran/20068
1263         PR libfortran/20125
1264         PR libfortran/20156
1265         PR libfortran/20471
1266         * io/backspace.c (unformatted_backspace): Fix error in arithmetic.
1267         (st_backspace): When in WRITING mode, we flush and falling back
1268         into READING mode. In all cases, correctly position the stream.
1270 2005-03-31  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1272         PR libfortran/20660
1273         * io/inquire.c (inquire_via_unit): Non-opened units should still be
1274         reported by an INQUIRE statement as existing.
1275         * io/transfer.c (data_transfer_init): Never accept negative units.
1277 2005-03-29  Dale Ranta  <dir@lanl.gov>
1278             Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1280         PR libfortran/20163
1281         * io/open.c (st_open): call library_end() before returning even if
1282         an error arises.
1284 2005-03-25  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1286         PR libfortran/19678
1287         * list_read.c (next_char, eat_separator, finish_separator, read_real)
1288         (namelist_read): Add support for '\r' as well as '\n' as EOL
1289         character.
1291         PR libfortran/19679
1292         * list_read.c (read_sf): Add a '\r' in a test to support DOS
1293         line-endings when line length is exceeded.
1295 2005-03-25  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1297         PR libfortran/15332
1298         * io/format.c (parse_format_list): format node for colon edit
1299         descriptor needs a repeat counter set to 1.
1301 2005-02-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1303         * config.h.in: Regenerate.
1305 2005-02-23  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1307         PR libfortran/18025
1308         * write.c (output_float): Handling the "F0.d" format similarly as
1309         commercial compilers.
1311 2005-03-22  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1313         * Makefile.am: Added new files.
1314         * Makefile.in: Regenerate.
1315         * aclocal.m4: Regenerate.
1316         * configure.ac: add checks for signal.h headers file, as well as
1317         following functions: chdir, strerror, getlogin, gethostname, kill,
1318         link, symlink, perror, sleep, time.
1319         * configure: Regenerate.
1320         * intrinsics/chdir.c, intrinsics/gerror.c, intrinsics/getlog.c,
1321         intrinsics/hostnm.c, intrinsics/ierrno.c, intrinsics/kill.c,
1322         intrinsics/link.c, intrinsics/perror.c, intrinsics/rename.c,
1323         intrinsics/sleep.c, intrinsics/symlnk.c, intrinsics/time.c: Newly
1324         implementend g77 intrinsics.
1326 2005-03-21  Zack Weinberg  <zack@codesourcery.com>
1328         * configure.ac: Do not invoke TL_AC_GCC_VERSION.
1329         In all substitutions, leave gcc_version to be expanded by the Makefile.
1330         * aclocal.m4, configure: Regenerate.
1331         * Makefile.am: Set gcc_version.
1332         * Makefile.in: Regenerate.
1334 2005-03-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1336         PR libfortran/20257
1337         * open.c (new_unit): set record length to max_offset rather than
1338           using a hard-coded limit (which was too low).
1340 2005-03-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1342         PR libfortran/20480
1343         * write.c (output_float): special check when writing 0.0 with
1344           EN and ES formats.
1346 2005-03-11  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1348         PR libfortran/20124
1349         * write.c (output_float): Adds a nzero_real variable to store
1350         the number of leading zeros whatever the format width is. Corrects
1351         the rounding of numbers less than 10^(-width). Fixes typo in an
1352         error message. Updates copyright years
1354 2005-02-27  Toon Moene  <toon@moene.indiv.nluug.nl>
1356         * runtime/environ.c: Update copyright years.
1358 2005-02-27  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1360         * io/write.c: Update copyright years.
1362 2005-02-27  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1364         PR libfortran/20101
1365         * io/write.c (output_float): Added special check for value 0.0 in
1366         PE format.
1368 2004-02-27  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1370         * io/write.c (output_float): Fix typo in condition.
1372 2005-02-25  Peter O'Gorman  <peter@pogma.com>
1373             Toon Moene  <toon@moene.indiv.nluug.nl>
1375         PR libgfortran/17748
1376         * runtime/environ.c: Remove references to environ.
1377         (show_variables): remove GFORTRAN_UNBUFFERED_* and
1378         GFORTRAN_NAME_* because they require environ.
1379         (pattern_scan): Remove function.
1381 2004-02-22  Paul Thomas <paulthomas2@wannado.fr>
1382             Bud Davis  <bdavis@gfortran.org>
1384         * io/list_read.c (read_real): Handle separators properly
1385         in list directed read.
1387 2004-02-21  Bud Davis  <bdavis@gfortran.org>
1389         PR fortran/20086
1390         * io/transfer.c (write_constant_string): accept an 'h' as
1391         the start of a hollerith format string.
1393 2005-02-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
1395         PR libfortran/19302
1396         * intrinsics/c99_functions.c (nextafterf): Special-case infinite
1397         numbers.
1399 2005-02-21  Steven G. Kargl  <kargls@comcast.net>
1401         * io/write.c (output_float):  Typo in error meesage.
1403 2005-02-20  Steven G. Kargl  <kargls@comcast.net>
1405         PR 20085
1406         * intrinsic/args.c (iargc): Off by 1.
1408 2005-02-19  Steven G. Kargl  <kargls@comcast.net>
1410         *  intrinsic/date_and_time.c: Fix conformance problems.
1412 2005-02-01  Paul Thomas <paulthomas2@wanadoo.fr>
1414         PR libgfortran/19363
1415         PR libgfortran/19691
1416         * libgfortran.h (isfinite): Work around broken isfinite(x) in Cygwin.
1418 2005-01-30  Bud Davis  <bdavis@gfortran.org>
1420         PR fortran/19647
1421         * io/inquire.c (inquire_via_unit): Use correct variable for
1422         pad.
1424 2005-01-29  Thomas Koenig  <Thomas.Koenig@online.de>
1426         PR libfortran/19595
1427         * io/transfer.c (data_transfer_init): eor requires advance="NO".
1429 2005-01-25  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1431         PR libfortran/19524
1432         * io/read.c (read_f): Don't free uninitialized pointer.
1434 2005-01-23  James A. Morrison  <phython@gcc.gnu.org>
1435         Paul Brook  <paul@codesourcery.com>
1437         PR fortran/19294
1438         * Makefile.am: Add transpose_c4.c and transpose_c8.c.
1439         * intrinsics/cshift0.c: Use separate optimized loops for complex types.
1440         * m4/transpose.m4: Include type letter in function name.
1441         * Makefile.in: Regenerate.
1442         * generated/transpose_*.c: Regenerate.
1444 2005-01-22  Thomas Koenig  <Thomas.Koenig@online.de>
1446         PR libfortran/19451
1447         * io/transfer.c (finalize_transfer):  Don't do anything if
1448         there is an error condition.
1450 2005-01-22  David Edelsohn  <edelsohn@gnu.org>
1452         PR libgfortran/19052
1453         * libgfortran.h (options_t): Add stderr_unit.
1454         * io/io.h (error_stream): Declare.
1455         * io/open.c (new_unit): Do not terminate abnormally if opening
1456         file preconnected to stdin, stdout, or stderr.
1457         * io/unit.c (init_units): Initialize stderr_unit.
1458         * io/unix.c (error_stream): New function.
1459         * runtime/environ.c (GFORTRAN_STDERR_UNIT): New environment variable.
1461 2005-01-22  Thomas Koenig  <Thomas.Koenig@online.de>
1463         PR libfortran/18982
1464         * io/unix.c (regular_file):  No need to change flags->action
1465         if an error occurs.  Document this.
1466         No need to call stat() for STATUS_OLD, open() will
1467         fail anyway.
1468         For ACTION_UNSPECIFIED, try open for read-write, then for
1469         read-only if open fails with EACCES, then for write-only
1470         if that fails with EACCES again.
1471         * io/unix.c (open_external): Document changed behavior of
1472         regular_file.
1474 2005-01-22  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
1476         PR fortran/19194
1477         * io/io.h (st_parameter): Use 'GFC_INTEGER_4' instead of 'int',
1478         use CHARACTER macro for definition of string valued paramters.
1480 2005-01-22  Bud Davis  <bdavis9659@comcast.net>
1482         PR fortran/19314
1483         * io/inquire.c(inquire_via_unit): implement POSITION=.
1484         * io/transfer.c(next_record): update position for
1485         INQUIRE.
1486         * io/rewind.c(st_rewind): update position for
1487         INQUIRE.
1489 2005-01-16  Bud Davis  <bdavis9659@comcast.net>
1491         PR fortran/18778
1492         * io/transfer.c (us_read): no bytes available is not a
1493         runtime error.
1495 2005-01-15  Bud Davis  <bdavis9659@comcast.net>
1497         PR fortran/18983
1498         * io/transfer.c (st_write_done): only truncate when it
1499         is required.
1501 2005-01-12  Toon Moene  <toon@moene.indiv.nluug.nl>
1503         PR libfortran/19280
1504         c99_protos.h: License changed to GPL+exception.
1505         libgfortran.h: Ditto.
1506         intrinsics/abort.c: Ditto.
1507         intrinsics/args.c: Ditto.
1508         intrinsics/associated.c: Ditto.
1509         intrinsics/bessel.c: Ditto.
1510         intrinsics/c99_functions.c: Ditto.
1511         intrinsics/cpu_time.c: Ditto.
1512         intrinsics/cshift0.c: Ditto.
1513         intrinsics/date_and_time.c: Ditto.
1514         intrinsics/env.c: Ditto.
1515         intrinsics/eoshift0.c: Ditto.
1516         intrinsics/eoshift2.c: Ditto.
1517         intrinsics/erf.c: Ditto.
1518         intrinsics/etime.c: Ditto.
1519         intrinsics/exit.c: Ditto.
1520         intrinsics/flush.c: Ditto.
1521         intrinsics/fnum.c: Ditto.
1522         intrinsics/getXid.c: Ditto.
1523         intrinsics/getcwd.c: Ditto.
1524         intrinsics/ishftc.c: Ditto.
1525         intrinsics/mvbits.c: Ditto.
1526         intrinsics/pack_generic.c: Ditto.
1527         intrinsics/rand.c: Ditto.
1528         intrinsics/random.c: Ditto.
1529         intrinsics/reshape_generic.c: Ditto.
1530         intrinsics/reshape_packed.c: Ditto.
1531         intrinsics/size.c: Ditto.
1532         intrinsics/spread_generic.c: Ditto.
1533         intrinsics/stat.c: Ditto.
1534         intrinsics/string_intrinsics.c: Ditto.
1535         intrinsics/system.c: Ditto.
1536         intrinsics/system_clock.c: Ditto.
1537         intrinsics/transpose_generic.c: Ditto.
1538         intrinsics/umask.c: Ditto.
1539         intrinsics/unlink.c: Ditto.
1540         intrinsics/unpack_generic.c: Ditto.
1541         io/backspace.c: Ditto.
1542         io/close.c: Ditto.
1543         io/endfile.c: Ditto.
1544         io/format.c: Ditto.
1545         io/inquire.c: Ditto.
1546         io/io.h: Ditto.
1547         io/list_read.c: Ditto.
1548         io/lock.c: Ditto.
1549         io/open.c: Ditto.
1550         io/read.c: Ditto.
1551         io/rewind.c: Ditto.
1552         io/transfer.c: Ditto.
1553         io/unit.c: Ditto.
1554         io/unix.c: Ditto.
1555         io/write.c: Ditto.
1556         m4/all.m4: Ditto.
1557         m4/any.m4: Ditto.
1558         m4/cexp.m4: Ditto.
1559         m4/chyp.m4: Ditto.
1560         m4/count.m4: Ditto.
1561         m4/cshift1.m4: Ditto.
1562         m4/ctrig.m4: Ditto.
1563         m4/dotprod.m4: Ditto.
1564         m4/dotprodc.m4: Ditto.
1565         m4/dotprodl.m4: Ditto.
1566         m4/eoshift1.m4: Ditto.
1567         m4/eoshift3.m4: Ditto.
1568         m4/exponent.m4: Ditto.
1569         m4/fraction.m4: Ditto.
1570         m4/head.m4: Ditto.
1571         m4/iforeach.m4: Ditto.
1572         m4/ifunction.m4: Ditto.
1573         m4/in_pack.m4: Ditto.
1574         m4/in_unpack.m4: Ditto.
1575         m4/iparm.m4: Ditto.
1576         m4/matmul.m4: Ditto.
1577         m4/matmull.m4: Ditto.
1578         m4/maxloc0.m4: Ditto.
1579         m4/maxloc1.m4: Ditto.
1580         m4/maxval.m4: Ditto.
1581         m4/minloc0.m4: Ditto.
1582         m4/minloc1.m4: Ditto.
1583         m4/minval.m4: Ditto.
1584         m4/mtype.m4: Ditto.
1585         m4/nearest.m4: Ditto.
1586         m4/pow.m4: Ditto.
1587         m4/product.m4: Ditto.
1588         m4/reshape.m4: Ditto.
1589         m4/set_exponent.m4: Ditto.
1590         m4/shape.m4: Ditto.
1591         m4/specific.m4: Ditto.
1592         m4/specific2.m4: Ditto.
1593         m4/sum.m4: Ditto.
1594         m4/transpose.m4: Ditto.
1595         m4/types.m4: Ditto.
1596         runtime/environ.c: Ditto.
1597         runtime/error.c: Ditto.
1598         runtime/in_pack_generic.c: Ditto.
1599         runtime/in_unpack_generic.c: Ditto.
1600         runtime/main.c: Ditto.
1601         runtime/memory.c: Ditto.
1602         runtime/normalize.c: Ditto.
1603         runtime/pause.c: Ditto.
1604         runtime/select.c: Ditto.
1605         runtime/stop.c: Ditto.
1606         runtime/string.c: Ditto.
1607         generated/_abs_c4.f90: Regenerated.
1608         generated/_abs_c8.f90: Regenerated.
1609         generated/_abs_i4.f90: Regenerated.
1610         generated/_abs_i8.f90: Regenerated.
1611         generated/_abs_r4.f90: Regenerated.
1612         generated/_abs_r8.f90: Regenerated.
1613         generated/_acos_r4.f90: Regenerated.
1614         generated/_acos_r8.f90: Regenerated.
1615         generated/_aint_r4.f90: Regenerated.
1616         generated/_aint_r8.f90: Regenerated.
1617         generated/_anint_r4.f90: Regenerated.
1618         generated/_anint_r8.f90: Regenerated.
1619         generated/_asin_r4.f90: Regenerated.
1620         generated/_asin_r8.f90: Regenerated.
1621         generated/_atan2_r4.f90: Regenerated.
1622         generated/_atan2_r8.f90: Regenerated.
1623         generated/_atan_r4.f90: Regenerated.
1624         generated/_atan_r8.f90: Regenerated.
1625         generated/_conjg_c4.f90: Regenerated.
1626         generated/_conjg_c8.f90: Regenerated.
1627         generated/_cos_c4.f90: Regenerated.
1628         generated/_cos_c8.f90: Regenerated.
1629         generated/_cos_r4.f90: Regenerated.
1630         generated/_cos_r8.f90: Regenerated.
1631         generated/_cosh_r4.f90: Regenerated.
1632         generated/_cosh_r8.f90: Regenerated.
1633         generated/_dim_i4.f90: Regenerated.
1634         generated/_dim_i8.f90: Regenerated.
1635         generated/_dim_r4.f90: Regenerated.
1636         generated/_dim_r8.f90: Regenerated.
1637         generated/_exp_c4.f90: Regenerated.
1638         generated/_exp_c8.f90: Regenerated.
1639         generated/_exp_r4.f90: Regenerated.
1640         generated/_exp_r8.f90: Regenerated.
1641         generated/_log10_r4.f90: Regenerated.
1642         generated/_log10_r8.f90: Regenerated.
1643         generated/_log_c4.f90: Regenerated.
1644         generated/_log_c8.f90: Regenerated.
1645         generated/_log_r4.f90: Regenerated.
1646         generated/_log_r8.f90: Regenerated.
1647         generated/_mod_i4.f90: Regenerated.
1648         generated/_mod_i8.f90: Regenerated.
1649         generated/_mod_r4.f90: Regenerated.
1650         generated/_mod_r8.f90: Regenerated.
1651         generated/_sign_i4.f90: Regenerated.
1652         generated/_sign_i8.f90: Regenerated.
1653         generated/_sign_r4.f90: Regenerated.
1654         generated/_sign_r8.f90: Regenerated.
1655         generated/_sin_c4.f90: Regenerated.
1656         generated/_sin_c8.f90: Regenerated.
1657         generated/_sin_r4.f90: Regenerated.
1658         generated/_sin_r8.f90: Regenerated.
1659         generated/_sinh_r4.f90: Regenerated.
1660         generated/_sinh_r8.f90: Regenerated.
1661         generated/_sqrt_c4.f90: Regenerated.
1662         generated/_sqrt_c8.f90: Regenerated.
1663         generated/_sqrt_r4.f90: Regenerated.
1664         generated/_sqrt_r8.f90: Regenerated.
1665         generated/_tan_r4.f90: Regenerated.
1666         generated/_tan_r8.f90: Regenerated.
1667         generated/_tanh_r4.f90: Regenerated.
1668         generated/_tanh_r8.f90: Regenerated.
1669         generated/all_l4.c: Regenerated.
1670         generated/all_l8.c: Regenerated.
1671         generated/any_l4.c: Regenerated.
1672         generated/any_l8.c: Regenerated.
1673         generated/count_4_l4.c: Regenerated.
1674         generated/count_4_l8.c: Regenerated.
1675         generated/count_8_l4.c: Regenerated.
1676         generated/count_8_l8.c: Regenerated.
1677         generated/cshift1_4.c: Regenerated.
1678         generated/cshift1_8.c: Regenerated.
1679         generated/dotprod_c4.c: Regenerated.
1680         generated/dotprod_c8.c: Regenerated.
1681         generated/dotprod_i4.c: Regenerated.
1682         generated/dotprod_i8.c: Regenerated.
1683         generated/dotprod_l4.c: Regenerated.
1684         generated/dotprod_l8.c: Regenerated.
1685         generated/dotprod_r4.c: Regenerated.
1686         generated/dotprod_r8.c: Regenerated.
1687         generated/eoshift1_4.c: Regenerated.
1688         generated/eoshift1_8.c: Regenerated.
1689         generated/eoshift3_4.c: Regenerated.
1690         generated/eoshift3_8.c: Regenerated.
1691         generated/exp_c4.c: Regenerated.
1692         generated/exp_c8.c: Regenerated.
1693         generated/exponent_r4.c: Regenerated.
1694         generated/exponent_r8.c: Regenerated.
1695         generated/fraction_r4.c: Regenerated.
1696         generated/fraction_r8.c: Regenerated.
1697         generated/hyp_c4.c: Regenerated.
1698         generated/hyp_c8.c: Regenerated.
1699         generated/in_pack_i4.c: Regenerated.
1700         generated/in_pack_i8.c: Regenerated.
1701         generated/in_unpack_i4.c: Regenerated.
1702         generated/in_unpack_i8.c: Regenerated.
1703         generated/matmul_c4.c: Regenerated.
1704         generated/matmul_c8.c: Regenerated.
1705         generated/matmul_i4.c: Regenerated.
1706         generated/matmul_i8.c: Regenerated.
1707         generated/matmul_l4.c: Regenerated.
1708         generated/matmul_l8.c: Regenerated.
1709         generated/matmul_r4.c: Regenerated.
1710         generated/matmul_r8.c: Regenerated.
1711         generated/maxloc0_4_i4.c: Regenerated.
1712         generated/maxloc0_4_i8.c: Regenerated.
1713         generated/maxloc0_4_r4.c: Regenerated.
1714         generated/maxloc0_4_r8.c: Regenerated.
1715         generated/maxloc0_8_i4.c: Regenerated.
1716         generated/maxloc0_8_i8.c: Regenerated.
1717         generated/maxloc0_8_r4.c: Regenerated.
1718         generated/maxloc0_8_r8.c: Regenerated.
1719         generated/maxloc1_4_i4.c: Regenerated.
1720         generated/maxloc1_4_i8.c: Regenerated.
1721         generated/maxloc1_4_r4.c: Regenerated.
1722         generated/maxloc1_4_r8.c: Regenerated.
1723         generated/maxloc1_8_i4.c: Regenerated.
1724         generated/maxloc1_8_i8.c: Regenerated.
1725         generated/maxloc1_8_r4.c: Regenerated.
1726         generated/maxloc1_8_r8.c: Regenerated.
1727         generated/maxval_i4.c: Regenerated.
1728         generated/maxval_i8.c: Regenerated.
1729         generated/maxval_r4.c: Regenerated.
1730         generated/maxval_r8.c: Regenerated.
1731         generated/minloc0_4_i4.c: Regenerated.
1732         generated/minloc0_4_i8.c: Regenerated.
1733         generated/minloc0_4_r4.c: Regenerated.
1734         generated/minloc0_4_r8.c: Regenerated.
1735         generated/minloc0_8_i4.c: Regenerated.
1736         generated/minloc0_8_i8.c: Regenerated.
1737         generated/minloc0_8_r4.c: Regenerated.
1738         generated/minloc0_8_r8.c: Regenerated.
1739         generated/minloc1_4_i4.c: Regenerated.
1740         generated/minloc1_4_i8.c: Regenerated.
1741         generated/minloc1_4_r4.c: Regenerated.
1742         generated/minloc1_4_r8.c: Regenerated.
1743         generated/minloc1_8_i4.c: Regenerated.
1744         generated/minloc1_8_i8.c: Regenerated.
1745         generated/minloc1_8_r4.c: Regenerated.
1746         generated/minloc1_8_r8.c: Regenerated.
1747         generated/minval_i4.c: Regenerated.
1748         generated/minval_i8.c: Regenerated.
1749         generated/minval_r4.c: Regenerated.
1750         generated/minval_r8.c: Regenerated.
1751         generated/nearest_r4.c: Regenerated.
1752         generated/nearest_r8.c: Regenerated.
1753         generated/pow_c4_i4.c: Regenerated.
1754         generated/pow_c4_i8.c: Regenerated.
1755         generated/pow_c8_i4.c: Regenerated.
1756         generated/pow_c8_i8.c: Regenerated.
1757         generated/pow_i4_i4.c: Regenerated.
1758         generated/pow_i4_i8.c: Regenerated.
1759         generated/pow_i8_i4.c: Regenerated.
1760         generated/pow_i8_i8.c: Regenerated.
1761         generated/pow_r4_i4.c: Regenerated.
1762         generated/pow_r4_i8.c: Regenerated.
1763         generated/pow_r8_i4.c: Regenerated.
1764         generated/pow_r8_i8.c: Regenerated.
1765         generated/product_c4.c: Regenerated.
1766         generated/product_c8.c: Regenerated.
1767         generated/product_i4.c: Regenerated.
1768         generated/product_i8.c: Regenerated.
1769         generated/product_r4.c: Regenerated.
1770         generated/product_r8.c: Regenerated.
1771         generated/reshape_i4.c: Regenerated.
1772         generated/reshape_i8.c: Regenerated.
1773         generated/set_exponent_r4.c: Regenerated.
1774         generated/set_exponent_r8.c: Regenerated.
1775         generated/shape_i4.c: Regenerated.
1776         generated/shape_i8.c: Regenerated.
1777         generated/sum_c4.c: Regenerated.
1778         generated/sum_c8.c: Regenerated.
1779         generated/sum_i4.c: Regenerated.
1780         generated/sum_i8.c: Regenerated.
1781         generated/sum_r4.c: Regenerated.
1782         generated/sum_r8.c: Regenerated.
1783         generated/transpose_i4.c: Regenerated.
1784         generated/transpose_i8.c: Regenerated.
1785         generated/trig_c4.c: Regenerated.
1786         generated/trig_c8.c: Regenerated.
1788 2005-01-07  Bud Davis  <bdavis9659@comcast.net>
1790         PR fortran/18398
1791         * transfer.c (next_record_r): always skip the
1792         eol search if it was found during sf_read.
1794 2004-12-27  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1796         * libgfortran/libgfortran.h (GFC_UINTEGER_1, GFC_UINTEGER_2):
1797         Define.
1798         * intrinsics/ishftc.c: Update copyright years.
1799         (ishftc8): Change 'shift' and 'size' to GFC_INTEGER_4.
1800         * intrinsics/mvbits.c: Correct non-ASCII character in my name.
1801         Add implementations for GFC_INTEGER_1 and GFC_INTEGER_2.
1803 2004-12-23  Bud Davis  <bdavis9659@comcast.net>
1805         PR fortran/19071
1806         * io/tranfer.c (formatted_transfer): moved check for
1807         format reversion inside the processing loop.
1809 2004-12-19  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
1811         PR libfortran/19074
1812         * libgfortran.h (itoa): Rename to gfc_itoa.
1813         * io/write.c (itoa): Same.
1814         * runtime/environ.c (itoa): Same.
1815         * runtime/error.c (itoa): Same.
1817 2004-12-15  Bud Davis  <bdavis9659@comcast.net>
1818             Steven G. Kargl  <kargls@comcast.net>
1820         PR fortran/17597
1821         * io/list_read.c (read_real): do not push back a comma when
1822         it delimits a real value without a decimal point
1824 2004-12-14  Steve Ellcey  <sje@cup.hp.com>
1826         * libgfortran/io/transfer.c (us_read): Use memcpy/memset
1827         instead of assignment to fill unaligned buffer.
1828         (us_write): Ditto.
1829         (next_record_w): Ditto.
1831 2004-12-14  Steven G. Kargl  <kargls@comcast.net>
1833         PR libfortran/18966
1834         * gfortran.h: typedef GFC_INTEGER_1 and GFC_INTEGER_2
1835         * intrinsics/cshift0.c (cshift0_1,cshift0_2): New functions.
1836         * intrinsics/eoshift0.c (eoshift0_1,eoshift0_2): New functions.
1837         * intrinsics/eoshift2.c (eoshift2_1,eoshift2_2): New functions.
1839 2004-12-13  David Edelsohn  <edelsohn@gnu.org>
1841         * io/transfer.c (read_sf): Change bitwise "and" to logical "and".
1843 2004-12-12  Richard Henderson  <rth@redhat.com>
1845         * intrinsics/cshift0.c, intrinsics/eoshift0.c, intrinsics/eoshift2.c,
1846         intrinsics/pack_generic.c, intrinsics/reshape_generic.c,
1847         intrinsics/spread_generic.c, intrinsics/transpose_generic.c,
1848         intrinsics/unpack_generic.c, m4/cshift1.m4, m4/dotprod.m4,
1849         m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4, m4/eoshift3.m4,
1850         m4/iforeach.m4, m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4,
1851         m4/reshape.m4, m4/shape.m4, m4/transpose.m4: Use standard prefix
1852         instead of "__".
1853         * generated/*: Rebuild.
1855 2004-12-12  Richard Henderson  <rth@redhat.com>
1857         * acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY): New.
1858         (LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT): New.
1859         (LIBGFOR_CHECK_ATTRIBUTE_ALIAS): New.
1860         * configure.ac: Use them.
1861         * configure, config.h.in, aclocal.m4: Rebuild.
1862         * libgfortran.h (prefix): Remove.
1863         (PREFIX, IPREFIX): New.
1864         (sym_rename, sym_rename1, sym_rename2): New.
1865         (internal_proto, export_proto, export_proto_np): New.
1866         (iexport_proto, iexport): New.
1867         (iexport_data_proto, iexport_data): New.
1868         * intrinsics/abort.c, intrinsics/args.c, intrinsics/associated.c,
1869         intrinsics/cpu_time.c, intrinsics/cshift0.c,
1870         intrinsics/date_and_time.c, intrinsics/env.c, intrinsics/eoshift0.c,
1871         intrinsics/eoshift2.c, intrinsics/etime.c, intrinsics/exit.c,
1872         intrinsics/flush.c, intrinsics/fnum.c, intrinsics/getXid.c,
1873         intrinsics/getcwd.c, intrinsics/ishftc.c, intrinsics/mvbits.c,
1874         intrinsics/pack_generic.c, intrinsics/rand.c, intrinsics/random.c,
1875         intrinsics/reshape_generic.c, intrinsics/size.c,
1876         intrinsics/spread_generic.c, intrinsics/stat.c,
1877         intrinsics/string_intrinsics.c, intrinsics/system.c,
1878         intrinsics/system_clock.c, intrinsics/transpose_generic.c,
1879         intrinsics/umask.c, intrinsics/unlink.c, intrinsics/unpack_generic.c,
1880         io/backspace.c, io/close.c, io/endfile.c, io/inquire.c, io/io.h,
1881         io/open.c, io/rewind.c, io/transfer.c, libgfortran.h, m4/cshift1.m4,
1882         m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4,
1883         m4/eoshift3.m4, m4/exponent.m4, m4/fraction.m4, m4/iforeach.m4,
1884         m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/nearest.m4,
1885         m4/pow.m4, m4/reshape.m4, m4/set_exponent.m4, m4/shape.m4,
1886         m4/transpose.m4, runtime/environ.c, runtime/error.c,
1887         runtime/in_pack_generic.c, runtime/in_unpack_generic.c,
1888         runtime/main.c, runtime/memory.c, runtime/pause.c, runtime/select.c,
1889         runtime/stop.c: Use them to mark symbols internal or external.
1890         * generated/*: Rebuild.
1892 2004-12-09  David Edelsohn  <edelsohn@gnu.org>
1894         PR bootstrap/18895
1895         Revert 2004-12-07 change.
1896         * Makefile.am (AM_MAKEFLAGS): Delete.
1897         * Makefile.in: Regenerate.
1899 2004-12-07  Steve Ellcey  <sje@cup.hp.com>
1901         * libgfortran/Makefile.am (AM_MAKEFLAGS): New.
1902         * libgfortran/Makefile.in: Regenerate
1904 2004-12-07  Steve Ellcey  <sje@cup.hp.com>
1906         * io/io.h (open_external): Change prototype.
1907         * io/unix.c (regular_file): Change prototype and set flags->action if
1908         needed.
1909         (open_external): Ditto.
1910         * io/open.c (new_unit): Let open_external set flags->action.
1912 2004-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
1914         * configure.ac: Check for ieeefp.h.  Check for fabsf in libm.
1915         * configure: Regenerate.
1916         * config.h.in: Likewise.
1917         * c99_protos.h: New file.
1918         * libgfortran.h: Include c99_protos.h and conditionally ieeefp.h.
1919         * intrinsics/c99_functions.c (fabsf): New function.
1921 2004-12-06  Richard Henderson  <rth@redhat.com>
1923         * intrinsics/cshift0.c, intrinsics/eoshift0.c, intrinsics/eoshift2.c,
1924         intrinsics/pack_generic.c, intrinsics/string_intrinsics.c,
1925         intrinsics/transpose_generic.c, m4/ifunction.m4, m4/matmul.m4,
1926         m4/matmull.m4, m4/transpose.m4: Use internal_malloc_size instead
1927         of internal_malloc.
1928         * generated/*: Rebuild.
1930 2004-12-06  Richard Henderson  <rth@redhat.com>
1932         * intrinsics/c99_functions.c, intrinsics/eoshift0.c,
1933         intrinsics/eoshift2.c, intrinsics/exit.c, intrinsics/flush.c,
1934         intrinsics/ishftc.c, intrinsics/mvbits.c, intrinsics/pack_generic.c,
1935         intrinsics/random.c, intrinsics/reshape_generic.c, intrinsics/size.c,
1936         intrinsics/spread_generic.c, intrinsics/stat.c,
1937         intrinsics/string_intrinsics.c, intrinsics/system_clock.c,
1938         intrinsics/transpose_generic.c, intrinsics/unlink.c,
1939         intrinsics/unpack_generic.c, io/backspace.c, io/format.c,
1940         io/list_read.c, io/lock.c, io/open.c, io/transfer.c, io/unix.c,
1941         io/write.c, runtime/environ.c, runtime/error.c,
1942         runtime/in_pack_generic.c, runtime/in_unpack_generic.c, runtime/main.c,
1943         runtime/memory.c, runtime/pause.c, runtime/stop.c,
1944         runtime/string.c: Whitespace fixes.
1946 2004-12-06  Richard Henderson  <rth@redhat.com>
1948         * Makefile.am: Generate all m4 output under $(srcdir).
1949         * Makefile.in: Regenerate.
1951 2004-12-02  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
1953         PR fortran/18710
1954         * io/transfer.c (unformatted_read, unformatted_write): width of
1955         a COMPLEX is twice its kind.
1957 2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
1959         * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
1960         * configure, aclocal.m4, Makefile.in: Regenerate.
1962 2004-12-02  Bud Davis  <bdavis9659@comcast.net>
1964         PR libfortran/18284
1965         * io/unix.c (fd_alloc_w_at): Update file_length when extending.
1966         * io/backspace.c (formatted_backspace): Reset endfile after backspace.
1968 2004-12-02  Bud Davis  <bdavis9659@comcast.net>
1970         * io/inquire.c (inquire_via_unit): do not allow a direct access
1971         file to be opened for sequential I/O.
1973 2004-12-02  Steven G. Kargl  <kargls@comcast.net>
1974         Paul Brook  <paul@codesourcery.com>
1976         * intrinsics/flush.c: New file.
1977         * intrinsics/fnum.c: ditto
1978         * intrinsics/stat.c: ditto
1979         * io/io.h (unit_to_fd): Add prototype.
1980         * io/unix.c (unit_to_fd): New function.
1981         * configure.ac: Add test for members of struct stat.  Check for
1982         sys/types.h and sys/stat.h
1983         * Makefile.am: Add intrinsics/{flush.c,fnum.c,stat.c}
1984         * configure.in: Regenerate.
1985         * config.h.in: Regenerate.
1986         * Makefile.in: Regenerate.
1988 2004-12-01  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
1990         * Makefile.am (AM_CPPFLAGS): Use -iquote instead of -I.
1992 2004-11-28  Bud Davis  <bdavis9659@comcast.net>
1994         * io/unix.c (mmap_alloc_w_a): check for a write to a location
1995         less than the mapped area.
1997 2004-11-27  Bud Davis  <bdavis9659@comcast.net>
1999         PR fortran/18364
2000         *  io/endfile.c (st_endfile): flush the stream before truncating.
2002 2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
2004         * configure: Regenerate for libtool change.
2006 2004-11-22  Steven Bosscher  <stevenb@suse.de>
2008         PR libfortran/15960
2009         * configure.ac: Check for finite in libm.
2010         * libgfortran.h: Define isfinite macro if not defined.
2011         * intrinsics/c99_functions.c: Use defined(fpclassify) instead of
2012         HAVE_FPCLASSIFY.
2013         * io/write.c (write_float): Use isfinite instead of finite.
2014         * configure, config.h.in: Rebuilt.
2016 2004-11-20  Roger Sayle  <roger@eyesopen.com>
2018         * io/write.c (write_float, list_formatted_write): Fix indentation.
2020 2004-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
2022         PR target/16135
2023         * acinclude.m4 (LIBGFOR_TARGET_ILP32): New check.
2024         * configure.ac: Include LIBGFOR_TARGET_ILP32.
2025         * configure: Regenerate.
2026         * config.h.in: Likewise.
2027         * libgfortran.h: Provide default definitions for C99 types
2028         on ILP32 targets that don't have them.
2030         PR target/17999
2031         * configure.ac: Check for snprintf.
2032         * configure: Regenerate.
2033         * config.h.in: Likewise.
2034         * intrinsics/date_and_time.c (date_and_time): Do not
2035         use snprinf if it is not available.
2036         * io/write.c (output_float): Likewise.
2038 2004-11-20  Steven G. Kargl  <kargls@comcast.net>
2040         * Makefile.am: Add intrinsics/{umask.c,unlink.c,exit.c}
2041         * Makefile.in: Regenerated
2042         * intrinsics/umask.c: New file
2043         * intrinsics/unlink.c: ditto
2044         * intrinsics/exit.c: ditto
2046 2004-11-18  Victor Leikehman  <lei@il.ibm.com>
2048         * m4/matmul.m4: Loops reordered to improve cache behavior.
2049         * generated/matmul_??.c: Regenerated.
2051 2004-11-10  Paul Brook  <paul@codesourcery.com>
2053         PR fortran/18218
2054         * configure.ac: Check for strtof.
2055         * configure: Regenerate.
2056         * config.h.in: Regenerate.
2057         * io/read.c (convert_real): Use strtof if available.
2058         (convert_precision_real): Remove.
2059         (read_f): Avoid poor exponentiation algorithm.
2061 2004-11-05  Andreas Schwab  <schwab@suse.de>
2063         * configure.ac: Use AC_PROG_FC, FC and FCFLAGS instead of
2064         AC_PROG_F77, F77 and FFLAGS.
2065         * Makefile.am (selected_int_kind.inc, selected_real_kind.inc): Use
2066         FCCOMPILE instead of F77COMPILE.
2067         * configure, Makefile.in: Regenerate.
2069 2004-11-05  Kelley Cook  <kcook@gcc.gnu.org>
2071         * acinclude.m4: Properly quote AC_CACHE_CHECK.
2072         * Makefile.am: Add in ACLOCAL_AMFLAGS.
2073         * aclocal.m4, configure, Makefile.in: Regenerate.
2075 2004-10-30  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2077         * config.h.in: Regenerate.
2078         * configure: Regenerate.
2079         * configure.ac (AC_CHECK_FUNCS): Add mkstemp.
2080         * io/unix.c (S_IRGRP): Define if undefined.
2081         (S_IWGRP): Same.
2082         (S_IROTH): Same.
2083         (S_IWOTH): Same.
2084         (tempfile): Use mktemp if mkstemp missing, fix typos.
2086 2004-10-30  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2088         *  intrinsics/system.c ("libgfortran.h"): Move after system headers.
2090 2004-10-30  Canqun Yang  <canqun@nudt.edu.cn>
2092         * intrinsics/rand.c (irand): Handle NULL argument.
2094 2004-10-07  Paul Brook  <paul@codesourcery.com>
2096         * io/transfer.c (finalize_transfer): Free internal streams.
2097         * io/unix.c (mem_close): Free stream object.
2099 2004-10-07  Paul Brook  <paul@codesourcery.com>
2101         * intrinsics/string_intrinsics.c (string_verify): Fix off by one
2102         error.
2104 2004-10-06  Paul Brook  <paul@codesourcery.com>
2106         PR libfortran/17709
2107         * io/transfer.c (data_transfer_init): Reset sf_seen_eor.
2109 2004-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
2111         * intrinsics/mvbits.c: Commit the file.
2113 2004-10-04  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2115         PR fortran/17283
2116         * intrinsics/pack_generic.c (__pack): Allocate memory for return array
2117         if not done by caller.
2118         (__pack_s): New function.
2119         * runtime/memory.c (internal_malloc, internal_malloc64): Allow
2120         allocating zero memory.
2122         PR fortran/17631
2123         * Makefile.am (gfor_helper_src): Add intrinsics/mvbits.h.
2124         * Makefile.in: Regenerate.
2125         * intrinsics/mvbits.h: New file.
2127         PR fortran/17776
2128         * intrinsics/system.c: New file.
2129         * Makefile.am: Add dependency for the new file.
2130         * Makefile.in: Regenerate.
2132 2004-10-04  Paul Brook  <paul@codesourcery.com>
2133         Bud Davis  <bdavis9659@comcast.net>
2135         PR fortran/17706
2136         PR fortran/16434
2137         * io/format.c (parse_format_list): Set repeat count for S, SP, SS,
2138         BN and BZ formats.
2139         * io/write.c (output_float): Don't output minus zero.
2141 2004-10-03  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2143         * intrinsics/abort.c ("libgfortran.h"): Move.
2144         * intrinsics/date_and_time.c ("libgfortran.h"): Same.
2145         * intrinsics/write.c ("libgfortran.h"): Same.
2147 2004-09-26  Tobias Schlueter  <tobis.schlueter@physik.uni-muenchen.de>
2149         PR libfortran/16137
2150         * config.h.in (HAVE_POWF): Undefine.
2151         * configure.ac: Check for 'powf' in library.
2152         * configure: Regenerate.
2153         * intrinsics/c99_functions.c (powf): New function.
2155 2004-09-24  Tobias Schlueter  <tobis.schlueter@physik.uni-muenchen.de>
2157         * intrinsics/etime.c (etime_): New function.
2159 2004-09-21  Steven G. Kargl  <kargls@comcast.net>
2161         * libgfortran.h: define gfc_alloca()
2162         * intrinsics/env.c (getenv, get_environment_variable_i4): Use it.
2164 2004-09-21  Bud Davis  <bdavis9659@comcast.net>
2166         PR fortran/17286
2167         * io/list_read.c (namelist_read): ignore spaces after
2168         the '=' for namelist reads.
2170 2004-09-15  Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2172         * config.h.in: Regenerate.
2173         * configure: Regenerate.
2174         * configure.ac (AC_CHECK_HEADERS): Check for sys/mman.h.
2175         * unix.c: Include stdio.h.
2176         (HAVE_SYS_MMAN_H): Check.
2177         (PROT_READ, PROT_WRITE): Provide default definitions.
2179 2004-09-15  Steven G. Kargl  <kargls@comcast.net>
2181         * intrincics/getcwd.c: New file.
2182         * Makefile.am: Add getcwd.c.
2183         * Makefile.in: Regenerated.
2185 2004-09-15  Steven G. Kargl  <kargls@comcast.net>
2186         Paul Brook  <paul@codesourcery.com>
2188         * intrinsics/env.c (getenv, get_environmental_variable): Remove
2189         trailing white space.  Use alloca.  Honour trim_name.
2191 2004-09-13  Bud Davis  <bdavis9659@comcast.net>
2193         PR fortran/17090
2195         * io/list_read.c (list_formatted_read): Handle trailing spaces
2196         at end of line.
2198 2004-09-06  Steven G. Kargl  <kargls@comcast.net>
2200         * io/write.c (output_float): Typo in comment.  Remove debugging
2201         printf.  Fix format for FP of form 1e10.
2203 2004-09-03  Richard Henderson  <rth@redhat.com>
2205         * intrinsics/cshift0.c (DEF_COPY_LOOP, copy_loop_int, copy_loop_long,
2206         copy_loop_double, copy_loop_ldouble): New.
2207         (__cshift0): Make shift type ssize_t.  Use % operator instead of
2208         div.  Use specialized versions of copy loop depending on the shape.
2210 2004-09-02  Paul Brook  <paul@codesourcery.com>
2212         * io/format.c (parse_format_list): Set repeat count for P descriptors.
2213         * write.c (output_float): Fix condition.  Correctly handle nonzero
2214         scale factor.
2216 2004-09-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
2218         * mk-sik-inc.sh: Use a temporary string instead of 'echo -n'.
2219         * mk-srk-inc.sh: Likewise.
2221 2004-09-01  Paul Brook  <paul@codesourcery.com>
2223         * runtime/error.c (generate_error): Set both iostat and
2224         library_return.
2226 2004-08-31  Paul Brook  <paul@codesourcery.com>
2228         PR libfortran/16805
2229         * io/list_read.c (next_char): Don't signal EOF for internal files.
2230         * io/unix.c (mem_alloc_r_at): Don't return NULL for incomplete reads.
2232 2004-08-31  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2234         * io/unit.c: Separate copyright years by ','.
2235         (compare, insert_unit, delete_unit, is_internal_unit, close_units):
2236         Remove blank line in beginning of function.
2237         (get_unit): Simplify code.
2239 2004-08-31  Paul Brook  <paul@codesourcery.com>
2241         * io/unit.c (get_unit): Remove superfluous if.
2243 2004-08-31  Paul Brook  <paul@codesourcery.com>
2245         * io/transfer.c (read_sf): Rename uinty to readlen.  Detect EOF.
2246         (finalize_transfer): Move setjmp after namlist IO.
2247         * io/unix.c (mem_alloc_r_at): Calculate remaining length correctly.
2249 2004-08-31  Paul Brook  <paul@codesourcery.com>
2251         * list_read.c (eat_separator): Set at_eo when a '/' is seen.
2253 2004-08-31  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2255         * libgfortran.h: Replace 'gfc_strlen_type' by
2256         'gfc_charlen_type'. Update comment accordingly.
2257         * intrinsics/args.c, intrinsics/env.c, io/io.h, io/transfer.c:
2258         Replace all occurences of 'gfc_strlen_type' by 'gfc_charlen_type'.
2260 2004-08-31  Paul Brook  <paul@codesourcery.com>
2262         * libgfortran.h: Add comments.
2264 2004-08-30  Richard Henderson  <rth@redhat.com>
2266         * Makefile.am (gfor_helper_src): Split selected_kind.f90.
2267         (gfor_built_src): Add selected_int_kind.inc selected_real_kind.inc.
2268         (selected_int_kind.inc selected_real_kind.inc): New rules.
2269         * Makefile.in: Regenerate.
2270         * mk-sik-inc.sh, mk-srk-inc.sh: New files.
2271         * intrinsics/selected_int_kind.f90: Split from selected_kind.f90,
2272         include table of detected kinds.
2273         * intrinsics/selected_real_kind.f90: Similarly.
2275 2004-08-29  Steven G. Kargl  <kargls@comcast.net>
2276         Paul Brook  <paul@codesourcery.com>
2278         * intrinsics/bessel.c: New file.
2279         * intrinsics/erf.c: New file.
2280         * Makefie.am: Add intrinsics/bessel.c and intrinsics/erf.c.
2281         * configure.ac: Test for C99 Bessel and Error functions.
2282         * Makefile.in: Regenerate.
2283         * config.h.in: Regenerate.
2284         * configure: Regenerate.
2286 2004-08-29  Steven G. Kargl  <kargls@comcast.net>
2287         Paul Brook  <paul@codesourcery.com>
2289         * Makefile.am: Add intrinsics/getXid.c.
2290         * configure.ac: Add tests for get{g,p,u}id.
2291         * config.h.in: Regenerate.
2292         * Makefile.in: Regenerate.
2293         * configure: Regenerate.
2295 2004-08-28  Paul Brook  <paul@codesourcery.com>
2297         PR libfortran/17195
2298         * libgfortran.h (rtoa): Remove prototype.
2299         * runtime/error.c (rtoa): Remove.
2300         * io/write.c (calculate_G_format): Don't add blanks if E format is
2301         used.  Add correct number of blanks when exponent width is specified.
2302         (output_float): Rewrite.
2304 2004-08-27  Paul Brook  <paul@codesourcery.com>
2306         * io/rewind.c (st_rewind): Reset unit to read mode.
2308 2004-08-27  Bud Davis  <bdavis9659@comcast.net>
2310         PR fortran/16597
2311         * io/io.h: created typedef for unit_mode.
2312         * io/io.h (gfc_unit): added mode to unit structure.
2313         * io/transfer.c (data_transfer_init): flush if a write then
2314         read is done on a unit (direct access files).
2315         * io/rewind.c (st_rewind): Used unit mode instead of global.
2317 2004-08-24  Bud Davis  <bdavis9659@comcast.net>
2319         PR fortran/17143
2320         * runtime/error.c (itoa): keep from overflowing during
2321         mod operation by using unsigned variable.
2323 2004-08-24  Bud Davis  <bdavis9659@comcast.net>
2325         PR fortran/17164
2326         * runtime/string_intrinsics.c (string_index):check for
2327         substring longer than string.
2329 2004-08-24  David Edelsohn  <edelsohn@gnu.org>
2331         * Makefile.am (libgfortran_la_LDFLAGS): Add -lm.
2332         * Makefile.in: Rebuilt.
2334 2004-08-23  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2336         * io/io.h, io/list_read.c, io/open.c, io/transfer.c, io/write.c:
2337         Fix formatting issues, update copyright years.
2339 2004-08-21  Bud Davis  <bdavis9659@comcast.net>
2341         PR 16908
2342         * io/transfer.c (next_record_w): Do not blank pad.
2343         * io/transfer.c (next_record): Take into account partial records.
2345 2004-08-18  Victor Leikehman  <lei@il.ibm.com>
2347         PR fortran/13278
2348         * io/transfer.c (st_set_nml_var)
2349         * io/write.c (namelist_write): Allow var_name and var_name_len to be
2350         null. For strings, use string_length field instead of len.
2351         * io/io.h (struct namelist_type): New field string_length.
2352         (st_set_nml_var_char): New argument string_length.
2354 2004-08-13  Bud Davis  <bdavis9659@comcast.net>
2356         PR gfortran/16935
2357         * io/open.c (st_open): use flags instead of the unit structure.
2359 2004-08-10  Victor Leikehman  <lei@il.ibm.com>
2361         * io/list_read.c (namelist_read): Convert variable names
2362         to lower case, so that mixed-case names are recognized.
2363         Don't read beyond terminating slash.
2365 2004-08-09  Richard Henderson  <rth@redhat.com>
2366             Roger Sayle  <roger@eyesopen.com>
2368         * intrinsics/c99_functions.c (nextafterf): New implementation that
2369         works correctly with denormalized numbers.
2371 2004-08-09  Victor Leikehman  <lei@il.ibm.com>
2373         * m4/matmul.m4, m4/matmull.m4, intrinsics/eoshift0.c,
2374         intrinsics/eoshift2.c, intrinsics/transpose_generic.c:
2375         Allocate space if return value has NULL in its data field.
2376         * generated/*.c: Regenerate.
2378 2004-08-06  Janne Blomqvist  <jblomqvi@cc.hut.fi>
2380         * intrinsics/env.c: New file.
2381         * Makefile.am: Add env.c to build.
2382         * Makefile.in: Regenerate.
2384 2004-08-05  Victor Leikehman  <lei@il.ibm.com>
2386         PR libgfortran/16704
2387         * io/read.c (read_radix): Understand letters f and F as hex digits.
2389 2004-08-04  Victor Leikehman  <lei@il.ibm.com>
2391         * libgfortran.h (array_t, size0) New declarations.
2392         * m4/ifunction.m4, m4/transpose.m4, intrinsics/cshift0.c: Allocate
2393         space if return value descriptor has NULL in its data field,
2394         and initialize bounds and stride.
2395         * intrinsics/size.c (array_t, size0): Declarations moved to
2396         libgfortran.h.
2397         * generated/*.c: Regenerate.
2399 2004-08-03  Roger Sayle  <roger@eyesopen.com>
2401         PR libgfortran/16137
2402         * configure.ac: Add tests for acosf, asinf, atan2f, atanf, ceilf,
2403         copysignf, cosf, coshf, expf, floorf, frexpf, hypotf, logf, log10f,
2404         scalbnf, sinf, sinhf, sqrtf, tanf and tanhf in libm.
2405         * config.h.in: Regenerate.
2406         * configure: Regenerate.
2408         * instrinsics/c99_functions.c (acosf, asinf, atan2f, atanf, ceilf,
2409         copysignf, cosf, coshf, expf, floorf, frexpf, hypotf, logf, log10f,
2410         nextafterf, scalbnf, sinf, sinhf, sqrtf, tanf, tanhf): New stub
2411         implementations for targets that don't support C99 float functions.
2413 2004-08-01  Roger Sayle  <roger@eyesopen.com>
2415         * io/write.c (write_float): Use the slightly more portable isnan
2416         in preference to isinf.
2418 2004-07-18  Bud Davis  <bdavis9659@comcast.net>
2420         * configure.ac: Add check for LFS support.
2421         * configure: Regenerate
2423 2004-07-11  Paul Brook  <paul@codesourcery.com>
2425         PR fortran/16303
2426         * m4/cexp.m4 (carg): Return -pi to pi.
2427         * generated/exp_c?.c: Regenerate.
2429 2004-07-08  Andreas Krebbel  <krebbel1@de.ibm.com>
2431         PR fortran/16291
2432         * libgfortran/io/write.c: (write_float): Added length check.
2433         Remove pointless memset calls.
2435 2004-07-04  Bud Davis  <bdavis9659@comcast.net>
2436             Paul Brook  <paul@codesourcery.com>
2438         PR fortran/15472
2439         * io/transfer.c(us_write): set recl for seq unform writes to max size.
2440         * io/transfer.c(data_transfer_init): handle un-opened seq unform unit.
2441         * io/unix.c(fd_alloc_w_at): handle requests at start, fd_flush at
2442         right time.
2443         * io/unix.c(is_seekable): set based upon the file/device, not the
2444         method being used to access it (fd or mmap).
2445         * io/unix.c(fd_flush): don't set file_size if !seekable.
2446         * io/unix.c(fd_truncate: ditto.
2448 2004-07-04  Janne Blomqvist  <jblomqvi@cc.hut.fi>
2449         Paul Brook  <paul@codesourcery.com>
2451         PR fortran/15280
2452         PR fortran/15665
2453         * libgfortran.h (gfc_strlen_type): Define.
2454         * intrinsics/args.c (getarg): Rename ...
2455         (getarg_i4): ... to this.
2456         (getarg_i8, get_command_argument_i4, get_command_argument_i8,
2457         get_command_i4, get_command_i8): New functions.
2459 2004-07-04  Matthias Klose  <doko@debian.org>
2461         * libtool-version: New.
2462         * Makefile.am (libgfortran_la_LDFLAGS): Use -version-info for soname.
2463         * Makefile.in: Regenerate.
2464         * configure.ac: Remove libtool_VERSION macro
2465         * configure: Regenerate
2467 2004-06-30  Steve Kargl  <sgk@troutmask.apl.washington.edu>
2468             Steven Bosscher  <stevenb@suse.de>
2470         * intrinsics/rand.c (rand): Wrap the irand() call from the previous
2471         commit in prefix.
2473 2004-06-29  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2474         Paul Brook  <paul@codesourcery.com>
2476         * runtime/normalize.c (normalize_r4_i4, normalize_r8_i8): Fix
2477         comments.
2478         * intrinsics/rand.c (rand): Call irand() in call to normalize_r4_i4.
2480 2004-06-27  Bud Davis  <bdavis9659@comcast.net>
2482         PR gfortran/12839
2483         * io/write.c (write_float): check signbit for Infinity.
2485 2004-06-26  Bud Davis  <bdavis9659@comcast.net>
2487         PR gfortran/16196
2488         * unix.c(regular_file): create file if it does not exist.
2490 2004-06-24  Andrew Pinski  <apinski@apple.com>
2492         * configure.ac: Remove check for libmx.
2493         * configure: Regenerate.
2495 2004-06-22  Janne Blomqvist  <jblomqvi@cc.hut.fi>
2497         PR fortran/15750
2498         * inquire.c (st_inquire): Add comment
2499         * io.h (st_parameter): Add iolength.
2500         (st_iolength, st_iolength_done): Declare.
2501         * transfer.c (iolength_transfer, iolength_transfer_init,
2502         st_iolength, st_iolength_done): New functions.
2504 2004-06-21  Steven G. Kargl  <kargls@comcast.net>
2506         * etime.c (etime_sub): Remove array rank check;
2507         Add check for sufficient space.
2509 2004-06-19  Bud Davis  <bdavis9659@comcast.net>
2511         PR gfortran/16080
2512         * io/list_read.c(set_value): fixed spelling.
2514 2004-06-19  Bud Davis  <bdavis9659@comcast.net>
2516         PR gfortran/16080
2517         * io/list_read.c(set_value): don't copy if the string is null.
2519 2004-06-14  Bud Davis  <bdavis9659@comcast.net>
2521         PR gfortran/15292
2522         * intrinsics/c99_functions.c: Use fpclassify if it exists.
2524 2004-06-13  Paul Brook  <paul@codesourcery.com>
2526         * Makefile.am (gfor_helper_src): Add runtime/normalize.f90.
2527         * configure.ac: Add checks for nextafter and nextafterf.
2528         * Makefile.in, config.h.in, configure: Regenerate.
2529         * libgfortran.h (normalize_r4_i4, normalize_r8_i8): Declare.
2530         * intrinsics/rand.c (rand): Use normalize_r4_i4.
2531         * intrinsics/random.c (random_r4): Use normalize_r4_i4.
2532         (random_r8): Use normalize_r8_i8.
2533         * runtime/normalize.c: New file.
2535 2004-06-13  Steven G. Kargl  <kargls@comcast.net>
2536             Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2538         * random.c: Fix several spelling and formatting mistakes in
2539         comments.
2540         (random_r8): Fix loop to make random numbers range in [0,1(.
2543 2004-06-13  Steven G. Kargl  <kargls@comcast.net>
2545         * random.c (random_r4): Burn a random number.
2546         (random_r8): fix infinite loop.
2548 2004-06-12  Bud Davis  <bdavis9659@comcast.net>
2549             Steve Kargl  <sgk@troutmask.apl.washington.edu>
2551         PR gfortran/15292
2552         * intrinsics/c99_functions.c: New file.
2553         * Makefile.am: Add new file.
2554         * configure.ac: Added test for round/roundf.
2555         * Makefile.in: Regenerate.
2556         * configure: Regenerate.
2557         * configure.h.in: Regenerate.
2559 2004-06-12  Steven G. Kargl  <kargls@comcast.net>
2561         * Makefile.am: Add rand.c and etime.c
2562         * Makefile.in: Regenerated.
2563         * aclocal.in: Regenerated.
2564         * cpu_time.c (second_sub, second): New functions.
2565         * rand.c (irand, rand, srand): New file.
2566         * etime.c (etime_sub, etime): New file.
2568 2004-06-12  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2569             Steven Bosscher  <stevenb@suse.de>
2571         PR fortran/14923
2572         * intrinsics/date_and_time.c: New file.
2573         * Makefile.am (gfor_helper_src): Add intrinsics/date_and_time.c.
2574         * Makefile.in, aclocal.m4: Regenerate.
2575         * libgfortran.h: Prototype date_and_time().
2577 2004-06-12  Bud Davis  <bdavis9659@comcast.net>
2579         PR fortran/15665
2580         * intrinsics/args.c: Implement GETARG and IARGC.
2581         * Makefile.am: Add it.
2582         * Makefile.in: Regenerate.
2584 2004-06-12  Bud Davis  <bdavis9659@comcast.net>
2586         PR gfortran/12839
2587         * io/write.c(write_float): Format inf and nan IAW F2003.
2589 2004-06-09  Bud Davis  <bdavis9659@comcaste.net>
2591         PR gfortran/14897
2592         * io/transfer.c (formatted_transfer): position is unique
2593          for T and TL edit descriptors.
2594         (data_transfer_init): set record length to size of internal
2595          file.
2597 2004-06-09  Bud Davis  <bdavis9659@comcast.net>
2599         PR gfortran/15755
2600         * io/backspace.c(st_backspace): call correct routine for
2601         formatted and un-formatted units.
2603 2004-05-30  Andreas Jaeger  <aj@suse.de>, Steven Bosscher <stevenb@suse.de>
2605         PR gfortran/11800
2606         * Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES.
2607         (lib_LTLIBRARIES): Rename to ...
2608         (toolexeclib_LTLIBRARIES): this for multilib support.
2609         * configure.in: Rename to ...
2610         * configure.ac: this.  Update to modern autoconf style, enable
2611         multilibs, support --enable-version-specific-runtime-libs.
2612         * Makefile.in: Regenerated.
2613         * configure: Regenerated.
2614         * aclocal.m4: Regenerated.
2616 2004-05-30  Steven G. Kargl  <kargls@comcast.net>
2618         * libgfortran.h (random_seed): Update prototype.
2619         * intrinsics/random.c: Disable old implementation and add new one.
2621 2004-05-30  Andreas Jaeger  <aj@suse.de>
2623         * intrinsics/random.c: Include unistd.h for close and read
2624         prototypes, remove unneeded inclusion of assert.h.
2626         * intrinsics/abort.c: Include stdlib.h for abort prototype, remove
2627         unneeded inclusion of assert.h.
2629 2004-05-27  Tobias Schlueter  <tobias.shclueter@physik.uni-muenchen.de>
2631         PR fortran/15234
2632         * intrinsics/associated.c: Remove enum.
2633         (associated): Replace TRUE/FALSE by 1/0.
2635 2004-05-23  Steven G. Kargl  <kargls@comcast.net>
2637         * random.c (random_seed): Use correct variable.
2639 2004-05-22  Steven G. Kargl  <kargls@comcast.net>
2641         * intrinsics/system_clock: New file.
2642         * Makefile.am: Add intrinsics/system_clock.c.
2643         * Makefile.in: Regenerate.
2645 2004-05-21  Roger Sayle  <roger@eyesopen.com>
2647         * io/format.c (parse_format_list): Allow the comma after a string
2648         literal to be optional.
2650 2004-05-18  Paul Brook  <paul@codesourcery.com>
2651         Feng Wang  <fengwang@nudt.edu.cn>
2653         * Makefile.am (i_pow_c): Set it. Add build rule.
2654         (gfor_built_src): Use it.
2655         (m4_files): add m4/pow.m4.
2656         * Makefile.in: Regenerate.
2657         * m4/pow.m4: New file.
2658         * generated/pow_*.c: Regenerate.
2660 2004-05-18  Paul Brook  <paul@codesourcery.com>
2662         * Makefile.am: Remove references to types.m4.
2663         * m4/iparm.m4: Merge with types.m4.
2664         * m4/types.m4: Remove.
2665         * m4/cshift1.m4, m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4,
2666         m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4, m4/ifunction.m4,
2667         m4/in_pack.m4, m4/in_unpack.m4, m4/iparm.m4, m4/matmul.m4,
2668         m4/matmull.m4, m4/maxloc0.m4, m4/maxloc1.m4, m4/maxval.m4,
2669         m4/minloc0.m4, m4/minloc1.m4, m4/minval.m4, m4/reshape.m4,
2670         m4/shape.m4, m4/specific.m4, m4/specific2.m4, m4/transpose.m4):
2671         Update to use new iparm.m4.
2672         * generated/*.c: Regenerate.
2674 2004-05-18  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
2676         PR fortran/15235
2677         * gfortran.h (offset_t): Rename to ...
2678         (gfc_offset): ... this.
2679         * io/backspace.c (formatted_backspace, unformatted_backspace),
2680         io/io.h (stream, gfc_unit, global_t, file_length, file_position),
2681         transfer.c (us_read, us_write, next_record_r, next_record_w),
2682         io/unit.c (init_units), unix.c (unix_stream, fd_alloc,
2683         fd_alloc_r_at, fd_alloc_w_at, fd_seek, mmap_alloc,
2684         mmap_alloc_r_at, mmap_alloc_w_at, mmap_seek, mem_alloc_r_at,
2685         mem_alloc_w_at, mem_seek, file_length, file_position): Replace all
2686         occurences of offset_t by gfc_offset.
2688 2004-05-16  Paul Brook  <paul@codesourcery.com>
2690         * io/format.c (write_real): Don't include padding in format.
2692 2004-05-16  Paul Brook  <paul@codesourcery.com>
2694         * io/format.c (format_lex): Make c an int.
2696 2004-05-16  Janne Blomqvist  <jblomqvi@cc.hut.fi>
2697         Paul Brook  <paul@codesourcery.com>
2699         * io/write.c (write_logical): Don't print extra blank.
2700         (write_integer): Base field width on kind.
2701         (list_formatted_write): Output initial blank.
2703 2004-05-16  Janne Blomqvist  <jblomqvi@cc.hut.fi>
2705         * io/io.h (flush): Add prototype.
2706         * io/transfer.c (finalize_transfer): Flush partial records.
2707         * io/unix.c (flush): New function.
2709 2004-05-15  Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2711         PR fortran/15234
2712         * io/io.h (unit_t): Rename to ...
2713         (gfc_unit) ... this.
2714         (unit_root, current_unit, find_file, find_unit, get_unit): Now
2715         of type gfc_unit.
2716         (delete_file, insert_unit, close_unit): Argument now of type
2717         gfc_unit.
2718         * backspace.c (st_backspace), close.c (st_close), endfile.c
2719         (st_endfile), inquire.c (inquire_via_unit, st_inquire), open.c
2720         (test_endfile, edit_modes, new_unit, already_open, st_open),
2721         rewind.c (st_rewind), transfer.c (current_unit), unit.c
2722         (internal_unit, unit_cache, rotate_left, rotate_right, insert,
2723         insert_unit, delete_root, delete_treap, delete_unit, find_unit,
2724         get_unit, init_units, close_unit), unix.c (find_file0,
2725         find_file, delete_file): Replace all occurences of unit_t by
2726         gfc_unit.
2728 2004-05-15  Bud Davis  <bdavis9659@comcast.net>
2730         PR fortran/15311
2731         * io/write.c (write_a): right justify A edit output.
2733 2004-05-14  Bud Davis  <bdavis9659@comcast.net>
2735         PR fortran/15149
2736         * libgfortan.h,intrinsics/random.c: Made random_seed visible.
2737         * runtime/main.c(init): Call random_seed as part of MAIN init.
2739 2004-05-13  Tobias Schlter  <tobias.schlueter@physik.uni-muenchen.de>
2741         * io/format.c: (parse_format_list): No comma is required after
2742         P descriptor.
2744 2004-05-13  Bud Davis  <bdavis9659@comcast.net>
2746         PR fortran/15204
2747         * io/intrinsic/string_intrinsics.c (adjustr): rework logic.
2749 2004-05-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2750             Steven Bosscher  <stevenb@suse.de>
2752         PR libfortran/15234
2753         * libgfortran.h: Include <inttypes.h> if available.
2755 2004-05-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2757         * io/unix.c (MAP_FAILED): Define if missing.
2758         (mmap_alloc): Cast MAP_FAILED to char *.
2759         (mmap_open): Likewise.
2761 2004-04-26  Bud Davis  <bdavis9659@comcast.net>
2763         * generated/_abs_i8.f90: New file.
2764         * generated/_abs_c4.f90: New file.
2765         * generated/_abs_c8.f90: New file.
2766         * Makefile.am: Add them.
2767         * Makefile.in: Regenerate.
2769 2004-04-26  Bud Davis  <bdavis9659@comcast.net>
2771         PR fortran/14056
2772         * generated/_abs_i4.f90: New file.
2773         * Makefile.am: Add it.
2774         * Makefile.in: Regenerate.
2776 2004-04-25  Bud Davis  <bdavis9659@comcast.net>
2778         PR fortran/14942
2779         * io/list_read.c(list_formatted_read): finish consuming the
2780         spaces and seperators at eoln to get ready for next item.
2782 2004-04-23  Bud Davis  <bdavis9659@comcast.net>
2784         PR fortran/15113
2785         * io/read.c(read_a): Handle field width > destination and no field width.
2787 2004-04-22  Bud Davis  <bdavis9659@comcast.net>
2789         PR fortran/14906
2790         * io/format.c (format_item): gracefully handle a ')'
2791         when it is the first character encountered in the string.
2793 2004-04-11  Bud Davis  <bdavis9659@comcast.net>
2795         PR fortran/14904
2796         * io/transfer.c (next_record): Update last_record when
2797         more than one record is written to a direct access file
2798         with one write statement.
2800 2004-04-11  Bud Davis  <bdavis9659@comcast.net>
2802         PR fortran/14901
2803         * io/transfer.c (next_record_w) : No '\n' if internal.
2804         * io/unix.c (empty_internal_buffer) : Init to spaces, not '\n'.
2806 2004-04-11  Bud Davis  <bdavis9659@comcast.net>
2808         * io.h (ioparm): Interface from FE is 32 bit, irregardless of offset_t.
2809         Will need to change this later to support direct access files > 2gb.
2811 2004-04-03  Bud Davis  <bdavis9659@comcast.net>
2813         PR gfortran/14762
2814         * io/transfer.c (next_record_r) : Skip to next record.
2816 2004-04-03  Bud Davis  <bdavis9659@comcast.net>
2818         PR gfortran/14836
2819         * io/transfer.c (next_record): Update last_record for DIRECT
2821 2004-04-03  Bud Davis  <bdavis9659@comcast.net>
2823         PR gfortran/14837
2824         * io/unix.c (find_file0): Use fd field of struct
2826 2004-04-03  Bud Davis  <bdavis9659@comcast.net>
2828         PR 14831
2829         * io/inquire.c (inquire_via_unit): Changed return string for
2830         BLANK=NULL. Use correct variable for ACTION.
2832 2004-04-01  Bud Davis  <bdavis9659@comcast.net>
2834         PR 14746
2835         * io/read.c (read_f): Allow a decimal without a leading digit.
2836         * io/write.c (output_float): remove a leading '0' to keep from
2837         overflowing the field (F edit descriptor).
2839 2004-04-01  Bud Davis  <bdavis9659@comcast.net>
2841         PR gfortran/14565
2842         * io/open.c (new_unit),
2843         * io/io.h : new_unit is now visible
2844         * io/transfer.c (data_transfer_init): open unit if no OPEN statement.
2845         * io/transfer.c (data_transfer_init): remove compile warnings.
2846         * io/rewind.c (st_rewind): ftruncate if writing.
2848 2004-03-24  Bud Davis  <bdavis9659@comcast.net>
2850         * write.c (write_l): Use extract_int for 'L' edit descriptor.
2852 2004-03-24  Bud Davis  <bdavis9659@comcast.net>
2854         PR 13919
2855         * io/io.h (global_t):
2856         * io/list_read.c (next_char,list_formatted_read,ist_formatted_read):
2857           Move eof_jmp to a global structure.
2858         * io/transfer.c(finalize_transfer) : Set up eof_jump for callers.
2860 2004-03-24  Bud Davis  <bdavis9659@comcast.net>
2862         * m4/cexp.m4 (csqrt): Actually use the passed value.
2863         * generated/exp_c?.c: Regenerate.
2865 2004-03-24  Bud Davis  <bdavis9659@comcast.net>
2867         PR 12921
2868         * io.h, transfer.c, open.c : recl_in changed from ptr to variable.
2869         * open.c (new_unit): Moved test for positioned direct access error.
2870         (init_units): Corrected calculation of max records.
2872 2004-02-06  Feng Wang  <fengwang@nudt.edu.cn>
2874         * Makefile.am: Add m4/dotprodc.m4. And fix spelling.
2875         * Makefile.in: Regenerate.
2876         * m4/dotprodc.m4: New file. Implement complex dot_product.
2877         * m4/dotprod.m4: Delete the complex implementation.
2878         * generated/dotprod_*: Update.
2880 2004-02-07  Bud Davis  <bdavis9659@comcast.net>
2882         * transfer.c (write_constant_string): Do not delete H's in hollerith
2883         formats.
2885 2004-01-05  Andrew Pinski  <apinski@apple.com>
2887         * configure.in: Check for csin in -lmx also.
2888         * configure: Regenerate.
2890 2004-01-01  Paul Brook  <paul@codesourcery.com>
2892         * io/list_read.c (find_nml_node): Make static.
2893         (match_namelist_name): Ditto.
2894         * io/read.c (convert_precision_real): Make static, fix spelling.
2895         * io/transfer.c (extract_real): Remove unused prototype.
2896         (st_set_nml_var): Make static.
2897         * io/write.c (extract_real): Make static.
2899 2003-12-12  Huang Chun <chunhuang73@hotmal.com>
2901         * intrinsics/string_intrinsics.c (string_index): Fix logics thinko.
2903 2003-12-05  Melvin Hadasht  <melvin.hadasht@free.fr>
2905         * io/transfer.c (data_transfer_init): Give a runtime error for list
2906         formatted reads and writes from/to files opened for unformatted IO.
2908 2003-11-30  Paul Brook  <paul@nowt.org>
2910         * runtime/memory.c (push_context): Remove.
2911         (pop_context): Remove.
2912         * libgfortran.h: Remove prototypes.
2914 2003-11-27  Paul Brook  <paul@nowt.org>
2916         * runtime/memory.c (deallocate): Nullify pointer after freeing.
2918 2003-11-27  Paul Brook  <paul@nowt.org>
2920         * intrinsics/string_intrinsics.c: Use new memory allocation interface.
2921         * libgfortran.h: Ditto.
2922         * m4/in_pack.m4: Ditto.
2923         * runtime/in_pack_generic.c: Ditto.
2924         * runtime/memory.c: Ditto.
2926 2003-11-26  Richard Henderson  <rth@redhat.com>
2928         * m4/exponent.m4, m4/fraction.m4: New.
2929         * m4/nearest.m4, m4/set_exponent.m4: New.
2930         * generated/*: Update.
2931         * Makefile.am: Add them.
2932         (AM_CFLAGS): New.  Use -std=gnu99.
2933         * Makefile.in: Regenerate.
2935 2003-11-08  Paul Brook  <paul@nowt.org>
2937         PR fortran/12704
2938         * m4/maxloc0.m4: Use default value of 1. Handle zero sized arrays.
2939         * m4/maxloc1.m4: Ditto.
2940         * m4/minloc0.m4: Ditto.
2941         * m4/minloc1.m4: Ditto.
2942         * m4/ifunction.m4: Set return value for zero sized arrays.
2943         * m4/iforeach.m4: Ditto.
2944         * m4/all.m4, m4/any.m4, m4/count.m4, m4/maxloc1.m4, m4/minloc1.m4,
2945         m4/mxaval.m4, m4/minval.m4, m4/product.m4, m4/sum.m4: Ditto.
2946         * generated/*: Update.
2948 2003-10-30  Toon Moene  <toon@moene.indiv.nluug.nl>
2950         PR fortran/12702
2951         * io/list_read.c (eat_spaces): Treat tab as space.
2953 2003-10-30  Lars Segerlund  <Lars.Segerlund@comsys.se>
2955         * intrinsics/random.c: Add reference to paper containing algorithm.
2956         (random_seed): Extra error checking and proper handling of arrays.
2957         (arandom_r4, arandom_r8): Implement.
2959 2003-10-29  Toon Moene  <toon@moene.indiv.nluug.nl>
2961         PR fortran/12703
2962         * runtime/memory.c (allocate_size): Allow allocation
2963         of zero-sized objects.
2965 2003-10-29  Toon Moene  <toon@moene.indiv.nluug.nl>
2967         PR fortran/12701
2968         * open.c (new_unit): Open without a file name opens
2969         a file with name fort.<unit>.
2971 2003-10-12  Feng Wang  <wf_cs@yahoo.com>
2973         * intrinsics/cshift0.c: New file.
2974         * m4/cshift1.m4: New file
2975         * generated/cshift*.c: New files.
2976         * Makefile.am: Add them.
2977         * Makefile.in: Regenerate.
2979 2003-10-12  XiaoQiang Zhang  <zhangapache@yahoo.com>
2981         * io/list_read.c (read_character): Remove unwanted call to free_saved.
2983 2003-10-11  Huang Chun  <jiwang@mail.edu.cn>
2985         * intrinsics/string_intrinsics.c (string_trim): New function.
2986         (string_repeat): New function.
2988 2003-10-11  Paul Brook  <paul@nowt.org>
2990         * intrinsics/dprod_r8.f90: New file.
2991         * Makefile.am (gfor_specific_src): Add it.
2992         (gfor_built_specific_src): Rename from gfor_build_specific_c.
2993         Add new intrinsics.
2994         (gfor_specific2_src): Rename from gfor_built_specific2_c.
2995         Add new intrinsics.
2996         * Makefile.in: Regenerate.
2997         * generated/_aint_*.f90: New files.
2998         * generated/_anint*.f90: New files.
2999         * generated/_atan2*.f90: New files.
3000         * generated/_mod*.f90: New files.
3002 2003-09-20  Kejia Zhao  <kejia_zh@yahoo.com.cn>
3004         * intrinsics/selected_kind.f90: New file.
3005         * Makefile.am: Add it.
3006         * Makefile.in: regenerate.
3008 2003-09-19  Lars Segerlund  <Lars.Segerlund@comsys.se>
3009         Paul Brook  <paul@nowt.org>
3011         * intrinsics/random.c: New file.
3012         * Makefile.am (gfor_hemper_src): Add it.
3013         (gfor_specific_c): Fix typo.
3015 2003-09-19  Paul Brook  <paul@nowt.org>
3017         * All: rename g95->gfc.
3019 2003-09-18  XiaoQiang Zhang  <zhangapache@yahoo.com>
3021         * io/write.c (output_float): Fix bug of FMT_E, Add comments.
3023 2003-09-09  XiaoQiang Zhang  <zhangapache@yahoo.com>
3025         * io/write.c (write_float): Dectection of positive infinite number,
3026         Not a Number(NaN) and negative infinite number.
3027         (ioutput_float): Bug fix for FMT_E and FMT_D processing to
3028         output a very_very small number ( < 0.1e-100 ).
3030 2003-09-07  XiaoQiang Zhang  <zhangapache@yahoo.com>
3032         * libgfortran.h (xtoa, itoa): Parameter modified.
3033         * io/io.h (namelist_info): Declaration to support namelist I/O
3034         (st_parameter): Add namelist related component
3035         (ionml, empty_internal_buffer, st_set_nml_var_int,
3036         st_set_nml_var_float, st_set_nml_var_char, st_set_nml_var_complex,
3037         st_set_nml_var_log): Declaration
3038         (set_integer, set_integer): Parameter changed
3039         * io/format.c (free_nodes): Fix annoying bug of lefting "deallocated"
3040          fnodes
3041         (parse_format_list): Fix bug about FMT_SLASH
3042         * io/list_read.c (push_char): Totally clear old saved_string, zeroize
3043         newly allocated saved_string
3044         (next_char): Add detection of End_Of_Line support
3045         (convert_integer): Now can process 64 bits interger
3046         (read_real): Bug fixed
3047         (init_at_eol, find_nml_node, match_namelist_name): Add new functions
3048         (match_namelist_name): New implemention
3049         * io/lock.c (ionml): New global variable
3050         (library_end): Free memory in ionml
3051         * io/open.c (st_open): Variable initializtion
3052         * io/read.c (max_value): 64 bits interger support
3053         (convert_precsion_real): New procedure to replace "strtod" with more
3054          features
3055         (read_f, read_radix): Input bug fix
3056         * io/transfer.c: (sf_seen_eor): New static variable
3057         (read_sf): Zeroize base buffer; fix bugs: single read statement can
3058         not get input in mutli line when read from stdin
3059         (formatted_transfer): Fix bug of FMT_O, FMT_B, FMT_Z for INTEGER type
3060          request
3061         (data_transfer_init): Clear internal buffer for Internel File I/O.
3062         Internal File now worked. Detect some error condition for namelist.
3063         Some minor bug fix
3064         (next_record_w): Internal file and Namelist I/O support.
3065         (st_set_nml_var, st_set_nml_var_float, st_set_nml_var_char,
3066         st_set_nml_var_complex, st_set_nml_var_log): Implemention.
3067         * io/unit.c (implicit_unit): Deletion
3068         (get_unit): Now cannot open a unit implicitly.
3069         * io/unix.c (mmap_alloc): Fix fatal error in calculating the length of
3070         mapped buffer.
3071         (mem_alloc_r_at): Internal file I/O support added
3072         (empty_internal_buffer): New function
3073         * io/write.c (extract_int): Support 64 bits interger processing
3074         (output_float): Varibale initialization
3075         (write_float): Infinite real number detection.
3076         (write_int): 64 bits integer I/O support
3077         (write_decimal): New function to output decimal number
3078         (otoa, btoa): Better implemention and 64 bits interger support
3079         (namelist_write): New function
3080         * runtime/error.c (itoa, xtoa): Better implemention and 64 bits
3081         interger support
3083 2003-08-15  Arnaud Desitter  <arnaud.desitter@geography.oxford.ac.uk>
3085         * libgfortran.h (os_error, runtime_error,internal_error, sys_exit,
3086         get_mem ): Add attribute.
3087         * intrinsics/spread_generic.c (__spread): Fix spelling.
3088         * io/inquire.c (inquire_via_filename): Add const.
3089         * io/io.h (sys_exit): Add attribute.
3090         * io/io.h (move_pos_offset): Add move_pos_offset.
3091         * io/io.h (compare_file_filename, inquire_sequential, inquire_direct,
3092         inquire_formatted, inquire_unformatted, inquire_read, inquire_write,
3093         inquire_readwrite, convert_real, write_a, write_b, write_d, write_e,
3094         write_en, write_es, write_f, write_i, write_l, write_o, write_x,
3095         write_z): Add const.
3096         * io/read.c (convert_real): Add const.
3097         * io/transfer.c (type_name): Add const.
3098         * io/unix.c (unpack_filename, compare_file_filename,inquire_sequential,
3099         inquire_direct, inquire_formatted, inquire_unformatted, inquire_access,
3100         inquire_read, inquire_write, inquire_readwrite): Add const.
3101         * io/write.c (output_float): Remove unused variable.
3102         * io/write.c (write_a, extract_int, extract_real, output_float,
3103         write_float, write_int, write_i, write_b, write_o, write_z, write_d,
3104         write_e, write_f, write_en, write_es, write_logical, write_integer,
3105         write_character, write_real, write_complex): Add const.
3106         * runtime/error.c (rtoa): Remove unused variable.
3107         * runtime/select.c (select_string): Add const.
3108         * runtime/stop.c (stop_string): Add const.
3110 2003-08-10  Paul Brook  <paul@nowt.org>
3112         * Makefile.am (gfor_helper_src): Add intrinsics/abort.c.
3113         (FFLAGS): Add -fno-underscoring.
3114         * Makefile.in: Regenerate.
3115         * intrinsics/abort.c: New file.
3117 2003-08-10  Erik Schnetter  <schnetter@uni-tuebingen.de>
3119         * fmain.c (main): Do not call init and cleanup; call set_args instead.
3120         * libgfortran.h (init, cleanup): Remove declarations.
3121         (set_args): Add declaration.
3122         * runtime/main.c (init, cleanup): Make them static, and give them
3123         the constructor and destructor attributes.
3124         (set_args): New function.
3126 2003-08-10  Paul Brook  <paul@nowt.org>
3128         * intrinsics/strinf_intrinsics.c (compare_string): Return value based
3129         on which string is longest.
3131 2003-08-10  Paul Brook  <paul@nowt.org>
3133         * Makefile.am (EXTRA_DIST): Remove old files.
3134         * Makefile.in: Regenerate.
3136 2003-07-26  Paul Brook  <paul@nowt.org>
3138         Rename library to libgfortran.
3139         * libgfortran.h: Change prefix to _libgfortran_.
3141 2003-07-24  Paul Brook  <paul@nowt.org>
3143         * configure.in: Don't pull in system libtool.  Use toplevel
3144         auxiliary files.
3146 2003-07-22  Paul Brook  <paul@nowt.org>
3148         Regenerate all configury files.
3150 2003-07-09  Chun Huang  <compiler@sohu.com>
3152         * intrinsics/string_intrinsic.c (string_scan): New function.
3153         (string_verify): New function.
3155 2003-06-25  Paul Brook  <paul@nowt.org>
3157         * io/unix.c (mem_alloc_r_at, mem_alloc_w_at): Advance logical_offset.
3158         (mem_seek): Don't bother setting physical_offset.
3160 2003-06-20  Paul Brook  <paul@nowt.org>
3162         * libgfor.h (stop_numeric): Declare.
3163         * runtime/pause.c: New file.
3164         * Makefile.am: Add it.
3166 2003-06-08  Paul Brook  <paul@nowt.org>
3168         * m4/cexp.m4 (cabs): Use correct typed version.
3169         (csqrt): New function.
3171 2003-06-07  Canqun Yang  <canqun@yahoo.com.cn>
3173         Spotted by Benjamin and Tobias:
3174         * io/list_read.c: Add Separator '\t'.
3175         (parse_real, read_real): Accept real values starting with an optional
3176         sign follows a decimal point.
3178 2003-06-06  Steven Bosscher  <steven@gcc.gnu.org>
3180         * Makefile.am: Don't put cmath objects in subdir.
3181         * configure.in: Rename MATHOBJ to MATH_OBJ.
3183 2003-06-02  Kejia Zhao  <Kejia_zh@yahoo.com.cn>
3185         * intrinsics/associated.c: New file.
3186         * Makefile.am: Add it. Regenerate Makefile.in.
3187         * libgfor.h: Define g95_array_void, G95_DESCRIPTOR_DATA, and
3188         G95_DESCRIPTOR_DTYPE.
3190 2003-06-01  Canqun Yang  <canqun@yahoo.com.cn>
3192         * io/write.c (calcuate_exp): Rewrite it to avoid overflow.
3193         (calculate_G_format): Rewrite it to eliminate an infinte loop and set
3194         the scale_factor to 0 for F editing.
3196 2003-05-11  Tobias Schlter  <innenminister@gmx.de>
3198         * libgfor.h: Only include stdint.h if it exists.
3200 2003-05-07  Paul Brook  <paul@nowt.org>
3202         * libgfor.h: Use stdint.h types.
3203         * intrinsics/ishift.c: Ditto.
3204         * runtime/memory.c (malloc_t): Reorder fields for better alignment.
3206 2003-05-05  Steven Bosscher  <steven@gcc.gnu.org>
3208         * libgfor.h (offsetof): Define if nobody else does.
3209         * runtime/memory.c (HEADER_SIZE): Use it.
3211 2003-05-01  Tobias Schlter  <innenminister@gmx.de>
3213         * configure.in: Require autoconf 2.54.
3215 2003-04-28  Tobias Schlter  <innenminister@gmx.de>
3216         Paul Brook  <paul@nowt.org>
3218         * intrinsics/reshape_generic.c: Copy the whole element, not just the
3219         first byte.
3220         * m4/transpose.m4: New file.
3221         * Makefile.am: Add them.
3222         Regenerate generated files.
3224 2003-04-18  Steven Bosscher  <steven@gcc.gnu.org>
3226         * io/format.c (parse_format_list): Allow 'X' without integer
3227         prefix.  This is an extension.  Interpretation is '1X'.
3229 2003-04-18  Tobias Schlter  <Tobias.Schlueter@physik.uni-muenchen.de>
3231         * io/format.c (parse_format_list): Allow '0P'.
3233 2003-04-18  Steven Bosscher  <steven@gcc.gnu.org>
3235         * Makefile.in: Re-regenerate for automake 1.7.3.
3237 2003-04-18  Canqun Yang  <canqun@yahoo.com.cn>
3239         Port implementation for CHARACTER SELECT from Andy's tree.
3240         * runtime/select.c: New file
3241         * Makefile.am: Add it.
3242         * Makefile.in: Regenerate.
3244 2003-04-17  Xiaoqiang Zhang <zhangapache@yahoo.com>
3246         * io/transfer.c (formatted_transfer): Modified
3247         * io/unix.c (move_pos_offset): New Function.
3248         * io/format.c (parse_format_list): Modified.
3250 2003-04-15  Xiaoqiang Zhang <zhangapache@yahoo.com>
3252         * io/write.c (write_float,write_real): New implemention of
3253         FMT_G and default float editing.
3254         (calculate_exp,calculate_G_format,output_float): New Function.
3255         (write_float,write_real,write_logical): Modified
3256         * libgfor.h (default_rtoa): Remove Declaration.
3257         * runtime/error.c (default_rtoa): Remove Function.
3259 2003-04-15  Steven Bosscher  <steven@gcc.gnu.org>
3261         Spotted by Yang:
3262         * io/write.c (extract_real): Add missing break statement.
3264 2003-04-13  Steven Bosscher  <steven@gcc.gnu.org>
3266         * cpu_time.c: Make sure we have a definition of HZ.  Don't
3267         rely on CLOCKS_PER_SEC, it is always 1000000, on any system.
3269 2003-04-13  Steven Bosscher  <steven@gcc.gnu.org>
3270             Paul Brook  <paul@nowt.org>
3272         * configure.in: Check for process time headers and GETTIMEOFDAY.
3273         * makefile.am: Add intrinsics/cpu_time.c.
3274         * acinclude.m4: New file.
3275         * intrinsics/cpu_time.c: New file.
3276         * m4/dotprodl.m4: Fix typo.
3277         Regenerate generated files.
3279 2003-04-11  Xiaoqiang Zhang <zhangapache@yahoo.com>
3281         * io/write.c (extract_real): Ouput floating point value.
3282         (write_float): New Function.
3283         (write_e, write_f, write_en, write_es): Modified
3284         * io/transfer.c (formatted_transfer): Modified.
3285         * libgfor.h (default_rtoa): Declaration.
3286         (rtoa): Declaration.
3287         * runtime/error.c (default_rtoa): New Function.
3288         (rtoa): New Function.
3290 2003-04-05  Paul Brook  <paul@nowt.org>
3292         * intrinsics/spread_generic.c: New file.
3293         * Makefile.am: Add it. Regenerate Makefile.in.
3295 2003-03-29  Paul Brook  <paul@nowt.org>
3297         * intrinsics/pack_generic.c: New file.
3298         * intrinsics/unpack_generic.c: New file.
3299         * Makefile.am: Add them. Regenerate Makefile.in.
3301 2003-03-25  Paul Brook  <paul@nowt.org>
3303         * intrinsics/eoshift0.c: New file.
3304         * intrinsics/eoshift2.c: New file.
3305         * m4/eoshift1.m4: New file.
3306         * m4/eoshift3.m4: New file.
3307         * Makefile.am: Add them.
3308         * in_unpack_generic.c: Initialize src.
3309         Regenerate generated files.
3311 2003-03-14  Paul Brook  <paul@nowt.org>
3313         * m4/shape.m4: Work properly with array temporaries.
3314         * m4/in_pack.m4: Skip redundant checks for array temporaries.
3315         * runtime/in_pack_generic.c: Ditto.
3317 2003-03-12  Paul Brook  <paul@nowt.org>
3319         * m4/shape.m4: Work properly with noncontiguous arrays.
3321 2003-03-08  Paul Brook  <paul@nowt.org>
3323         * m4/in_pack.m4: Correctly handle zero sized and assumed size arrays.
3324         * runtime/in_pack_generic.c: Ditto.
3326 2003-02-08  Paul Brook  <paul@nowt.org>
3328         * intrinsics/reshape_generic.c: Use runtime_error to report errors.
3329         * io/close.c (st_close): Return void.
3330         * io/open.c (st_open): Return void.
3331         * libgfor.h (g95_array_char): Declare.
3332         (internal_malloc_size): Ditto.
3333         (internal_pack*, internal_unpack*): Ditto.
3334         * m4/in_pack.m4: Allocate storage if neccessary.  Fix logic for packed
3335         arrays.
3336         * m4/in_unpack.m4: Include file fixes.
3337         * m4/reshape.m4: Increment the correct source pointer.
3338         * Makefile.am (maxloc): Fix typo.
3339         * runtime/in_pack_generic.c: Call optimized functions. Allocate
3340         storage if neccessary. Fix logic for packed arrays.
3341         * runtime/in_unpack_generic.c: Call optimized functions.
3342         * runtime/main.c: Use runtime_error to report errors.
3343         * memory.c (internal_malloc_size): Make non-static.
3345 2003-02-02  Arnaud Desitter  <arnaud.desitter@geography.oxford.ac.uk>
3347         * reshape_packed.c, lock.c: Add #include <string.h>.
3348         * libgfor.h, format.c, inquire.c, io.h, transfer.c, unix.c,
3349         environ.c, error.c, memory.c, string.c: Add const.
3350         * error.c (show_locus): Add void.
3352 2003-02-21  Paul Brook  <paul@nowt.org>
3354         * m4/in_pack.m4: Avoid returning const * parameter.
3355         * Makefile.am: Only regenerate files in maintainer mode.
3357 2003-02-20  Paul Brook  <paul@nowt.org>
3359         Add array repacking support functions.
3360         * m4/in_pack.m4, m4/in_unpack.m4: New files.
3361         * runtime/in_pack_generic.c, runtime/in_unpack_generic.c: New files.
3362         * Makefile.am: Build them.  Regenerate configury files.
3363         * generated/: New directory for generated files (need to move
3364         everything else there).
3366 2003-02-07  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
3368         * m4/cexp.m4: Fix typo.
3370 2003-01-26  Paul Brook  <paul@nowt.org>
3372         * intrinsics/: Add missing generated files.
3374 2003-01-26  Paul Brook  <paul@nowt.org>
3376         * Makefile.am: Put -I before the filename.
3378 2003-01-24  Paul Brook  <paul@nowt.org>
3380         * configure.in: Add AM_MAINTAINER_MODE.
3382 2003-01-23  Paul Brook  <paul@nowt.org>
3384         * configure.in, Makefile.am: Modify to work with unmodified autoconf
3385         and auotmake.
3386         Also regenerate other configury files.
3388 2003-01-21  Paul Brook  <paul@nowt.org>
3390         * io/read.c: Don't use stdint.h, it doesn't exist on cygwin.
3392 2003-01-20  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3394         * io/read.c (read_f): Don't use alloca, but safe get_mem instead.
3395         Don't include "alloca.h".
3397 2003-01-20  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3399         * intrinsics/string.c: Rename to intrinsics/string_intrinsics.c.
3400         * Makefile.am: Adjust file name.
3401         * Makefile.in: Regenerate.
3402         * gfortypes.h: Kill, include everything in...
3403         * libgfor.h: ...here.  Include config.h
3404         * fmain.c, intrinsics/ishftc.c, intrinsic/reshape_generic.c,
3405         intrinsics/reshape_i4.c, intrinsics/reshape_i8.c,
3406         intrinsics/reshape_packed.c, intrinsics/size.c,
3407         m4/reshape.m4, runtime/main.c, runtime/memory.c: Use macro
3408         for prefix for all functions instead of hardcoded.
3410 2003-01-19  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3412         * io/lock.c (library_end): Propagate library return
3413         code.
3415 2003-01-19  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3417         Port fixes from Andy's tree:
3418         * io/read.c (read_decimal): Reverse sense of overflow
3419         comparison during integer reads.
3420         * io/format.c (revert): Fix comment.
3421         (next_format): Fix format revision.
3422         * io/unix.c: Fix and simplify mmap version of stream
3423         functions.
3425 2003-01-11  Paul Brook  <paul@nowt.org>
3427         * configure, Makefile.in: Regenerate.
3429 2003-01-11  Paul Brook  <paul@nowt.org>
3431         * runtime/stop.c: Rewrite.
3433 2003-01-08  Paul Brook  <paul@nowt.org>
3435         * configure, Makefile.in: Regenerate.
3437 2003-01-05  Paul Brook  <paul@nowt.org>
3439         * (*.m4) Move to m4/.
3440         * intrinsics/string.c (_gfor_string_index): New Function.
3442 2002-12-29  Paul Brook  <paul@nowt.org>
3444         * intrinsics/reshape.*: New files.
3445         * gcc_config.patch: Update to new GCC configure system.
3447 2002-10-10  Paul Brook  <paul@nowt.org>
3449         * intrinsics/size.c: New file.
3450         * intrinsics/shape.m4: New file.
3451         * Makefile.am: Add above files.
3453 2002-10-02  Paul Brook  <paul@nowt.org>
3455         * fmain.c (main): Move here.
3456         * libgfor.c: From here.
3457         * libgfor.h (gfor_init, gfor_runtime_cleanup): Declare.
3458         * Makefile.am: Build libgforbegin.
3459         * gcc_config.patch: Remove stray -march=athlon.
3460         * dotprodl.m4: Fix use of L8_TO_L4 macro.
3461         * ifunction.m4: Move variable declarations to allow compilation with
3462         gcc < 3.0
3463         * specific.m4, specific4.m4: Fix typo typecode->type_code.
3464         * README: Document use of patch -p1.
3466 2002-09-12  Paul Brook  <paul@nowt.org>
3468         * math/*: Add complex math library functions.
3469         * intrinsics/specific(2).m4: Generate Specific intrinsic functions.
3470         * Makefile.am: Add details for above.
3471         * configure.in: Use AC_PROG_F95.  Test for the presence of csin.
3473 2002-09-09  Paul Brook  <paul@nowt.org>
3475         * libgfor.c (determine_endianness): Use an array rather than a struct.
3476         * intrinsics/dotprod*, matmul*: Implement DOT_PRODUCT and MATMUL.
3478 2002-09-09  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3480         * libgfor.c: Add fatal signal handler.
3481         Romove superfluous abort() calls.
3483 2002-09-07  Paul Brook <paul@nowt.org>
3485         * Makefile.am, intrinsics: Major rewrite.
3487 2002-09-02  Paul Brook <paul@nowt.org>
3489         * Makefile.am: Added -I$(srcdir) to m4 rule.
3491 2002-08-30  Paul Brook <paul@nowt.org>
3493         * io/*: Integrated libgforio.
3494         * Makefile.am, configure.in: Make compatable with GCC. Build code for
3495         intrinsics in the intrisics directory.
3496         * intrinsics/intrinsics.m4: Move here. Strip directories from the
3497         filename. Add 'and' and 'all' intrinsics.
3499 2002-08-17  Paul Brook <paul@nowt.org>
3501         * ALL: First release as more than just a single file