OSDN Git Service

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