OSDN Git Service

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