OSDN Git Service

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