OSDN Git Service

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