OSDN Git Service

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