OSDN Git Service

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