OSDN Git Service

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