OSDN Git Service

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