OSDN Git Service

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