OSDN Git Service

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