OSDN Git Service

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