OSDN Git Service

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