OSDN Git Service

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