OSDN Git Service

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