OSDN Git Service

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