OSDN Git Service

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