OSDN Git Service

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