OSDN Git Service

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