OSDN Git Service

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