OSDN Git Service

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