OSDN Git Service

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