OSDN Git Service

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