OSDN Git Service

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