OSDN Git Service

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