OSDN Git Service

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