OSDN Git Service

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