OSDN Git Service

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