OSDN Git Service

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