OSDN Git Service

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