OSDN Git Service

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