OSDN Git Service

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