OSDN Git Service

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