OSDN Git Service

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