OSDN Git Service

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