OSDN Git Service

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