OSDN Git Service

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