OSDN Git Service

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