OSDN Git Service

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