OSDN Git Service

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