OSDN Git Service

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