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