OSDN Git Service

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