OSDN Git Service

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