OSDN Git Service

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