i386.c (output_387_binary_op): Use std::swap.
[official-gcc.git] / libgfortran / ChangeLog-2006
blob5c8dfef257d41e711e2ead507888156b92c13b14
1 2006-12-30  Thomas Koenig  <Thomas.Koenig@online.de>
3         PR libfortran/30321
4         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code):
5         Check for extents < 0 for zero-sized arrays.  If
6         no retarray has been specified and the size is zero,
7         return early.
8         (`m'name`'rtype_qual`_'atype_code): Likewise.
9         * generated/all_l16.c: Regenerated.
10         * generated/all_l4.c: Regenerated.
11         * generated/all_l8.c: Regenerated.
12         * generated/any_l16.c: Regenerated.
13         * generated/any_l4.c: Regenerated.
14         * generated/any_l8.c: Regenerated.
15         * generated/count_16_l16.c: Regenerated.
16         * generated/count_16_l4.c: Regenerated.
17         * generated/count_16_l8.c: Regenerated.
18         * generated/count_4_l16.c: Regenerated.
19         * generated/count_4_l4.c: Regenerated.
20         * generated/count_4_l8.c: Regenerated.
21         * generated/count_8_l16.c: Regenerated.
22         * generated/count_8_l4.c: Regenerated.
23         * generated/count_8_l8.c: Regenerated.
24         * generated/cshift1_16.c: Regenerated.
25         * generated/cshift1_4.c: Regenerated.
26         * generated/cshift1_8.c: Regenerated.
27         * generated/maxloc1_16_i16.c: Regenerated.
28         * generated/maxloc1_16_i4.c: Regenerated.
29         * generated/maxloc1_16_i8.c: Regenerated.
30         * generated/maxloc1_16_r10.c: Regenerated.
31         * generated/maxloc1_16_r16.c: Regenerated.
32         * generated/maxloc1_16_r4.c: Regenerated.
33         * generated/maxloc1_16_r8.c: Regenerated.
34         * generated/maxloc1_4_i16.c: Regenerated.
35         * generated/maxloc1_4_i4.c: Regenerated.
36         * generated/maxloc1_4_i8.c: Regenerated.
37         * generated/maxloc1_4_r10.c: Regenerated.
38         * generated/maxloc1_4_r16.c: Regenerated.
39         * generated/maxloc1_4_r4.c: Regenerated.
40         * generated/maxloc1_4_r8.c: Regenerated.
41         * generated/maxloc1_8_i16.c: Regenerated.
42         * generated/maxloc1_8_i4.c: Regenerated.
43         * generated/maxloc1_8_i8.c: Regenerated.
44         * generated/maxloc1_8_r10.c: Regenerated.
45         * generated/maxloc1_8_r16.c: Regenerated.
46         * generated/maxloc1_8_r4.c: Regenerated.
47         * generated/maxloc1_8_r8.c: Regenerated.
48         * generated/maxval_i16.c: Regenerated.
49         * generated/maxval_i4.c: Regenerated.
50         * generated/maxval_i8.c: Regenerated.
51         * generated/maxval_r10.c: Regenerated.
52         * generated/maxval_r16.c: Regenerated.
53         * generated/maxval_r4.c: Regenerated.
54         * generated/maxval_r8.c: Regenerated.
55         * generated/minloc1_16_i16.c: Regenerated.
56         * generated/minloc1_16_i4.c: Regenerated.
57         * generated/minloc1_16_i8.c: Regenerated.
58         * generated/minloc1_16_r10.c: Regenerated.
59         * generated/minloc1_16_r16.c: Regenerated.
60         * generated/minloc1_16_r4.c: Regenerated.
61         * generated/minloc1_16_r8.c: Regenerated.
62         * generated/minloc1_4_i16.c: Regenerated.
63         * generated/minloc1_4_i4.c: Regenerated.
64         * generated/minloc1_4_i8.c: Regenerated.
65         * generated/minloc1_4_r10.c: Regenerated.
66         * generated/minloc1_4_r16.c: Regenerated.
67         * generated/minloc1_4_r4.c: Regenerated.
68         * generated/minloc1_4_r8.c: Regenerated.
69         * generated/minloc1_8_i16.c: Regenerated.
70         * generated/minloc1_8_i4.c: Regenerated.
71         * generated/minloc1_8_i8.c: Regenerated.
72         * generated/minloc1_8_r10.c: Regenerated.
73         * generated/minloc1_8_r16.c: Regenerated.
74         * generated/minloc1_8_r4.c: Regenerated.
75         * generated/minloc1_8_r8.c: Regenerated.
76         * generated/minval_i16.c: Regenerated.
77         * generated/minval_i4.c: Regenerated.
78         * generated/minval_i8.c: Regenerated.
79         * generated/minval_r10.c: Regenerated.
80         * generated/minval_r16.c: Regenerated.
81         * generated/minval_r4.c: Regenerated.
82         * generated/minval_r8.c: Regenerated.
83         * generated/product_c10.c: Regenerated.
84         * generated/product_c16.c: Regenerated.
85         * generated/product_c4.c: Regenerated.
86         * generated/product_c8.c: Regenerated.
87         * generated/product_i16.c: Regenerated.
88         * generated/product_i4.c: Regenerated.
89         * generated/product_i8.c: Regenerated.
90         * generated/product_r10.c: Regenerated.
91         * generated/product_r16.c: Regenerated.
92         * generated/product_r4.c: Regenerated.
93         * generated/product_r8.c: Regenerated.
94         * generated/sum_c10.c: Regenerated.
95         * generated/sum_c16.c: Regenerated.
96         * generated/sum_c4.c: Regenerated.
97         * generated/sum_c8.c: Regenerated.
98         * generated/sum_i16.c: Regenerated.
99         * generated/sum_i4.c: Regenerated.
100         * generated/sum_i8.c: Regenerated.
101         * generated/sum_r10.c: Regenerated.
102         * generated/sum_r16.c: Regenerated.
103         * generated/sum_r4.c: Regenerated.
104         * generated/sum_r8.c: Regenerated.
106 2006-12-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
108         PR libfortran/30014
109         *io/io.h (st_parameter_dt): Change *size and *iolength type to
110         GFC_IO_INT.
111         *io/transfer.c (finalize_transfer): Cast dtp->u.p.size_used to
112         GFC_IO_INT.  (iolength_transfer): Cast size * nelems to GFC_IO_INT.
114 2006-12-17  Tobias Burnus  <burnus@net-b.de>
116         * intrinsics/associated.c: Check for associated(NULL,NULL).
118 2006-12-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
120         PR libfortran/30145
121         * io/transfer.c (transfer_array):  Check for negative extent.
123 2006-12-13  Richard Guenther  <rguenther@suse.de>
125         PR fortran/30115
126         * runtime/memory.c (allocate_size): Change interface to
127         void *()(size_t, GFC_INTEGER_4 *).
128         (allocate): Likewise.
129         (allocate64): Likewise.
130         (allocate_array): Change interface to
131         void *()(void *, size_t, GFC_INTEGER_4 *).
132         (allocate64_array): Likewise.
133         (deallocate): Change interface to
134         void ()(void *, GFC_INTEGER_4 *).
136 2006-12-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
138         PR libfortran/29810
139         * intrinsics/c99_functions.c (fmodf, fmodl, floorl): New functions.
140         * c99_protos.h (fmodf, fmodl, floorl): New prototypes.
141         * configure.ac: Check for fmodf, fmod and fmodl.
142         * configure: Regenerate.
143         * config.h.in: Regenerate.
145 2006-12-06  Thomas Koenig  <Thomas.Koenig@online.de>
147         PR libfortran/30009
148         PR libfortran/30056
149         * libgfortran.h:  Add ERROR_CORRUPT_FILE to error_codes.
150         * runtime/error.c (translate_error):  Add handling for
151         ERROR_CORRUPT_FILE.
152         * io/transfer.c (read_block_direct):  Add comment about
153         EOR for stream files.
154         Remove test for no bytes left for direct access files.
155         Generate an ERROR_SHORT_RECORD if the read was short.
156         For unformatted sequential files:  Check endfile condition.
157         Remove test for no bytes left.  End of file here means
158         that the file structure has been corrupted.  Pre-position
159         the file for the next record in case of error.
160         (write_buf):  Whitespace fix.  Subtract the number of bytes
161         written from bytes_left.
163 2006-12-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
165         PR libfortran/30005
166         * io/open.c: Add errno.h include.
167         (new_unit): Add new error messages with file name for file open.
169 2006-12-01  Thomas Koenig  <Thomas.Koenig@online.de>
171         PR libfortran/29568
172         * libgfortran/libgfortran.h (compile_options_t):  Add
173         record_marker. (top level):  Define GFC_MAX_SUBRECORD_LENGTH.
174         * runtime/compile_options.c (set_record_marker):  Change
175         default to four-byte record marker.
176         (set_max_subrecord_length):  New function.
177         * runtime/error.c (translate_error):  Change error message
178         for short record on unformatted read.
179         * io/io.h (gfc_unit):  Add recl_subrecord, bytes_left_subrecord
180         and continued.
181         * io/file_pos.c (unformatted_backspace):  Change default of record
182         marker size to four bytes.  Loop over subrecords.
183         * io/open.c:  Default recl is max_offset.  If
184         compile_options.max_subrecord_length has been set, set set
185         u->recl_subrecord to its value, to the maximum value otherwise.
186         * io/transfer.c (top level):  Add prototypes for us_read, us_write,
187         next_record_r_unf and next_record_w_unf.
188         (read_block_direct):  Separate codepaths for unformatted direct
189         and unformatted sequential.  If a recl has been set by the
190         user, use the number of bytes left for the record if it is smaller
191         than the read request.  Loop over subrecords.  Set an error if the
192         user has set a recl and the read was short.
193         (write_buf):  Separate codepaths for unformatted direct and
194         unformatted sequential. If a recl has been set by the
195         user, use the number of bytes left for the record if it is smaller
196         than the read request.  Loop over subrecords.  Set an error if the
197         user has set a recl and the read was short.
198         (us_read):  Add parameter continued (to indicate that bytes_left
199         should not be intialized).  Change default of record marker size
200         to four bytes. Use subrecord.  If the subrecord length is smaller than
201         zero, this indicates a continuation.
202         (us_write):  Add parameter continued (to indicate that the continued
203         flag should be set).  Use subrecord.
204         (pre_position):  Use 0 for continued on us_write and us_read calls.
205         (skip_record):  New function.
206         (next_record_r_unf):  New function.
207         (next_record_r):  Use next_record_r_unf.
208         (write_us_marker):  Default size for record markers is four bytes.
209         (next_record_w_unf):  New function.
210         (next_record_w):  Use next_record_w_unf.
212 2006-11-25  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
214         * Makefile.am: Remove intrinsics/erf.c and intrinsics/bessel.c.
215         * Makefile.in: Regenerate.
216         * intrinsics/erf.c: Remove.
217         * intrinsics/bessel.c: Remove.
218         * c99_protos.h: Add prototypes for bessel and error functions.
219         * intrinsics/c99_functions.c: Move content for intrinsics/erf.c
220         and intrinsics/bessel.c here.
222 2006-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
224         * io/io.h (unit_flags): Add new flag has_recl.
225         * io.open.c (new_unit): Set flag if RECL= was specified.
226         * io/transfer.c (us_write): If flag set, leave recl as initialized by
227         new_unit.
229 2006-11-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
231         * io/open.c (new_unit): Format %d expects an int variable.
232         * runtime/error.c (show_locus): Format %d expects an int variable.
234 2006-11-08  Steven G. Kargl <kargl@gcc.gnu.org>
236         * io/read.c (max_value): Hide "int n" in an #ifdef.
238 2006-11-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
240         PR libfortran/29752
241         * io/transfer.c (finalize_transfer): Flush on ADVANCE_NO.
243 2006-11-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
245         * io/transfer.c (next_record_w): Fix indentation.
247 2006-11-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
249         PR libfortran/25545
250         * io/transfer.c (write_block): Cleanup code paths between
251         stream and non-stream I/O.
252         (write_buf):  Cleanup.
253         (read_block): Cleanup.
254         (finalize_transfer): Call next_record for '$' edit descriptor handling
255         of internal unit. Cleanup code for readability.
257 2006-11-03  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
259         PR libfortran/27895
260         * intrinsics/reshape_generic.c (reshape_internal): Fix so that it
261         works correctly for zero-sized arrays.
262         * m4/reshape.m4: Likewise.
263         * generated/reshape_r16.c: Regenerate.
264         * generated/reshape_c4.c: Regenerate.
265         * generated/reshape_i4.c: Regenerate.
266         * generated/reshape_c16.c: Regenerate.
267         * generated/reshape_r10.c: Regenerate.
268         * generated/reshape_r8.c: Regenerate.
269         * generated/reshape_c10.c: Regenerate.
270         * generated/reshape_c8.c: Regenerate.
271         * generated/reshape_i8.c: Regenerate.
272         * generated/reshape_i16.c: Regenerate.
273         * generated/reshape_r4.c: Regenerate.
275 2006-10-31  Thomas Koenig  <Thomas.Koenig@online.de>
277         PR libfortran/29627
278         * libgfortran.h: Add ERROR_SHORT_RECORD
279         * runtime/error.c (translate_error): Add case
280         for ERROR_SHORT_RECORD.
281         * io/transfer.c (read_block_direct):  Separate codepaths
282         for stream and record unformatted I/O.  Remove unneeded
283         tests for standard input, padding and formatted I/O.
284         If the record is short, read in as much data as possible,
285         then raise the error.
287 2006-10-30  Tobias Burnus  <burnus@net-b.de>
289         PR fortran/29452
290         * runtime/string.c (compare0): Check whether string lengths match.
292 2006-10-29  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
294         * configure: Regenerate.
295         * Makefile.in: Regenerate.
296         * aclocal.m4: Regenerate.
298 2006-10-28  Tobias Burnus <burnus@net-b.de>
300         PR fortran/29625
301         * io/transfer.c (formatted_transfer_scalar): Allow binary edit
302           descriptors for real variables; give error for BOZ edit
303           descriptor for non-integers when using -std=f*.
305 2006-10-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
307         PR libfortran/29563
308         * io/list_read.c (next_char): Fix an error in previous commit.
310 2006-10-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
312         PR libfortran/29563
313         * io/io.h (st_parameter_dt): Add new flag at_eof.
314         * io/list_read.c (next_char): Set flag when EOF and return '\n' to
315         signal EOR.  Check flag on next call and jump out.
316         * io/unit.c (get_internal_unit): Initialize new flag.
318 2006-10-22  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
320         PR fortran/26025
321         * m4/matmul.m4: Add possible call to gemm routine.
322         * generated/matmul_r8.c: Regenerate.
323         * generated/matmul_r16.c: Regenerate.
324         * generated/matmul_c8.c: Regenerate.
325         * generated/matmul_i8.c: Regenerate.
326         * generated/matmul_c16.c: Regenerate.
327         * generated/matmul_r10.c: Regenerate.
328         * generated/matmul_r4.c: Regenerate.
329         * generated/matmul_c10.c: Regenerate.
330         * generated/matmul_c4.c: Regenerate.
331         * generated/matmul_i4.c: Regenerate.
332         * generated/matmul_i16.c: Regenerate.
334 2006-10-21  Steven G. Kargl  <kargl@gcc.gnu.org>
336         * runtime/error.c: Add errno.h
337         (generate_error): Set iostat to errno on OS error.
338         * libgfortran.h: Set ERROR_OS to 5000
340 2006-10-20  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
342         * generated/minval_r8.c: Regenerate.
343         * generated/maxloc1_4_r8.c: Regenerate.
344         * generated/minloc1_16_r16.c: Regenerate.
345         * generated/sum_i8.c: Regenerate.
346         * generated/eoshift3_4.c: Regenerate.
347         * generated/any_l16.c: Regenerate.
348         * generated/eoshift1_8.c: Regenerate.
349         * generated/reshape_r16.c: Regenerate.
350         * generated/product_r4.c: Regenerate.
351         * generated/maxloc1_8_i4.c: Regenerate.
352         * generated/maxloc0_4_r4.c: Regenerate.
353         * generated/in_unpack_i8.c: Regenerate.
354         * generated/minloc0_4_r16.c: Regenerate.
355         * generated/reshape_c4.c: Regenerate.
356         * generated/maxloc0_4_r16.c: Regenerate.
357         * generated/minloc1_8_r16.c: Regenerate.
358         * generated/maxloc1_8_r16.c: Regenerate.
359         * generated/in_unpack_i16.c: Regenerate.
360         * generated/maxloc0_8_i8.c: Regenerate.
361         * generated/sum_r16.c: Regenerate.
362         * generated/minloc1_4_r8.c: Regenerate.
363         * generated/maxloc1_16_r16.c: Regenerate.
364         * generated/minloc1_16_i4.c: Regenerate.
365         * generated/maxloc1_16_i4.c: Regenerate.
366         * generated/minloc0_16_i8.c: Regenerate.
367         * generated/maxloc0_16_i8.c: Regenerate.
368         * generated/maxval_r16.c: Regenerate.
369         * generated/count_16_l16.c: Regenerate.
370         * generated/count_8_l8.c: Regenerate.
371         * generated/product_c10.c: Regenerate.
372         * generated/minloc1_8_i4.c: Regenerate.
373         * generated/minloc0_16_i16.c: Regenerate.
374         * generated/eoshift1_16.c: Regenerate.
375         * generated/minloc0_4_r4.c: Regenerate.
376         * generated/product_c4.c: Regenerate.
377         * generated/sum_r4.c: Regenerate.
378         * generated/in_pack_c16.c: Regenerate.
379         * generated/reshape_i4.c: Regenerate.
380         * generated/minloc0_8_i8.c: Regenerate.
381         * generated/minloc1_16_r10.c: Regenerate.
382         * generated/in_pack_c4.c: Regenerate.
383         * generated/all_l16.c: Regenerate.
384         * generated/reshape_c16.c: Regenerate.
385         * generated/maxloc1_8_r8.c: Regenerate.
386         * generated/minval_i16.c: Regenerate.
387         * generated/reshape_r10.c: Regenerate.
388         * generated/maxval_i4.c: Regenerate.
389         * generated/any_l4.c: Regenerate.
390         * generated/minval_i8.c: Regenerate.
391         * generated/maxloc1_4_i8.c: Regenerate.
392         * generated/maxloc0_16_i16.c: Regenerate.
393         * generated/maxloc0_8_r4.c: Regenerate.
394         * generated/minloc1_4_i16.c: Regenerate.
395         * generated/minloc0_4_r10.c: Regenerate.
396         * generated/maxloc1_4_i16.c: Regenerate.
397         * generated/minloc0_8_i16.c: Regenerate.
398         * generated/maxloc0_4_r10.c: Regenerate.
399         * generated/maxloc0_8_i16.c: Regenerate.
400         * generated/minloc1_8_r10.c: Regenerate.
401         * generated/product_i4.c: Regenerate.
402         * generated/minloc0_16_r4.c: Regenerate.
403         * generated/sum_c16.c: Regenerate.
404         * generated/maxloc1_8_r10.c: Regenerate.
405         * generated/maxloc0_16_r4.c: Regenerate.
406         * generated/minloc1_16_r8.c: Regenerate.
407         * generated/maxloc0_4_i4.c: Regenerate.
408         * generated/maxloc1_16_r8.c: Regenerate.
409         * generated/cshift1_4.c: Regenerate.
410         * generated/sum_r10.c: Regenerate.
411         * generated/sum_c4.c: Regenerate.
412         * generated/maxloc1_16_r10.c: Regenerate.
413         * generated/count_4_l16.c: Regenerate.
414         * generated/in_pack_i4.c: Regenerate.
415         * generated/minloc1_8_r8.c: Regenerate.
416         * generated/count_4_l4.c: Regenerate.
417         * generated/maxval_r10.c: Regenerate.
418         * generated/minloc1_4_i8.c: Regenerate.
419         * generated/in_unpack_c4.c: Regenerate.
420         * generated/minloc0_8_r4.c: Regenerate.
421         * generated/product_i16.c: Regenerate.
422         * generated/minloc0_16_r16.c: Regenerate.
423         * generated/reshape_r8.c: Regenerate.
424         * generated/all_l4.c: Regenerate.
425         * generated/in_pack_c10.c: Regenerate.
426         * generated/minloc0_4_i4.c: Regenerate.
427         * generated/reshape_c10.c: Regenerate.
428         * generated/minval_r4.c: Regenerate.
429         * generated/maxloc1_4_r4.c: Regenerate.
430         * generated/sum_i4.c: Regenerate.
431         * generated/count_16_l8.c: Regenerate.
432         * generated/maxval_r8.c: Regenerate.
433         * generated/eoshift1_4.c: Regenerate.
434         * generated/eoshift3_8.c: Regenerate.
435         * generated/minval_r16.c: Regenerate.
436         * generated/product_r8.c: Regenerate.
437         * generated/maxloc1_8_i8.c: Regenerate.
438         * generated/maxloc0_4_r8.c: Regenerate.
439         * generated/maxloc0_16_r16.c: Regenerate.
440         * generated/in_unpack_i4.c: Regenerate.
441         * generated/sum_c10.c: Regenerate.
442         * generated/minloc1_4_r16.c: Regenerate.
443         * generated/maxloc1_4_r16.c: Regenerate.
444         * generated/in_unpack_c16.c: Regenerate.
445         * generated/minloc0_8_r16.c: Regenerate.
446         * generated/reshape_c8.c: Regenerate.
447         * generated/maxloc0_8_r16.c: Regenerate.
448         * generated/maxloc0_8_i4.c: Regenerate.
449         * generated/minloc1_4_r4.c: Regenerate.
450         * generated/minloc0_16_i4.c: Regenerate.
451         * generated/maxloc0_16_i4.c: Regenerate.
452         * generated/minloc1_16_i8.c: Regenerate.
453         * generated/maxloc1_16_i8.c: Regenerate.
454         * generated/count_8_l4.c: Regenerate.
455         * generated/minloc0_16_r10.c: Regenerate.
456         * generated/minloc1_8_i8.c: Regenerate.
457         * generated/minloc0_4_r8.c: Regenerate.
458         * generated/product_r16.c: Regenerate.
459         * generated/product_c8.c: Regenerate.
460         * generated/sum_r8.c: Regenerate.
461         * generated/in_pack_i16.c: Regenerate.
462         * generated/minloc0_8_i4.c: Regenerate.
463         * generated/minloc1_16_i16.c: Regenerate.
464         * generated/reshape_i8.c: Regenerate.
465         * generated/in_pack_c8.c: Regenerate.
466         * generated/maxloc1_8_r4.c: Regenerate.
467         * generated/reshape_i16.c: Regenerate.
468         * generated/minval_r10.c: Regenerate.
469         * generated/minval_i4.c: Regenerate.
470         * generated/maxloc1_4_i4.c: Regenerate.
471         * generated/maxval_i8.c: Regenerate.
472         * generated/eoshift3_16.c: Regenerate.
473         * generated/any_l8.c: Regenerate.
474         * generated/maxloc0_16_r10.c: Regenerate.
475         * generated/minloc0_4_i16.c: Regenerate.
476         * generated/maxloc0_8_r8.c: Regenerate.
477         * generated/maxloc0_4_i16.c: Regenerate.
478         * generated/minloc1_4_r10.c: Regenerate.
479         * generated/minloc1_8_i16.c: Regenerate.
480         * generated/maxloc1_4_r10.c: Regenerate.
481         * generated/minloc0_8_r10.c: Regenerate.
482         * generated/maxloc1_8_i16.c: Regenerate.
483         * generated/in_unpack_c10.c: Regenerate.
484         * generated/maxloc0_8_r10.c: Regenerate.
485         * generated/minloc1_16_r4.c: Regenerate.
486         * generated/maxloc1_16_r4.c: Regenerate.
487         * generated/minloc0_16_r8.c: Regenerate.
488         * generated/product_i8.c: Regenerate.
489         * generated/maxloc0_16_r8.c: Regenerate.
490         * generated/sum_i16.c: Regenerate.
491         * generated/maxloc0_4_i8.c: Regenerate.
492         * generated/cshift1_8.c: Regenerate.
493         * generated/maxloc1_16_i16.c: Regenerate.
494         * generated/minloc1_8_r4.c: Regenerate.
495         * generated/sum_c8.c: Regenerate.
496         * generated/count_8_l16.c: Regenerate.
497         * generated/in_pack_i8.c: Regenerate.
498         * generated/maxval_i16.c: Regenerate.
499         * generated/count_4_l8.c: Regenerate.
500         * generated/minloc1_4_i4.c: Regenerate.
501         * generated/product_c16.c: Regenerate.
502         * generated/reshape_r4.c: Regenerate.
503         * generated/minloc0_8_r8.c: Regenerate.
504         * generated/in_unpack_c8.c: Regenerate.
505         * generated/product_r10.c: Regenerate.
506         * generated/cshift1_16.c: Regenerate.
507         * generated/all_l8.c: Regenerate.
508         * generated/minloc0_4_i8.c: Regenerate.
509         * generated/maxval_r4.c: Regenerate.
510         * generated/count_16_l4.c: Regenerate.
512 2006-10-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
514         PR libfortran/27895
515         * intrinsics/cshift0.c: Special cases for zero-sized arrays.
516         * intrinsics/pack_generic.c: Likewise.
517         * intrinsics/spread_generic.c: Likewise.
519 2006-10-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
521         PR libfortran/29277
522         * io/write.c (write_a): Add conversion of LF to CR-LF for systems with
523         #define HAVE_CRLF.
525 2006-10-18  Tobias Burnus  <burnus@net-b.de>
527         * m4/in_pack.m4: Fixed a typo.
528         * m4/iforeach.m4: Fixed a typo.
529         * m4/eoshift1.m4: Fixed a typo.
530         * m4/eoshift3.m4: Fixed a typo.
531         * m4/cshift1.m4: Fixed a typo.
532         * m4/in_unpack.m4: Fixed a typo.
533         * m4/reshape.m4: Fixed a typo.
534         * m4/ifunction.m4: Fixed a typo.
535         * runtime/environ.c: Fixed a typo.
536         * runtime/in_pack_generic.c: Fixed a typo.
537         * runtime/in_unpack_generic.c: Fixed a typo.
538         * runtime/memory.c: Fixed a typo.
539         * intrinsics/cshift0.c: Fixed a typo.
540         * intrinsics/cpu_time.c: Fixed a typo.
541         * intrinsics/pack_generic.c: Fixed a typo.
542         * intrinsics/unpack_generic.c: Fixed a typo.
543         * intrinsics/eoshift0.c: Fixed a typo.
544         * intrinsics/eoshift2.c: Fixed a typo.
545         * intrinsics/reshape_generic.c: Fixed a typo.
546         * io/open.c: Fixed a typo.
547         * io/list_read.c: Fixed a typo.
548         * io/io.h: Fixed a typo.
549         * io/transfer.c: Fixed a typo.
550         * io/write.c: Fixed a typo.
552 2006-10-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
554         PR libfortran/29277
555         * io/list_read.c (next_char): Update strm_pos.
556         (eat_separator): Delete extra call to unget_char.
557         * io/transfer.c (read_block): Use read_sf for formatted stream I/O.
558         (next_record_r): Update strm_pos for formatted stream I/O and handle
559         end-of-record correctly.
560         (next_record_w): Ditto.
561         (next_record): Enable next record (r/w) functions and update strm_pos.
562         (finalize_transfer): Call next_record to finish the record.
564 2006-10-13  Steven G. Kargl  <kargl@gcc.gnu.org>
566         * m4/spacing.m4: Use scalbn[f,l] if ldexp[f,l] is unavailable.
567         * m4/rrspacing.m4: Ditto.
568         * generated/spacing_r4.c: Regenerated.
569         * generated/spacing_r8.c: Ditto.
570         * generated/spacing_r10.c: Ditto.
571         * generated/spacing_r16.c: Ditto.
572         * generated/rrspacing_r4.c: Ditto.
573         * generated/rrspacing_r8.c: Ditto.
574         * generated/rrspacing_r10.c: Ditto.
575         * generated/rrspacing_r16.c: Ditto.
577 2006-10-06  Steven G. Kargl  <kargl@gcc.gnu.org>
579         PR fortran/15441
580         PR fortran/29312
581         * configure.ac: Add HAVE_LDEXPF, HAVE_LDEXP, and HAVE_LDEXPL
582         * m4/spacing.m4: New file.  Use new HAVE_* defines.
583         * m4/rrspacing.m4: Ditto.
584         * Makefile.am: Handle new files.
585         * configure: Regenerated.
586         * Makefile.in: Ditto.
587         * config.h.in: Ditto.
588         * generated/spacing_r4.c: Generated.
589         * generated/spacing_r8.c: Ditto.
590         * generated/spacing_r10.c: Ditto.
591         * generated/spacing_r16.c: Ditto.
592         * generated/rrspacing_r4.c: Ditto.
593         * generated/rrspacing_r8.c: Ditto.
594         * generated/rrspacing_r10.c: Ditto.
595         * generated/rrspacing_r16.c: Ditto.
597 2006-10-08  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
599         * intrinsics/hyper.c: Remove file.
600         * intrinsics/c99_functions.c: Add fallback functions asinhf,
601         acoshf and atanhf.
602         * Makefile.am: Remove file intrinsics/hyper.c.
603         * Makefile.in: Regenerate.
605 2006-10-08  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
607         * c99_protos.h: Correctly protect definitions of prototypes for
608         asinhf, acoshf and atanhf to be the same as in intrinsics/hyper.c.
610 2006-10-08  Paul Thomas  <pault@gcc.gnu.org>
611             Erik Edelmann  <edelmann@gcc.gnu.org>
613         PR libfortran/20541
614         * Makefile.in : Add move_alloc.
615         * intrinsics/move_alloc.c: New function.
616         * Makefile.am : Add move_alloc.
618 2006-10-08  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
620         PR libfortran/26540
621         * intrinsics/signal.c (signal_sub, signal_sub_int): Use intptr_t
622         if available to cast function pointers to int and back.
623         * configure.ac: Check for intptr_t.
624         * config.h.in: Regenerate.
625         * configure: Regenerate.
627 2006-10-01  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
629         PR fortran/16580
630         PR fortran/29288
631         * libgfortran/Makefile.am: Add the new files to the build
632         process, and rules to build them.
633         * libgfortran/Makefile.in: Regenerate.
634         * libgfortran/m4/misc_specifics.m4: New file.
635         * libgfortran/m4/specific.m4: Add new special cases for function
636         with complex argument and real result, like abs_c* and aimag_c*.
637         * libgfortran/intrinsics/f2c_specifics.F90: Add specifics for
638         AIMAG, ASINH, ACOSH and ATANH.
639         * libgfortran/generated/_aimag_c4.F90: New file.
640         * libgfortran/generated/_aimag_c8.F90: New file.
641         * libgfortran/generated/_asinh_r10.F90: New file.
642         * libgfortran/generated/_acosh_r16.F90: New file.
643         * libgfortran/generated/_aimag_c10.F90: New file.
644         * libgfortran/generated/_atanh_r16.F90: New file.
645         * libgfortran/generated/_acosh_r4.F90: New file.
646         * libgfortran/generated/_acosh_r8.F90: New file.
647         * libgfortran/generated/_asinh_r4.F90: New file.
648         * libgfortran/generated/_asinh_r8.F90: New file.
649         * libgfortran/generated/_asinh_r16.F90: New file.
650         * libgfortran/generated/_atanh_r4.F90: New file.
651         * libgfortran/generated/_atanh_r8.F90: New file.
652         * libgfortran/generated/_acosh_r10.F90: New file.
653         * libgfortran/generated/misc_specifics.F90: New file.
654         * libgfortran/generated/_aimag_c16.F90: New file.
655         * libgfortran/generated/_atanh_r10.F90: New file.
657 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
659         * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__
660         from test.
661         * configure: Regenerate.
663 2006-10-05  Steven G. Kargl  <kargl@gcc.gnu.org>
665         * Makefile.am: Use $(M4) instead of m4.
666         * Makefile.in: Regenerated.
668 2006-10-01  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
670         * libgfortran.h: Add prototype for internal_unpack_c16.
672 2006-09-29  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
674         PR libfortran/18791
675         * m4/specific.m4: Special-case cabs so that its return type is
676         real. Special-case conjg so that their suffices are _4, _8, _10 and
677         _16 instead of _c4, _c8, _c10 and _c16.
678         * intrinsics/f2c_specifics.F90: Special-case conjg functions so
679         that their suffices are _4 and _8 instead of _c4 and _c8.
680         * generated/_conjg_c4.F90: Regenerate.
681         * generated/_conjg_c8.F90: Regenerate.
682         * generated/_conjg_c10.F90: Regenerate.
683         * generated/_conjg_c16.F90: Regenerate.
684         * generated/_abs_c4.F90: Regenerate.
685         * generated/_abs_c8.F90: Regenerate.
686         * generated/_abs_c10.F90: Regenerate.
687         * generated/_abs_c16.F90: Regenerate.
689 2006-09-29  Steven G. Kargl  <kargl@gcc.gnu.org>
691         * intrinsics/cpu_time.c:  Add cpu_time_10 and cpu_time_16 routines.
693 2006-09-28  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
695         * Makefile.am: Install libgfortranbegin inside compiler libraries
696         directory instead of system libraries directory.
697         * Makefile.in: Regenerate.
699 2006-09-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
701         * Makefile.am: Remove dependency on gfortypes.h.
702         * Makefile.in: Regenerate.
704 2006-09-22  Danny Smith  <dannysmith@users.sourceforge.net>
706         PR libfortran/27964
707         * configure.ac: Check for setmode() function.
708         * configure: Regenerate.
709         * config.h.in: Regenerate.
710         * io/unix.c (output_stream): Force stdout to binary mode. 
711         (error_stream): Force stderr to binary mode.
713 2006-09-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
715         PR libfortran/29099
716         * intrinsics/date_and_time.c (secnds): Fix case of zero time.
718 2006-09-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
720         PR libfortran/29053
721         * io.h (gfc_unit): Add variable, strm_pos, to track
722         STREAM I/O file position.
723         * file_pos.c (st_rewind): Set strm_pos to beginning.
724         * open.c (new_unit): Initialize strm_pos.
725         * read.c (read_x): Bump strm_pos.
726         * inquire.c (inquire_via_unit): Return strm_pos value.
727         * transfer.c (read_block),(read_block_direct),(write_block)
728         (write_buf): Seek to strm_pos - 1.  Update strm_pos when done.
729         (pre_position): Initialize strm_pos.
730         (data_transfer_init): Set strm_pos if DT_HAS_REC.
731         (finalize_transfer): Flush file, no need to update strm_pos.
733 2006-09-10  Paul Thomas  <pault@gcc.gnu.org>
735         PR libfortran/28947
736         * m4/matmul.m4: For the case where the second input argument is
737         transposed, ensure that the case with rank (a) == 1 is
738         correctly calculated.
739         * generated/matmul_r4.c: Regenerate.
740         * generated/matmul_r8.c: Regenerate.
741         * generated/matmul_r10.c: Regenerate.
742         * generated/matmul_r16.c: Regenerate.
743         * generated/matmul_c4.c: Regenerate.
744         * generated/matmul_c8.c: Regenerate.
745         * generated/matmul_c10.c: Regenerate.
746         * generated/matmul_c16.c: Regenerate.
747         * generated/matmul_i4.c: Regenerate.
748         * generated/matmul_i8.c: Regenerate.
749         * generated/matmul_i16.c: Regenerate.
751 2006-08-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
753         PR libfortran/28354
754         * io/write.c: Check for special case of zero precision in format
755         and pre-round the real value.
757 2006-08-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
759         PR libfortran/25828
760         * libgfortran.h: Rename GFC_LARGE_IO_INT to GFC_IO_INT.
761         * io/file_pos.c (st_backspace): Ignore if access=STREAM.
762         (st_rewind): Handle case of access=STREAM.
763         * io/open.c (access_opt): Add STREAM_ACCESS.
764         (edit_modes): Set current_record to zero only if not STREAM.
765         (new_unit): Initialize maxrec, recl, and last_record for STREAM.
766         * io/read.c (read_x): Advance file position for STREAM.
767         * io/io.h (enum unit_access): Align IOPARM flags with frontend.
768         Add ACCESS_STREAM. Add prototype for is_stream_io () function.
769         Use GFC_IO_INT.
770         * io/inquire.c (inquire_via_unit): Add text for access = "STREAM".
771         * io/unit.c (is_stream_io): New function to return true if access =
772         STREAM.
773         * io/transfer.c (file_mode): Add modes for unformatted stream and
774         formatted stream. (current_mode): Return appropriate file mode based
775         on access flags.
776         (read_block): Handle formatted stream reads.
777         (read_block_direct): Handle unformatted stream reads.
778         (write_block): Handle formatted stream writes.
779         (write_buf): Handle unformatted stream writes.
780         (unformatted_read): Fix up, use temporary for size.
781         (pre_position): Position file for STREAM access.
782         (data_transfer_init): Initialize for stream access, skip irrelevent
783         error checks.
784         (next_record_r),(next_record_w), and (next_record): Do nothing for
785         stream I/O.
786         (finalize_transfer): Flush when all done if stream I/O.
788 2006-08-12  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
790         * intrinsics/bessel.c: Add prototypes for all functions.
792 2006-08-05  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
794         * intrinsics/access.c (access_func): Remove export directive.
796 2006-08-02  Thomas Koenig  <Thomas.Koenig@online.de>
798         * Makefile.in:  Regenerate using automake 1.9.6.
799         * aclocal.m4:  Revert to previous version.
801 2006-08-01  Thomas Koenig  <Thomas.Koenig@online.de>
803         PR libfortran/28452
804         * Makefile.am:  Remove normalize.c.
805         * aclocal.m4:  Regenerate using aclocal 1.9.3.
806         * Makefile.in:  Regenerate using automake 1.9.3.
807         * libgfortran.h:  #include <float.h>.
808         Define GFC_REAL_*_DIGITS and GFC_REAL_*_RADIX.
809         Remove prototypes for normalize_r4_i4 and normalize_r8_i8.
810         * intrinsics/random.c (top level): Add prototypes for
811         random_r10, arandom_r10, random_r16 and arandom_r16.
812         (rnumber_4):  New static function.
813         (rnumber_8):  New static function.
814         (rnumber_10): New static function.
815         (rnumber_16): New static function.
816         (top level):  Set to kiss_size to 12 if we have
817         REAL(KIND=16), to 8 otherwise.
818         Define KISS_DEFAULT_SEED_1, KISS_DEFAULT_SEED_2 and
819         KISS_DEFAULT_SEED_3.
820         (kiss_random_kernel):  Take argument to differentiate
821         between different random number generators.
822         (random_r4):  Add argument to call to kiss_random_kernel,
823         use rnumber_*.
824         (random_r8):  Likewise.
825         (random_r10):  New function.
826         (random_r16):  New function.
827         (arandom_r4):  Add argument to call to kiss_random_kernel,
828         use_rnumber_*.
829         (arandom_r8):  Likewise.
830         (arandom_r10):  New function.
831         (arandom_r16):  New function.
832         * intrinsics/rand.c (rand):  Use shift and mask.
833         * runtime/normalize.c:  Remove.
835 2006-07-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
837         PR libfortran/28335
838         * file_position.c (st_flush): Add clearer error when UNIT does not
839         exist. Add reference to standard in comment.
841 2006-07-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
843         PR libfortran/28335
844         * close.c (st_close): Revert previous patch and add comment.
845         * file_position.c (st_flush): Revert previous patch and add comment.
847 2006-07-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
849         * intrinsics/date_and_time.c: Add functions for GMTIME and LTIME.
850         * intrinsics/access.c: New file.
851         * intrinsics/chmod.c: New file.
852         * configure.ac: Add checks for <sys/wait.h>, access, fork,execl
853         and wait.
854         * Makefile.am: Add new files intrinsics/access.c and
855         intrinsics/chmod.c.
856         * configure: Regenerate.
857         * config.h.in: Regenerate.
858         * Makefile.in: Regenerate.
860 2006-07-30  Janne Blomqvist  <jb@gcc.gnu.org>
862         * io/transfer.c (transfer_array): Remove stride0 fix.
863         
864 2006-07-26  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
866         * configure.ac: Check for function clock.
867         * Makefile.am: Compile new file intrinsics/clock.c.
868         * intrinsics/clock.c: New file.
869         * Makefile.in: Regenerate.
870         * configure: Regenerate.
871         * config.h.in: Regenerate.
872         * intrinsics/stat.c: Rename the old stat_i?_sub functions to
873         helper functions stat_i?_sub_0, and use them for both STAT and
874         LSTAT.
876 2006-07-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
878         PR libfortran/28335
879         * close.c (st_close): Add error when UNIT does not exist.
880         * file_position.c (st_flush): Add error when UNIT does not exist.
882 2006-07-25  Paolo Bonzini  <bonzini@gnu.org>
884         PR build/26188
885         * configure: Regenerate.
887 2006-07-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
889         PR libfortran/25289
890         * libgfortran.h: Add conditional definition of GFC_LARGE_IO_INT type.
891         * io/io.h (st_parameter_dt): Define rec as type GFC_LARGE_IO_INT.
893 2006-07-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
895         PR libfortran/28339
896         * io/transfer.c (next_record_w): Use next_array_record result to set
897         END_FILE. (write_block): Test for END_FILE before the next write occurs.
898         * io/unit.c (get_internal_unit): Initialize iunit->endfile for internal
899         unit.
901 2006-07-19  Janne Blomqvist  <jb@gcc.gnu.org>
903         PR fortran/27919
904         * m4/dotprodc.m4: Remove.
905         * m4/dotprodl.m4: Remove.
906         * m4/dotprod.m4: Remove.
907         * generated/dotprod_*.c: Remove.
908         * Makefile.am: Remove any references to dot_product
909         implementation.
910         * Makefile.in: Regenerated.
911         
912 2006-07-18  Paolo Bonzini  <bonzini@gnu.org>
914         * configure: Regenerate.
916 2006-07-15  Steven G. Kargl  <kargls@comcast.net>
918         * intrinsics/etime.c: Remove etime_
919         * libtool-version: Bump from libgfortran.so.1 to libgfortran.so.2
921 2006-07-12  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
923         PR fortran/28163
924         * intrinsics/string_intrinsics.c (copy_string): Remove function.
926 2006-07-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
928         * intrinsics/date_and_time.c (itime0,idate0,itime_i4,itime_i8,
929         idate_i4,idate_i8): New functions.
931 2006-07-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
933         PR libfortran/27704
934         * runtime/error.c (notify_std): Pass common flags into function. Use
935         flags to show locus of error or warning.
936         * libgfortran.h: Add enum try.  Add prototype for notify_std.
937         * io/open.c (edit_modes): Allow status="old" and add extension to
938         allow status="scratch"
939         *io/list_read.c (nml_read_obj): Update call to notify_std.
940         *io/io.h: Remove enum try and prototype for notify_std.
941         *io/transfer.c (read_sf): Update call to notify_std.
942         *io/format.c (parse_format_list): Update call to notify_std.
944 2006-06-25  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
946         * io/io.h: Move proto for unit_to_fd...
947         * libgfortran.h: ...here.
949 2006-06-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
951         * intrinsics/ierrno.c: Don't include "io/io.h".
952         * intrinsics/sleep.c: Likewise.
953         * intrinsics/perror.c: Likewise.
954         * intrinsics/stat.c: Likewise.
955         * intrinsics/kill.c: Likewise.
956         * intrinsics/time.c: Likewise.
957         * intrinsics/fnum.c: Likewise.
958         * intrinsics/rename.c: Likewise.
959         * intrinsics/symlnk.c: Likewise.
960         * intrinsics/chdir.c: Likewise.
961         * intrinsics/link.c: Likewise.
962         * intrinsics/random.c: Don't include "io/io.h". Include <gthr.h>.
963         * intrinsics/rand.c: Likewise.
965 2006-06-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
967         PR fortran/28094
968         * Makefile.am: Add _mod_r10.F90 and _mod_r16.F90.
969         * Makefile.in: Regenerate.
970         * generated/_mod_r10.F90: New file.
971         * generated/_mod_r16.F90: New file.
973 2006-06-22  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
975         PR libfortran/26769
976         * Makefile.am: Add r4 and r8 versions of reshape and transpose.
977         * Makefile.in: Regenerate.
978         * generated/reshape_r4.c: New file.
979         * generated/reshape_r8.c: New file.
980         * generated/transpose_r4.c: New file.
981         * generated/transpose_r8.c: New file.
983 2006-06-20  Paul Thomas  <pault@gcc.gnu.org>
985         PR libfortran/28005
986         * m4/matmul.m4: aystride = 1 does not uniquely detect the
987         presence of a temporary transpose; an array element in the
988         first dimension produces the same signature.  Detect this
989         using the rank of a and add specific code.
990         * generated/matmul_r4.c: Regenerate.
991         * generated/matmul_r8.c: Regenerate.
992         * generated/matmul_r10.c: Regenerate.
993         * generated/matmul_r16.c: Regenerate.
994         * generated/matmul_c4.c: Regenerate.
995         * generated/matmul_c8.c: Regenerate.
996         * generated/matmul_c10.c: Regenerate.
997         * generated/matmul_c16.c: Regenerate.
998         * generated/matmul_i4.c: Regenerate.
999         * generated/matmul_i8.c: Regenerate.
1000         * generated/matmul_i16.c: Regenerate.
1002 2006-06-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1004         PR libgomp/27254
1005         * io/unit.c (get_internal_unit): Initialize and lock thread mutex
1006         for internal units.
1008 2006-06-06  Janne Blomqvist  <jb@gcc.gnu.org>
1010         * m4/in_pack.m4: Add TODO comment about detecting temporaries,
1011         remove test for stride 0, update copyright year.
1012         * m4/transpose.m4: Remove test for stride 0, update copyright
1013         year.
1014         * m4/iforeach.m4: Likewise.
1015         * m4/shape.m4: Likewise.
1016         * m4/in_unpack.m4: Likewise.
1017         * m4/reshape.m4: Likewise.
1018         * m4/ifunction.m4: Likewise.
1019         * m4/matmul.m4: Likewise.
1020         * m4/matmull.m4: Likewise.
1021         * intrinsics/etime.c: Likewise.
1022         * intrinsics/transpose_generic.c: Likewise.
1023         * intrinsics/spread_generic.c: Likewise.
1024         * intrinsics/stat.c: Likewise.
1025         * intrinsics/reshape_generic.c: Likewise.
1026         * intrinsics/random.c: Likewise.
1027         * generated/*: Regenerated from above changed m4 files.
1028         
1029 2006-05-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1031         PR libfortran/27757
1032         * io/unix.c (fd_seek): Set active to zero.
1034 2006-05-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1036         PR libfortran/27634
1037         * io/format.c (parse_format_list): Allow missing period in format only
1038         if -std=legacy.
1040 2006-05-28  Thomas Koenig  <Thomas.Koenig@online.de>
1042         * intrinsics/string_intrinsics.c (compare_string):
1043         Use memcmp instead of strncmp to avoid tripping over
1044         CHAR(0) in a string.
1046 2006-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
1048         * io/io.h (find_or_create_unit): Correct export declaration.
1049         
1050 2006-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
1052         * intrinsics/abort.c (abort_): Remove.
1054 2006-05-26  Janne Blomqvist  <jb@gcc.gnu.org>
1056         * configure.ac: Remove AC_FUNC_MMAP.
1057         * configure: Regenerated.
1058         * Makefile.in: Regenerated.
1059         * config.h.in: Regenerated.
1060         * aclocal.m4: Regenerated.
1062 2006-05-25  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1064         * intrinsics/associated.c (associated): Zero-sized arrays should
1065         not be reported as ASSOCIATED.
1067 2006-05-24  Carlos O'Donell  <carlos@codesourcery.com>
1069         * Makefile.am: Add install-html target. Add install-html to .PHONY
1070         * Makefile.in: Regenerate.
1071         * aclocal.m4: Regenerate.
1072         
1073 2006-05-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1075         PR libfortran/24459
1076         * io/list_read.c (nml_parse_qualifier): Leave loop spec end value
1077         at default value unless -std=f95 or if an array section
1078         is specified in namelist input.  Warn if -pedantic.
1079         * io/io.h (st_parameter_dt): Add expanded_read flag.
1081 2006-05-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1083         PR libfortran/22423
1084         * io/transfer.c (read_block): Return NULL instead of nothing.
1085         
1086 2006-05-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1088         PR libfortran/27575
1089         * io/transfer.c (read_block):  Add check for end file condition.
1090         (read_block_direct): Add check for end file condition.
1092 2006-05-05  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1094         PR libfortran/26985
1095         * m4/matmul.m4: Correct the condition for the memset call,
1096         and remove the unneeded call to size0.
1097         * generated/matmul_r4.c: Regenerate.
1098         * generated/matmul_r8.c: Regenerate.
1099         * generated/matmul_r10.c: Regenerate.
1100         * generated/matmul_r16.c: Regenerate.
1101         * generated/matmul_c4.c: Regenerate.
1102         * generated/matmul_c8.c: Regenerate.
1103         * generated/matmul_c10.c: Regenerate.
1104         * generated/matmul_c16.c: Regenerate.
1105         * generated/matmul_i4.c: Regenerate.
1106         * generated/matmul_i8.c: Regenerate.
1107         * generated/matmul_i16.c: Regenerate.
1109 2006-04-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1111         PR libfortran/27360
1112         * io/list_read.c (read_logical):  Free line_buffer and free saved.
1114 2006-04-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1116         PR libfortran/27304
1117         * io/transfer.c (formatted_transfer_scalar):  Generate error if data
1118         descriptors are exhausted.
1119         * io/format.c (next_format0): Fix comment.
1121 2006-04-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1123         PR libfortran/20257
1124         * io/io.h: Add prototypes for get_internal_unit and free_internal_unit.
1125         * io/unit.c (get_internal_unit): Initialize unit number, not zero.
1126         (free_internal_unit): New function to consolidate freeing memory.
1127         (get_unit): Initialize internal_unit_desc to NULL when unit is
1128         external.
1129         * io/unix.c (mem_close): Check for not NULL before freeing memory.
1130         * io/transfer.c (read_block): Reset bytes_left and skip error if unit
1131         is preconnected and default record length is reached.
1132         (read_block_direct): Ditto.
1133         (write_block): Ditto.
1134         (write_buf): Ditto.
1135         (data_transfer_init): Only flush if not internal unit.
1136         (finalize_transfer): Ditto and delete code to free memory used by
1137         internal units.
1138         (st_read_done): Use new function - free_internal_unit.
1139         (st_write_done): Use new function - free_internal unit.
1141 2006-04-22  Jakub Jelinek  <jakub@redhat.com>
1143         PR fortran/26769
1144         * Makefile.am (i_transpose_c): Add generated/transpose_r16.c.
1145         (i_reshape_c): Add generated/reshape_r16.c.
1146         * Makefile.in: Regenerated.
1147         * generated/transpose_r16.c: Generated new file.
1148         * generated/redhape_r16.c: Generated new file.
1150 2006-04-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1152         PR libfortran/27138
1153         * io/list_read.c (eat_line): New function.
1154         (parse_repeat): Use new function and free_saved.
1155         (read_logical): Same.
1156         (read_integer): Use new function.
1157         (parse_real): Use nml_bad_return and new function.
1158         (read_complex): Use new function and free_saved.
1159         (read_real): Same.
1161 2006-04-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1163         PR libfortran/26766
1164         * io/io.h: Add bit to identify associated unit as internal.
1165         * io/unit.c (get_external_unit): Renamed the find_unit_1 function to
1166         reflect the external unit functionality vs internal unit.
1167         (get_internal_unit): New function to allocate and initialize an internal
1168         unit structure.
1169         (get_unit): Use get_internal_unit and get_external_unit.
1170         (is_internal_unit): Revised to use new bit added in io.h.
1171         * io/transfer.c (data_transfer_init): Fix line width.
1172         (st_read_done): Free memory allocated for internal unit.
1173         (st_write_done): Add test to only flush and truncate when not an
1174         internal unit.  Free memory allocated for internal unit.
1176 2006-04-11  Jakub Jelinek  <jakub@redhat.com>
1178         * io/io.h (st_parameter_dt): Revert 2005-12-10 change to
1179         u.pad, fix comment.
1180         (check_st_parameter_dt): New compile time assert.
1182 2006-04-10  Jakub Jelinek  <jakub@redhat.com>
1184         PR libfortran/24685
1185         * io/write.c (MIN_FIELD_WIDTH, STR, STR1): Define.
1186         (output_float): Increase buffer sizes for IEEE quad and IBM extended
1187         long double.
1188         (write_real): Output REAL(16) as 1PG43.34E4 rather than 1PG40.31E4.
1190 2006-04-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1192         PR libfortran/26890
1193         * io/io.h: Revert change to pad size made on 2006-03-30.
1194         Add comment explaining dependency with fortran/trans-io.c.
1195         
1196 2006-04-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1198         * io/write.c (output_float): Update condition to not error when
1199         decimal precision in format specifier is zero.
1201 2006-04-01  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1203         * config/fpu-387.h: Use previously added SSE code in all
1204         cases, as it really is the right thing to do.
1206 2006-03-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1208         PR libfortran/26890
1209         * io/io.h: Add size_used to st_parameter_dt, adjust pad size.
1210         *io/transfer.c (data_transfer_init): Initialize size_used to zero.
1211         (read_sf): Use size_used.
1212         (read_block): Likewise.
1213         (read_block_direct): Likewise.
1214         (write_block): Likewise.
1215         (write_buf): Likewise and eliminate erroneous FAILURE return.
1216         (finalize_transfer): Assign value of size_used to *dtp->size.
1218 2006-03-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1220         PR libfortran/26712
1221         * config/fpu-387.h: Add special case for handling of SSE
1222         control bit on i386-darwin.
1224 2006-03-30  Thomas Koenig  <Thomas.Koenig@online.de>
1226         PR fortran/25031
1227         * runtime/memory.c (allocate_array):  If stat is present and
1228         the variable is already allocated, free the variable, do
1229         the allocation and set stat.
1230         (allocate_array_64):  Likewise.  Whitespace fix.
1232 2006-03-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1234         PR libfortran/26880
1235         * io/file_pos.c (st_rewind): Clear read_bad flag.
1237 2006-03-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1239         PR libfortran/26661
1240         * io/io.h: Add read_sf so it can be used by read_x.
1241         * io/transfer.c (read_sf): Pass no_error flag to read_sf.  Use it to
1242         break out rather than error on EOF or EOR conditions.
1243         (read_block): Update call to read_sf.
1244         (read_block_direct): Ditto.
1245         * io/read.c (read_x): Use the modified read_sf instead of read_block.
1247 2006-03-25  Thomas Koenig  <Thomas.Koenig@online.de>
1249         PR libfortran/26735
1250         * io/transfer.c (data_transfer_init):  Set u_flags.convert
1251         on an unopened unit if specified by environment variable
1252         (via get_unformatted_convert) or by compile-time option.
1254 2006-03-25  Thomas Koenig  <Thomas.Koenig@online.de>
1256         PR fortran/26769
1257         * Makefile.am:  Add transpose_r10.c and reshape_r10.c.
1258         * aclocal.m4:  Regenerate using aclocal 1.9.3.
1259         * Makefile.in:  Regenerate using automake 1.9.3.
1260         * m4/iparm.m4 (rtype_ccode):  If rtype_letter is `i',
1261         evaluate to rtype_kind, otherwise to rtype_code.
1262         * generated/transpose_r10.c:  Add.
1263         * generated/reshape_r10.c:  Add.
1265 2006-03-22  Thomas Koenig  <Thomas.Koenig@online.de>
1267         PR fortran/19303
1268         * libgfortran.h (compile_options_t):  Add record_marker.
1269         * runtime/compile_options.c (set_record_marker):
1270         New function.
1271         * io/open.c:  If we have four-byte record markers, use
1272         GFC_INTEGER_4_HUGE as default record length.
1273         * io/file_pos.c (unformatted_backspace):  Handle
1274         different size record markers.
1275         * io/transfer.c (us_read):  Likewise.
1276         (us_write):  Likewise.
1277         (next_record_r):  Likewise.
1278         (write_us_marker):  Likewise.
1279         (next_record_w):  Likewise.
1281 2006-03-20  Thomas Koenig  <Thomas.Koenig@online.de>
1283         PR fortran/20935
1284         * m4/iforeach.m4:  Add SCALAR_FOREACH_FUNCTION macro.
1285         * m4/ifunction.m4:  Add SCALAR_ARRAY_FUNCTION macro.
1286         * m4/minloc0.m4:  Use SCALAR_FOREACH_FUNCTION.
1287         * m4/minloc1.m4:  Use SCALAR_ARRAY_FUNCTION.
1288         * m4/maxloc0.m4:  Use SCALAR_FOREACH_FUNCTION.
1289         * m4/maxloc1.m4:  Use SCALAR_ARRAY_FUNCTION.
1290         * m4/minval.m4:  Likewise.
1291         * m4/maxval.m4:  Likewise.
1292         * m4/product.m4:  Likewise.
1293         * m4/sum.m4:  Likewise.
1294         * minloc0_16_i16.c : Regenerated.
1295         * minloc0_16_i4.c : Regenerated.
1296         * minloc0_16_i8.c : Regenerated.
1297         * minloc0_16_r10.c : Regenerated.
1298         * minloc0_16_r16.c : Regenerated.
1299         * minloc0_16_r4.c : Regenerated.
1300         * minloc0_16_r8.c : Regenerated.
1301         * minloc0_4_i16.c : Regenerated.
1302         * minloc0_4_i4.c : Regenerated.
1303         * minloc0_4_i8.c : Regenerated.
1304         * minloc0_4_r10.c : Regenerated.
1305         * minloc0_4_r16.c : Regenerated.
1306         * minloc0_4_r4.c : Regenerated.
1307         * minloc0_4_r8.c : Regenerated.
1308         * minloc0_8_i16.c : Regenerated.
1309         * minloc0_8_i4.c : Regenerated.
1310         * minloc0_8_i8.c : Regenerated.
1311         * minloc0_8_r10.c : Regenerated.
1312         * minloc0_8_r16.c : Regenerated.
1313         * minloc0_8_r4.c : Regenerated.
1314         * minloc0_8_r8.c : Regenerated.
1315         * minloc1_16_i16.c : Regenerated.
1316         * minloc1_16_i4.c : Regenerated.
1317         * minloc1_16_i8.c : Regenerated.
1318         * minloc1_16_r10.c : Regenerated.
1319         * minloc1_16_r16.c : Regenerated.
1320         * minloc1_16_r4.c : Regenerated.
1321         * minloc1_16_r8.c : Regenerated.
1322         * minloc1_4_i16.c : Regenerated.
1323         * minloc1_4_i4.c : Regenerated.
1324         * minloc1_4_i8.c : Regenerated.
1325         * minloc1_4_r10.c : Regenerated.
1326         * minloc1_4_r16.c : Regenerated.
1327         * minloc1_4_r4.c : Regenerated.
1328         * minloc1_4_r8.c : Regenerated.
1329         * minloc1_8_i16.c : Regenerated.
1330         * minloc1_8_i4.c : Regenerated.
1331         * minloc1_8_i8.c : Regenerated.
1332         * minloc1_8_r10.c : Regenerated.
1333         * minloc1_8_r16.c : Regenerated.
1334         * minloc1_8_r4.c : Regenerated.
1335         * minloc1_8_r8.c : Regenerated.
1336         * maxloc0_16_i16.c : Regenerated.
1337         * maxloc0_16_i4.c : Regenerated.
1338         * maxloc0_16_i8.c : Regenerated.
1339         * maxloc0_16_r10.c : Regenerated.
1340         * maxloc0_16_r16.c : Regenerated.
1341         * maxloc0_16_r4.c : Regenerated.
1342         * maxloc0_16_r8.c : Regenerated.
1343         * maxloc0_4_i16.c : Regenerated.
1344         * maxloc0_4_i4.c : Regenerated.
1345         * maxloc0_4_i8.c : Regenerated.
1346         * maxloc0_4_r10.c : Regenerated.
1347         * maxloc0_4_r16.c : Regenerated.
1348         * maxloc0_4_r4.c : Regenerated.
1349         * maxloc0_4_r8.c : Regenerated.
1350         * maxloc0_8_i16.c : Regenerated.
1351         * maxloc0_8_i4.c : Regenerated.
1352         * maxloc0_8_i8.c : Regenerated.
1353         * maxloc0_8_r10.c : Regenerated.
1354         * maxloc0_8_r16.c : Regenerated.
1355         * maxloc0_8_r4.c : Regenerated.
1356         * maxloc0_8_r8.c : Regenerated.
1357         * maxloc1_16_i16.c : Regenerated.
1358         * maxloc1_16_i4.c : Regenerated.
1359         * maxloc1_16_i8.c : Regenerated.
1360         * maxloc1_16_r10.c : Regenerated.
1361         * maxloc1_16_r16.c : Regenerated.
1362         * maxloc1_16_r4.c : Regenerated.
1363         * maxloc1_16_r8.c : Regenerated.
1364         * maxloc1_4_i16.c : Regenerated.
1365         * maxloc1_4_i4.c : Regenerated.
1366         * maxloc1_4_i8.c : Regenerated.
1367         * maxloc1_4_r10.c : Regenerated.
1368         * maxloc1_4_r16.c : Regenerated.
1369         * maxloc1_4_r4.c : Regenerated.
1370         * maxloc1_4_r8.c : Regenerated.
1371         * maxloc1_8_i16.c : Regenerated.
1372         * maxloc1_8_i4.c : Regenerated.
1373         * maxloc1_8_i8.c : Regenerated.
1374         * maxloc1_8_r10.c : Regenerated.
1375         * maxloc1_8_r16.c : Regenerated.
1376         * maxloc1_8_r4.c : Regenerated.
1377         * maxloc1_8_r8.c : Regenerated.
1378         * maxval_i16.c : Regenerated.
1379         * maxval_i4.c : Regenerated.
1380         * maxval_i8.c : Regenerated.
1381         * maxval_r10.c : Regenerated.
1382         * maxval_r16.c : Regenerated.
1383         * maxval_r4.c : Regenerated.
1384         * maxval_r8.c : Regenerated.
1385         * minval_i16.c : Regenerated.
1386         * minval_i4.c : Regenerated.
1387         * minval_i8.c : Regenerated.
1388         * minval_r10.c : Regenerated.
1389         * minval_r16.c : Regenerated.
1390         * minval_r4.c : Regenerated.
1391         * minval_r8.c : Regenerated.
1392         * sum_c10.c : Regenerated.
1393         * sum_c16.c : Regenerated.
1394         * sum_c4.c : Regenerated.
1395         * sum_c8.c : Regenerated.
1396         * sum_i16.c : Regenerated.
1397         * sum_i4.c : Regenerated.
1398         * sum_i8.c : Regenerated.
1399         * sum_r10.c : Regenerated.
1400         * sum_r16.c : Regenerated.
1401         * sum_r4.c : Regenerated.
1402         * sum_r8.c : Regenerated.
1403         * product_c10.c : Regenerated.
1404         * product_c16.c : Regenerated.
1405         * product_c4.c : Regenerated.
1406         * product_c8.c : Regenerated.
1407         * product_i16.c : Regenerated.
1408         * product_i4.c : Regenerated.
1409         * product_i8.c : Regenerated.
1410         * product_r10.c : Regenerated.
1411         * product_r16.c : Regenerated.
1412         * product_r4.c : Regenerated.
1413         * product_r8.c : Regenerated.
1415 2006-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1417         PR libfortran/26509
1418         * libgfortran.h: Add ERROR_DIRECT_EOR.
1419         * runtime/error.c (translate_error): Add translation for new error.
1420         * io/transfer.c (write_buf): Add check for EOR when mode is 
1421         direct access.
1423 2006-03-13  Paul Thomas  <pault@gcc.gnu.org>
1425         PR fortran/25378
1426         * libgfortran/m4/minloc1.m4: Set the initial position to zero and
1427         modify the condition for updating it, to implement the F2003
1428         requirement for all(mask).eq.false.
1429         * libgfortran/m4/maxloc1.m4: The same.
1430         * libgfortran/m4/iforeach.m4: The same.
1431         * libgfortran/m4/minloc0.m4: The same.
1432         * libgfortran/m4/maxloc0.m4: The same.
1433         * libgfortran/generated/maxloc0_16_i16.c: Regenerated, together
1434         with 41 others.
1435         * libgfortran/generated/minloc0_16_i16.c: Regenerated, together
1436         with 41 others.
1438 2006-03-09  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1440         PR libfortran/26499
1441         * io/file_pos (st_rewind): Flush always.
1442         * io/unix.c (fd_truncate): Return SUCCESS rather than FAILURE for
1443         special files like /dev/null.
1444         * io/transfer.c (st_write_done): Remove broken logic that
1445         prevented calling fd_truncate.
1447 2006-03-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1449         PR libfortran/26554
1450         * io/list_read.c (read_logical): Return the value if not in namelist
1451         mode.
1453 2006-03-03  Thomas Koenig  <Thomas.Koenig@online.de>
1455         PR fortran/25031
1456         * runtime/memory.c:  Adjust copyright years.
1457         (allocate_array):  New function.
1458         (allocate64_array):  New function.
1459         * libgfortran.h (error_codes):  Add ERROR_ALLOCATION.
1461 2006-02-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1463         PR libfortran/26136
1464         * io/io.h: Add flag for reading from line_buffer.
1465         * io/list_read.c (l_push_char): New function to save namelist
1466         input when reading logicals.
1467         (free_line): New function to free line_buffer memory.
1468         (next_char): Added feature to read from line_buffer.
1469         (read_logical): Use new functions to test for '=' after reading a
1470         logical value, checking for possible variable name.
1471         (namelist_read): Use free_line when all done.
1473 2006-02-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1475         PR libfortran/26464
1476         * io/file_pos.c (st_backspace): Flush and truncate file
1477         when in AFTER_ENDFILE condition.
1478         * io/transfer.c (st_read_done): Remove flush, no longer needed.
1480 2006-02-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1482         PR libfortran/26423
1483         * io/unix.c (fd_seek): Revert change from 25949.
1484         (fd_read): Same.
1485         (fd_write): Same.
1487 2006-02-19  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1489         * io/open.c (edit_modes): Correct abusive copy-pasting.
1491 2006-02-16  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1493         PR libfortran/24903
1494         * m4/dotprodc.m4: Use __builtin_conj instead of assigning real
1495         and imaginary parts separately.
1496         * generated/dotprod_c4.c: Regenerated.
1497         * generated/dotprod_c8.c: Regenerated.
1498         * generated/dotprod_c10.c: Regenerated.
1499         * generated/dotprod_c16.c: Regenerated.
1501 2006-02-12  Janne Blomqvist  <jb@gcc.gnu.org>
1503         PR libfortran/25949
1504         * io/io.h: Add set function pointer to struct stream.  
1505         * io/unix.c (fd_seek): Only update offset, don't seek.
1506         (fd_sset): New function.
1507         (fd_read): Call lseek directly if necessary.
1508         (fd_write): Likewise.
1509         (fd_open): Set pointer to fd_sset.
1510         (mem_set): New function.
1511         (open_internal): Set pointer to mem_set.
1512         * io/transfer.c (write_block_direct): Rename to write_buf, add
1513         error return, non-pointer length argument.
1514         (unformatted_write): Update to use write_buf.
1515         (us_write): Simplify by using swrite instead of salloc_w.
1516         (write_us_marker): New function.
1517         (new_record_w): Use sset instead of memset, use write_us_marker,
1518         simplify by using swrite instead of salloc_w.
1520 2006-02-08  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1522         PR libfortran/25425
1523         * libgfortran.h: Add pedantic field to compile_options struct.
1524         * io/write.c (calculate_G_format): Depending on the standard,
1525         choose E or F format for list-directed output of 0.0.
1526         * runtime/error.c (notify_std): Make warning and error dependent
1527         on pedanticity.
1528         * runtime/compile_options.c (set_std): Use new pedantic argument.
1530 2006-02-07  Dale Ranta  <dir@lanl.gov>
1532         PR fortran/25577
1533         * intrinsics/mvbits.c: Shift '(TYPE)1' type when building 'lenmask'.
1535 2006-02-07  Rainer Emrich <r.emrich@de.tecosim.com>
1537         * intrinsics/c99_functions.c: Work around incompatible
1538         declarations of cabs{,f,l} on pre-C99 IRIX systems.
1540 2005-02-06  Thomas Koenig  <Thomas.Koenig@online.de>
1542         PR libfortran/23815
1543         * runtime/environ.c (init_unformatted):  Add GFORTRAN_CONVERT_UNIT
1544         environment variable.
1545         (top level):  Add defines, type and static variables for
1546         GFORTRAN_CONVERT_UNIT handling.
1547         (search_unit):  New function.
1548         (match_word): New function.
1549         (match_integer): New function.
1550         (next_token): New function.
1551         (push_token): New function.
1552         (mark_single): New function.
1553         (mark_range): New funciton.
1554         (do_parse): New function.
1555         (init_unformatted): New function.
1556         (get_unformatted_convert): New function.
1557         * runtime/compile_options.c:  Add set_convert().
1558         * libgfortran.h:  Add convert to compile_options_t.
1559         * io/open.c (st_open): Call get_unformatted_convert to get
1560         unit default; if CONVERT_NONE is returned, check for
1561         the presence of a CONVERT specifier and use it.
1562         As default, use compile_options.convert.
1563         * io/io.h (top level): Add CONVERT_NONE to unit_convert, to signal
1564         "nothing has been set".
1565         (top level): Add prototype for get_unformatted_convert.
1567 2006-02-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
1569         PR libfortran/24685
1570         * io/write.c (write_real): Widen the default format for real(10)
1571         variables output.
1573 2006-01-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1575         PR libfortran/25835
1576         * io/transfer.c (st_read_done): Flush buffers when read is done.
1578 2006-01-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1580         PR libfortran/25697
1581         * io/transfer.c (us_read): Detect end of file condition from previous
1582         operations and bail out (no need to pre-position).
1584 2006-01-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1586         PR libfortran/25631
1587         * io/transfer.c (formatted_transfer_scalar): Adjust pending_spaces and
1588         skips so that TL works correctly when no bytes_used yet.  
1590 2006-01-16  Roger Sayle  <roger@eyesopen.com>
1592         * configure.ac (CFLAGS): Update to include -std=gnu99 so that
1593         the configure tests will be run with the same environment as
1594         used to compile the libgfortran source code.
1595         * configure: Regenerate.
1597 2006-01-12  Roger Sayle  <roger@eyesopen.com>
1599         * intrinsics/c99_functions.c: Add function prototypes to avoid
1600         warnings from -Wstrict-prototypes -Wmissing-prototypes.  On Tru64
1601         work around a brain-dead libm by redirecting calls to cabs{,f,l}
1602         to a local __gfc_cabs{,f,l}.
1604 2006-01-07  Janne Blomqvist  <jb@gcc.gnu.org>
1606         * configure.ac: Remove check for sys/mman.h.
1607         * configure: Regenerated.
1608         * Makefile.in: Regenerated.
1609         * config.h.in: Regenerated.
1610         * aclocal.m4: Regenerated.
1611         
1612 2006-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1614         PR libfortran/25598
1615         * io/file_pos.c (unformatted_backspace): Assure the new file position
1616         to seek is not less than zero.
1617         (st_backspace): Set unit bytes_left to zero.
1618         * io/transfer.c (next_record_r): Fix line lengths, no functional change.
1620 2006-01-02  Paolo Bonzini  <bonzini@gnu.org>
1622         PR target/25259
1623         * configure.ac: Use GCC_HEADER_STDINT.
1624         * libgfortran.h: Include gstdint.h.
1625         * aclocal.m4: Regenerate.
1626         * configure: Regenerate.
1628 2006-01-01  Steven G. Kargl  <kargls@comcast.net>
1630         * ChangeLog: Split into years ...
1631         * ChangeLog-2002: here.
1632         * ChangeLog-2003: here.
1633         * ChangeLog-2004: here.
1634         * ChangeLog-2005: here.
1637 Copyright (C) 2006 Free Software Foundation, Inc.
1639 Copying and distribution of this file, with or without modification,
1640 are permitted in any medium without royalty provided the copyright
1641 notice and this notice are preserved.