OSDN Git Service

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