OSDN Git Service

2008-06-13 Tobias Burnus <burnus@net-b.de>
[pf3gnuchains/gcc-fork.git] / libgfortran / ChangeLog
1 2008-06-13  Tobias Burnus  <burnus@net-b.de>
2
3         * configure.ac (AM_CFLAGS): Remove -Werror again.
4         * configure: Regenerate.
5
6 2008-06-13  Tobias Burnus  <burnus@net-b.de>
7
8         PR libgfortran/36518
9         * configure.ac (AM_CFLAGS): Add -Werror.
10         * configure: Regenerate.
11         * m4/ifunction_logical.m4: Cast "n" to "(int)".
12         * generated/any_l16.c: Regenerate.
13         * generated/any_l2.c: Regenerate.
14         * generated/all_l1.c: Regenerate.
15         * generated/all_l2.c: Regenerate.
16         * generated/all_l16.c: Regenerate.
17         * generated/any_l4.c: Regenerate.
18         * generated/count_4_l.c: Regenerate.
19         * generated/count_8_l.c: Regenerate.
20         * generated/all_l4.c: Regenerate.
21         * generated/count_1_l.c: Regenerate.
22         * generated/count_16_l.c: Regenerate.
23         * generated/any_l8.c: Regenerate.
24         * generated/count_2_l.c: Regenerate.
25         * generated/any_l1.c: Regenerate.
26         * generated/all_l8.c: Regenerate.
27
28 2008-06-13  Tobias Burnus  <burnus@net-b.de>
29
30         PR fortran/36495
31         * configure.ac (AM_FCFLAGS): Add "-Werror -fimplicit-none".
32         * configure: (generated) ditto.
33         * intrinsics/dprod_r8.f90: Add "implicit none".
34
35 2008-06-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
36
37         PR libfortran/36420
38         PR libfortran/36421
39         PR libfortran/36422
40         * io/io.h: Add prototype for write_real.
41         * io/transfer.c (formatted_transfer_scalar): For FMT_G and width zero,
42         use write_real.
43         * io/format.c: Add zero width error message. (parse_format_list): Use
44         error message for FMT_A if followed by FMT_ZERO. Use zero width error
45         message for FMT_G if mode is READ or if -std=f95 or f2003. (fmormat0):
46         Fix typo in comment.
47         * io/write.c(write_a): Set wlen to len if FMT_G and length is zero.
48         (write_l): Add wlen variable and use it if FMT_G and width is zero.
49         (write_decimal): If FMT_G, set m to -1 to flag processor dependent
50         formatting. (write_real): Remove static declaration.
51
52 2008-05-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
53
54         PR fortran/36319
55         * intrinsics/string_intrinsics_inc.c (string_index): Return
56         correct value for zero-length substring.
57         * intrinsics/cshift0.c: Add _char4 variant.
58         * intrinsics/eoshift0.c (eoshift0): Allow filler to be a pattern
59         wider than a single byte. Add _char4 variant and use above
60         functionality.
61         * intrinsics/eoshift2.c (eoshift2): Likewise.
62         * m4/eoshift1.m4: Likewise.
63         * m4/eoshift3.m4: Likewise.
64         * m4/cshift1.m4: Add _char4 variants.
65         * gfortran.map (GFORTRAN_1.1): Add _gfortran_cshift0_1_char4,
66         _gfortran_cshift0_2_char4, _gfortran_cshift0_4_char4,
67         _gfortran_cshift0_8_char4, _gfortran_cshift1_16_char4,
68         _gfortran_cshift1_4_char4, _gfortran_cshift1_8_char4,
69         _gfortran_eoshift0_1_char4, _gfortran_eoshift0_2_char4,
70         _gfortran_eoshift0_4_char4, _gfortran_eoshift0_8_char4,
71         _gfortran_eoshift1_16_char4, _gfortran_eoshift1_4_char4,
72         _gfortran_eoshift1_8_char4, _gfortran_eoshift2_1_char4,
73         _gfortran_eoshift2_2_char4, _gfortran_eoshift2_4_char4,
74         _gfortran_eoshift2_8_char4, _gfortran_eoshift3_16_char4,
75         _gfortran_eoshift3_4_char4 and _gfortran_eoshift3_8_char4.
76         * generated/eoshift3_4.c: Regenerate.
77         * generated/eoshift1_8.c: Regenerate.
78         * generated/eoshift1_16.c: Regenerate.
79         * generated/cshift1_4.c: Regenerate.
80         * generated/eoshift1_4.c: Regenerate.
81         * generated/eoshift3_8.c: Regenerate.
82         * generated/eoshift3_16.c: Regenerate.
83         * generated/cshift1_8.c: Regenerate.
84         * generated/cshift1_16.c: Regenerate.
85
86 2008-05-25  Tobias Burnus  <burnus@net-b.de>
87
88         PR fortran/32600
89         * intrinsics/iso_c_binding.c (c_f_procpointer): Remove.
90         * intrinsics/iso_c_binding.h (c_f_procpointer): Remove.
91         * gfortran.map (c_f_procpointer): Remove.
92
93 2008-05-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
94
95         PR libgfortran/36302
96         * gfortran.map (GFORTRAN_1.1): Add _gfortran_eoshift0_16,
97         _gfortran_eoshift0_16_char, _gfortran_eoshift2_16,
98         _gfortran_eoshift2_16_char,_gfortran_cshift0_16,
99         _gfortran_cshift0_16_char.  Sort alphabetically.
100         * intrinsics/eoshift0.c:  Add function for kind=16 integer.
101         * intrinsics/eoshift2.c:  Likewise.
102         * intrinsics/cshift0.c:  Likewise.
103
104 2008-05-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
105
106         * m4/in_pack.m4 (internal_pack_'rtype_code`):  Destination
107         pointer is restrict.
108         * m4/transpose.m4 (transpose_'rtype_code`):  Likewise.
109         * m4/pack.m4 (pack_'rtype_code`):  Likewise.
110         * m4/spread.m4 (spread_'rtype_code`):  Likewise.
111         (spread_scalar_'rtype_code`): Likewise.
112         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Likewise.
113         * m4/eoshift1.m4 (eoshift1):  Likewise.
114         * m4/eoshift3.m4 (eoshift3):  Likewise.
115         * m4/in_unpack.m4 (internal_unpack_'rtype_ccode`):  Likewise.
116         * m4/unpack.m4 (unpack0_'rtype_code`):  Likewise.
117         (unpack1_'rtype_code`):  Likewise.
118         * intrinsics/pack_generic.c (pack_generic.c):  Likewise.
119         * intrinsics/unpack_generic.c (unpack_internal):  Likewise.
120         * intrinsics/eoshift0.c (eoshift0):  Likewise.
121         * intrinsics/eoshift2.c (eoshift2):  Likewise.
122         * intrinsics/reshape_generic.c (reshape_internal):  Likewise.
123         * intrinsics/reshape_packed.c (reshape_packed):  Likewise.
124         * generated/eoshift1_16.c: Regenerated.
125         * generated/eoshift1_4.c: Regenerated.
126         * generated/eoshift1_8.c: Regenerated.
127         * generated/eoshift3_16.c: Regenerated.
128         * generated/eoshift3_4.c: Regenerated.
129         * generated/eoshift3_8.c: Regenerated.
130         * generated/in_pack_c10.c: Regenerated.
131         * generated/in_pack_c16.c: Regenerated.
132         * generated/in_pack_c4.c: Regenerated.
133         * generated/in_pack_c8.c: Regenerated.
134         * generated/in_pack_i1.c: Regenerated.
135         * generated/in_pack_i16.c: Regenerated.
136         * generated/in_pack_i2.c: Regenerated.
137         * generated/in_pack_i4.c: Regenerated.
138         * generated/in_pack_i8.c: Regenerated.
139         * generated/in_pack_r10.c: Regenerated.
140         * generated/in_pack_r16.c: Regenerated.
141         * generated/in_pack_r4.c: Regenerated.
142         * generated/in_pack_r8.c: Regenerated.
143         * generated/in_unpack_c10.c: Regenerated.
144         * generated/in_unpack_c16.c: Regenerated.
145         * generated/in_unpack_c4.c: Regenerated.
146         * generated/in_unpack_c8.c: Regenerated.
147         * generated/in_unpack_i1.c: Regenerated.
148         * generated/in_unpack_i16.c: Regenerated.
149         * generated/in_unpack_i2.c: Regenerated.
150         * generated/in_unpack_i4.c: Regenerated.
151         * generated/in_unpack_i8.c: Regenerated.
152         * generated/in_unpack_r10.c: Regenerated.
153         * generated/in_unpack_r16.c: Regenerated.
154         * generated/in_unpack_r4.c: Regenerated.
155         * generated/in_unpack_r8.c: Regenerated.
156         * generated/maxloc0_16_i1.c: Regenerated.
157         * generated/maxloc0_16_i16.c: Regenerated.
158         * generated/maxloc0_16_i2.c: Regenerated.
159         * generated/maxloc0_16_i4.c: Regenerated.
160         * generated/maxloc0_16_i8.c: Regenerated.
161         * generated/maxloc0_16_r10.c: Regenerated.
162         * generated/maxloc0_16_r16.c: Regenerated.
163         * generated/maxloc0_16_r4.c: Regenerated.
164         * generated/maxloc0_16_r8.c: Regenerated.
165         * generated/maxloc0_4_i1.c: Regenerated.
166         * generated/maxloc0_4_i16.c: Regenerated.
167         * generated/maxloc0_4_i2.c: Regenerated.
168         * generated/maxloc0_4_i4.c: Regenerated.
169         * generated/maxloc0_4_i8.c: Regenerated.
170         * generated/maxloc0_4_r10.c: Regenerated.
171         * generated/maxloc0_4_r16.c: Regenerated.
172         * generated/maxloc0_4_r4.c: Regenerated.
173         * generated/maxloc0_4_r8.c: Regenerated.
174         * generated/maxloc0_8_i1.c: Regenerated.
175         * generated/maxloc0_8_i16.c: Regenerated.
176         * generated/maxloc0_8_i2.c: Regenerated.
177         * generated/maxloc0_8_i4.c: Regenerated.
178         * generated/maxloc0_8_i8.c: Regenerated.
179         * generated/maxloc0_8_r10.c: Regenerated.
180         * generated/maxloc0_8_r16.c: Regenerated.
181         * generated/maxloc0_8_r4.c: Regenerated.
182         * generated/maxloc0_8_r8.c: Regenerated.
183         * generated/minloc0_16_i1.c: Regenerated.
184         * generated/minloc0_16_i16.c: Regenerated.
185         * generated/minloc0_16_i2.c: Regenerated.
186         * generated/minloc0_16_i4.c: Regenerated.
187         * generated/minloc0_16_i8.c: Regenerated.
188         * generated/minloc0_16_r10.c: Regenerated.
189         * generated/minloc0_16_r16.c: Regenerated.
190         * generated/minloc0_16_r4.c: Regenerated.
191         * generated/minloc0_16_r8.c: Regenerated.
192         * generated/minloc0_4_i1.c: Regenerated.
193         * generated/minloc0_4_i16.c: Regenerated.
194         * generated/minloc0_4_i2.c: Regenerated.
195         * generated/minloc0_4_i4.c: Regenerated.
196         * generated/minloc0_4_i8.c: Regenerated.
197         * generated/minloc0_4_r10.c: Regenerated.
198         * generated/minloc0_4_r16.c: Regenerated.
199         * generated/minloc0_4_r4.c: Regenerated.
200         * generated/minloc0_4_r8.c: Regenerated.
201         * generated/minloc0_8_i1.c: Regenerated.
202         * generated/minloc0_8_i16.c: Regenerated.
203         * generated/minloc0_8_i2.c: Regenerated.
204         * generated/minloc0_8_i4.c: Regenerated.
205         * generated/minloc0_8_i8.c: Regenerated.
206         * generated/minloc0_8_r10.c: Regenerated.
207         * generated/minloc0_8_r16.c: Regenerated.
208         * generated/minloc0_8_r4.c: Regenerated.
209         * generated/minloc0_8_r8.c: Regenerated.
210         * generated/pack_c10.c: Regenerated.
211         * generated/pack_c16.c: Regenerated.
212         * generated/pack_c4.c: Regenerated.
213         * generated/pack_c8.c: Regenerated.
214         * generated/pack_i1.c: Regenerated.
215         * generated/pack_i16.c: Regenerated.
216         * generated/pack_i2.c: Regenerated.
217         * generated/pack_i4.c: Regenerated.
218         * generated/pack_i8.c: Regenerated.
219         * generated/pack_r10.c: Regenerated.
220         * generated/pack_r16.c: Regenerated.
221         * generated/pack_r4.c: Regenerated.
222         * generated/pack_r8.c: Regenerated.
223         * generated/spread_c10.c: Regenerated.
224         * generated/spread_c16.c: Regenerated.
225         * generated/spread_c4.c: Regenerated.
226         * generated/spread_c8.c: Regenerated.
227         * generated/spread_i1.c: Regenerated.
228         * generated/spread_i16.c: Regenerated.
229         * generated/spread_i2.c: Regenerated.
230         * generated/spread_i4.c: Regenerated.
231         * generated/spread_i8.c: Regenerated.
232         * generated/spread_r10.c: Regenerated.
233         * generated/spread_r16.c: Regenerated.
234         * generated/spread_r4.c: Regenerated.
235         * generated/spread_r8.c: Regenerated.
236         * generated/transpose_c10.c: Regenerated.
237         * generated/transpose_c16.c: Regenerated.
238         * generated/transpose_c4.c: Regenerated.
239         * generated/transpose_c8.c: Regenerated.
240         * generated/transpose_i16.c: Regenerated.
241         * generated/transpose_i4.c: Regenerated.
242         * generated/transpose_i8.c: Regenerated.
243         * generated/transpose_r10.c: Regenerated.
244         * generated/transpose_r16.c: Regenerated.
245         * generated/transpose_r4.c: Regenerated.
246         * generated/transpose_r8.c: Regenerated.
247         * generated/unpack_c10.c: Regenerated.
248         * generated/unpack_c16.c: Regenerated.
249         * generated/unpack_c4.c: Regenerated.
250         * generated/unpack_c8.c: Regenerated.
251         * generated/unpack_i1.c: Regenerated.
252         * generated/unpack_i16.c: Regenerated.
253         * generated/unpack_i2.c: Regenerated.
254         * generated/unpack_i4.c: Regenerated.
255         * generated/unpack_i8.c: Regenerated.
256         * generated/unpack_r10.c: Regenerated.
257         * generated/unpack_r16.c: Regenerated.
258         * generated/unpack_r4.c: Regenerated.
259         * generated/unpack_r8.c: Regenerated.
260
261 2008-05-18  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
262
263         * runtime/select.c: Moved content to select_inc.c. Include it. 
264         Add macros for different character types.
265         * runtime/select_inc.c: New file.
266         * runtime/convert_char.c: New file.
267         * intrinsics/pack_generic.c (pack_char4, pack_s_char4): New
268         functions.
269         * intrinsics/transpose_generic.c (transpose_char4): New function.
270         * intrinsics/spread_generic.c (spread_char4, spread_char4_scalar):
271         New functions.
272         * intrinsics/unpack_generic.c (unpack1_char4, unpack0_char4): 
273         New functions.
274         * intrinsics/reshape_generic.c (reshape_char): Use
275         gfc_charlen_type as type for length variables.
276         (reshape_char4): New function.
277         * gfortran.map (GFORTRAN_1.1): Add _gfortran_select_string_char4,
278         _gfortran_convert_char1_to_char4, _gfortran_convert_char4_to_char1,
279         _gfortran_transpose_char4, _gfortran_spread_char4,
280         _gfortran_spread_char4_scalar, _gfortran_reshape_char4,
281         _gfortran_pack_char4, _gfortran_pack_s_char4,
282         _gfortran_unpack0_char4 and _gfortran_unpack1_char4.
283         * Makefile.am: Add runtime/convert_char.c.
284         * Makefile.in: Regenerate.
285
286 2008-05-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
287
288         * io/list_read.c (list_formatted_read_scalar):  Declare
289         type as volatile to shut up compiler warning.
290
291 2008-05-16  Janne Blomqvist  <jb@gcc.gnu.org>
292
293         PR libfortran/25561
294         * io/io.h (struct fbuf): Change pointer to position offset.
295         * io/fbuf.c (fbuf_init): Reduce default size of buffer, ptr=>pos
296         changes.
297         (fbuf_reset): ptr=>pos changes.
298         (fbuf_alloc): If the request doesn't fit, don't waste memory by
299         keeping flushed bytes. ptr=>pos changes.
300         (fbuf_flush): ptr=>pos changes.
301         (fbuf_seek): Don't seek past the left tab limit, don't update active
302         byte count.
303         * io/open.c (new_unit): If RECL has been specified, used that as
304         initial buffer size.
305
306 2008-05-16  Janne Blomqvist  <jb@gcc.gnu.org>
307
308         PR libfortran/35632
309         * io/open.c (new_unit): Set stream position to correct value.
310
311 2008-05-15  Janne Blomqvist  <jb@gcc.gnu.org>
312
313         PR libfortran/25561
314         * Makefile.am: Add fbuf.c to gfor_io_src.
315         * Makefile.in: Regenerate.
316         * io/io.h (read_block): Remove.
317         (struct stream): Remove alloc_r_at function pointer.
318         (salloc_r): Remove.
319         (salloc_r_at): Remove.
320         (salloc_w_at): Remove.
321         (salloc_w): Remove offset argument.
322         (struct fbuf): New struct for format buffer.
323         (struct gfc_unit): Add fbuf.
324         (read_block_form): New prototype.
325         (fbuf_init): Likewise.
326         (fbuf_destroy): Likewise.
327         (fbuf_reset): Likewise.
328         (fbuf_alloc): Likewise.
329         (fbuf_flush): Likewise.
330         (fbuf_seek): Likewise.
331         * io/file_pos.c (formatted_backspace): Change to use sread.
332         (unformatted_backspace): Likewise.
333         (st_backspace): Flush format buffer.
334         (st_rewind): Likewise.
335         * io/list_read.c (next_char): Likewise.
336         (nml_query): Tidying, flush format buffer.
337         * io/open.c (new_unit): Init format buffer.
338         * io/read.c (read_l): Change to use read_block_form.
339         (read_a): Likewise.
340         (read_decimal): Likewise.
341         (read_radix): Likewise.
342         (read_f): Likewise.
343         (read_x): Empty reads also for stream I/O.
344         * io/transfer.c (read_sf): Change to use sread.
345         (read_block): Rename to read_block_form, change prototype, use sread.
346         (read_block_direct): Don't seek stream files.
347         (write_block): Change to use fbuf if external file, don't seek stream
348         files.
349         (write_buf): Don't seek stream files.
350         (formatted_transfer_scalar): Use fbuf for external files.
351         (us_read): Change to use sread.
352         (pre_position): Do nothing for stream I/O.
353         (data_transfer_init): Flush fbuf when switching from write to read, if
354         POS is specified, seek stream file to correct offset.
355         (skip_record): Change to use sread.
356         (min_off): New function.
357         (next_record_r): Change to use sread.
358         (next_record_w): Change to use sset/sseek, flush fbuf.
359         (finalize_transfer): Flush fbuf.
360         * io/unit.c (init_units): Init fbuf for stdout, stderr.
361         (close_unit_1): Destroy fbuf.
362         (finish_last_advance_record): Flush fbuf, no need to seek.
363         * io/unix.c (fd_alloc_r_at): Remove unused where argument.
364         (fd_alloc_w_at): Likewise.
365         (fd_read): Remove third argument to fd_alloc_r_at.
366         (fd_write): Remove third argument to fd_alloc_w_at.
367         (fd_sset): Likewise.
368         (fd_open): Don't set alloc_r_at.
369         (mem_alloc_r_at): Remove unused where argument.
370         (mem_alloc_w_at): Likewise.
371         (mem_read): Don't incorrectly return previous errno, remove unused
372         third argument to alloc function.
373         (mem_write): Likewise.
374         (mem_set): Likewise.
375         (open_internal): Don't set alloc_r_at pointer.
376         * io/fbuf.c: New file.
377
378 2008-05-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
379
380         * libgfortran.h (gfc_char4_t): New type.
381         (GFC_SIZE_OF_CHAR_KIND): New macro.
382         (compare_string): Adjust prototype.
383         (compare_string_char4): New prototype.
384         * gfortran.map (GFORTRAN_1.1): Add _gfortran_adjustl_char4,
385         _gfortran_adjustr_char4, _gfortran_compare_string_char4,
386         _gfortran_concat_string_char4, _gfortran_string_index_char4,
387         _gfortran_string_len_trim_char4, _gfortran_string_minmax_char4,
388         _gfortran_string_scan_char4, _gfortran_string_trim_char4 and
389         _gfortran_string_verify_char4.
390         * intrinsics/string_intrinsics_inc.c: New file from content of
391         string_intrinsics.c with types replaced by macros.
392         * intrinsics/string_intrinsics.c: Move content to
393         string_intrinsics_inc.c.
394
395 2008-05-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
396
397         PR libfortran/36202
398         * io/list_read (eat_separator): Handle the CR-LF case correctly.
399
400 2008-05-09  Julian Brown  <julian@codesourcery.com>
401
402         * Makefile.am (LTLDFLAGS): New.
403         (libgfortran_la_LDFLAGS): Use above.
404         * Makefile.in: Regenerate.
405
406 2008-05-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
407
408         PR libfortran/36131
409         * io/transfer.c (formatted_transfer_scalar): Revert patch for PR34974.
410         (next_record_w): Likewise.
411
412 2008-05-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
413
414         PR libfortran/35995
415         * m4/ifunction_logical.m4:  If the extent of "array"
416         is less than zero, set it to zero.  Use an explicit
417         flag for breaking out of the main loop to avoid, because
418         the data pointer for "array" may be NULL for an empty
419         array.
420         * m4/ifunction.m4:  Likewise.
421         * generated/all_l1.c: Regenerated.
422         * generated/all_l16.c: Regenerated.
423         * generated/all_l2.c: Regenerated.
424         * generated/all_l4.c: Regenerated.
425         * generated/all_l8.c: Regenerated.
426         * generated/any_l1.c: Regenerated.
427         * generated/any_l16.c: Regenerated.
428         * generated/any_l2.c: Regenerated.
429         * generated/any_l4.c: Regenerated.
430         * generated/any_l8.c: Regenerated.
431         * generated/count_16_l.c: Regenerated.
432         * generated/count_1_l.c: Regenerated.
433         * generated/count_2_l.c: Regenerated.
434         * generated/count_4_l.c: Regenerated.
435         * generated/count_8_l.c: Regenerated.
436         * generated/maxloc1_16_i1.c: Regenerated.
437         * generated/maxloc1_16_i16.c: Regenerated.
438         * generated/maxloc1_16_i2.c: Regenerated.
439         * generated/maxloc1_16_i4.c: Regenerated.
440         * generated/maxloc1_16_i8.c: Regenerated.
441         * generated/maxloc1_16_r10.c: Regenerated.
442         * generated/maxloc1_16_r16.c: Regenerated.
443         * generated/maxloc1_16_r4.c: Regenerated.
444         * generated/maxloc1_16_r8.c: Regenerated.
445         * generated/maxloc1_4_i1.c: Regenerated.
446         * generated/maxloc1_4_i16.c: Regenerated.
447         * generated/maxloc1_4_i2.c: Regenerated.
448         * generated/maxloc1_4_i4.c: Regenerated.
449         * generated/maxloc1_4_i8.c: Regenerated.
450         * generated/maxloc1_4_r10.c: Regenerated.
451         * generated/maxloc1_4_r16.c: Regenerated.
452         * generated/maxloc1_4_r4.c: Regenerated.
453         * generated/maxloc1_4_r8.c: Regenerated.
454         * generated/maxloc1_8_i1.c: Regenerated.
455         * generated/maxloc1_8_i16.c: Regenerated.
456         * generated/maxloc1_8_i2.c: Regenerated.
457         * generated/maxloc1_8_i4.c: Regenerated.
458         * generated/maxloc1_8_i8.c: Regenerated.
459         * generated/maxloc1_8_r10.c: Regenerated.
460         * generated/maxloc1_8_r16.c: Regenerated.
461         * generated/maxloc1_8_r4.c: Regenerated.
462         * generated/maxloc1_8_r8.c: Regenerated.
463         * generated/maxval_i1.c: Regenerated.
464         * generated/maxval_i16.c: Regenerated.
465         * generated/maxval_i2.c: Regenerated.
466         * generated/maxval_i4.c: Regenerated.
467         * generated/maxval_i8.c: Regenerated.
468         * generated/maxval_r10.c: Regenerated.
469         * generated/maxval_r16.c: Regenerated.
470         * generated/maxval_r4.c: Regenerated.
471         * generated/maxval_r8.c: Regenerated.
472         * generated/minloc1_16_i1.c: Regenerated.
473         * generated/minloc1_16_i16.c: Regenerated.
474         * generated/minloc1_16_i2.c: Regenerated.
475         * generated/minloc1_16_i4.c: Regenerated.
476         * generated/minloc1_16_i8.c: Regenerated.
477         * generated/minloc1_16_r10.c: Regenerated.
478         * generated/minloc1_16_r16.c: Regenerated.
479         * generated/minloc1_16_r4.c: Regenerated.
480         * generated/minloc1_16_r8.c: Regenerated.
481         * generated/minloc1_4_i1.c: Regenerated.
482         * generated/minloc1_4_i16.c: Regenerated.
483         * generated/minloc1_4_i2.c: Regenerated.
484         * generated/minloc1_4_i4.c: Regenerated.
485         * generated/minloc1_4_i8.c: Regenerated.
486         * generated/minloc1_4_r10.c: Regenerated.
487         * generated/minloc1_4_r16.c: Regenerated.
488         * generated/minloc1_4_r4.c: Regenerated.
489         * generated/minloc1_4_r8.c: Regenerated.
490         * generated/minloc1_8_i1.c: Regenerated.
491         * generated/minloc1_8_i16.c: Regenerated.
492         * generated/minloc1_8_i2.c: Regenerated.
493         * generated/minloc1_8_i4.c: Regenerated.
494         * generated/minloc1_8_i8.c: Regenerated.
495         * generated/minloc1_8_r10.c: Regenerated.
496         * generated/minloc1_8_r16.c: Regenerated.
497         * generated/minloc1_8_r4.c: Regenerated.
498         * generated/minloc1_8_r8.c: Regenerated.
499         * generated/minval_i1.c: Regenerated.
500         * generated/minval_i16.c: Regenerated.
501         * generated/minval_i2.c: Regenerated.
502         * generated/minval_i4.c: Regenerated.
503         * generated/minval_i8.c: Regenerated.
504         * generated/minval_r10.c: Regenerated.
505         * generated/minval_r16.c: Regenerated.
506         * generated/minval_r4.c: Regenerated.
507         * generated/minval_r8.c: Regenerated.
508         * generated/product_c10.c: Regenerated.
509         * generated/product_c16.c: Regenerated.
510         * generated/product_c4.c: Regenerated.
511         * generated/product_c8.c: Regenerated.
512         * generated/product_i1.c: Regenerated.
513         * generated/product_i16.c: Regenerated.
514         * generated/product_i2.c: Regenerated.
515         * generated/product_i4.c: Regenerated.
516         * generated/product_i8.c: Regenerated.
517         * generated/product_r10.c: Regenerated.
518         * generated/product_r16.c: Regenerated.
519         * generated/product_r4.c: Regenerated.
520         * generated/product_r8.c: Regenerated.
521         * generated/sum_c10.c: Regenerated.
522         * generated/sum_c16.c: Regenerated.
523         * generated/sum_c4.c: Regenerated.
524         * generated/sum_c8.c: Regenerated.
525         * generated/sum_i1.c: Regenerated.
526         * generated/sum_i16.c: Regenerated.
527         * generated/sum_i2.c: Regenerated.
528         * generated/sum_i4.c: Regenerated.
529         * generated/sum_i8.c: Regenerated.
530         * generated/sum_r10.c: Regenerated.
531         * generated/sum_r16.c: Regenerated.
532         * generated/sum_r4.c: Regenerated.
533         * generated/sum_r8.c: Regenerated.
534
535 2008-05-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
536
537         PR libfortran/35990
538         * intrinsics/pack_generic.c:  Really commit.
539
540 2008-05-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
541
542         PR libfortran/35990
543         * intrinsics/pack_generic.c:  If an extent of the source
544         array is less then zero, set it to zero.  Set the source
545         pointer to NULL if the source size is zero.  Set the total
546         number of elements to zero if the vector has an extent
547         less or equal to zero.
548         * m4/pack.m4:  Set the source pointer to NULL if the
549         source array is zero-sized.  Set the total number of
550         elemements to zero if the vector has an extent less or
551         equal to zero.
552         * generated/pack_i1.c:  Regenerated.
553         * generated/pack_i2.c:  Regenerated.
554         * generated/pack_i4.c:  Regenerated.
555         * generated/pack_i8.c:  Regenerated.
556         * generated/pack_i16.c:  Regenerated.
557         * generated/pack_r4.c:  Regenerated.
558         * generated/pack_r8.c:  Regenerated.
559         * generated/pack_r10.c:  Regenerated.
560         * generated/pack_r16.c:  Regenerated.
561         * generated/pack_c4.c:  Regenerated.
562         * generated/pack_c8.c:  Regenerated.
563         * generated/pack_c10.c:  Regenerated.
564         * generated/pack_c16.c:  Regenerated.
565
566 2008-05-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
567
568         PR libfortran/36094
569         * runtime/error.c (show_locus): Provide modified error message when
570         filename has not yet been associated with a unit number.
571         * io/open.c (encoding_opt[]): Comment out "utf-8" option and add TODO.
572
573 2008-04-30  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
574
575         * intrinsics/selected_char_kind.c: New file.
576         * gfortran.map (GFORTRAN_1.1): Add _gfortran_selected_char_kind.
577         * Makefile.am: Add intrinsics/selected_char_kind.c.
578         * Makefile.in: Regenerate.
579
580 2008-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
581
582         PR libfortran/35993
583         * ifunction.m4 (SCALAR_ARRAY_FUNCTION):  Use correct
584         implementation for multi-dimensional return arrays when
585         the mask is .false.
586         * generated/maxloc1_16_i1.c: Regenerated.
587         * generated/maxloc1_16_i16.c: Regenerated.
588         * generated/maxloc1_16_i2.c: Regenerated.
589         * generated/maxloc1_16_i4.c: Regenerated.
590         * generated/maxloc1_16_i8.c: Regenerated.
591         * generated/maxloc1_16_r10.c: Regenerated.
592         * generated/maxloc1_16_r16.c: Regenerated.
593         * generated/maxloc1_16_r4.c: Regenerated.
594         * generated/maxloc1_16_r8.c: Regenerated.
595         * generated/maxloc1_4_i1.c: Regenerated.
596         * generated/maxloc1_4_i16.c: Regenerated.
597         * generated/maxloc1_4_i2.c: Regenerated.
598         * generated/maxloc1_4_i4.c: Regenerated.
599         * generated/maxloc1_4_i8.c: Regenerated.
600         * generated/maxloc1_4_r10.c: Regenerated.
601         * generated/maxloc1_4_r16.c: Regenerated.
602         * generated/maxloc1_4_r4.c: Regenerated.
603         * generated/maxloc1_4_r8.c: Regenerated.
604         * generated/maxloc1_8_i1.c: Regenerated.
605         * generated/maxloc1_8_i16.c: Regenerated.
606         * generated/maxloc1_8_i2.c: Regenerated.
607         * generated/maxloc1_8_i4.c: Regenerated.
608         * generated/maxloc1_8_i8.c: Regenerated.
609         * generated/maxloc1_8_r10.c: Regenerated.
610         * generated/maxloc1_8_r16.c: Regenerated.
611         * generated/maxloc1_8_r4.c: Regenerated.
612         * generated/maxloc1_8_r8.c: Regenerated.
613         * generated/maxval_i1.c: Regenerated.
614         * generated/maxval_i16.c: Regenerated.
615         * generated/maxval_i2.c: Regenerated.
616         * generated/maxval_i4.c: Regenerated.
617         * generated/maxval_i8.c: Regenerated.
618         * generated/maxval_r10.c: Regenerated.
619         * generated/maxval_r16.c: Regenerated.
620         * generated/maxval_r4.c: Regenerated.
621         * generated/maxval_r8.c: Regenerated.
622         * generated/minloc1_16_i1.c: Regenerated.
623         * generated/minloc1_16_i16.c: Regenerated.
624         * generated/minloc1_16_i2.c: Regenerated.
625         * generated/minloc1_16_i4.c: Regenerated.
626         * generated/minloc1_16_i8.c: Regenerated.
627         * generated/minloc1_16_r10.c: Regenerated.
628         * generated/minloc1_16_r16.c: Regenerated.
629         * generated/minloc1_16_r4.c: Regenerated.
630         * generated/minloc1_16_r8.c: Regenerated.
631         * generated/minloc1_4_i1.c: Regenerated.
632         * generated/minloc1_4_i16.c: Regenerated.
633         * generated/minloc1_4_i2.c: Regenerated.
634         * generated/minloc1_4_i4.c: Regenerated.
635         * generated/minloc1_4_i8.c: Regenerated.
636         * generated/minloc1_4_r10.c: Regenerated.
637         * generated/minloc1_4_r16.c: Regenerated.
638         * generated/minloc1_4_r4.c: Regenerated.
639         * generated/minloc1_4_r8.c: Regenerated.
640         * generated/minloc1_8_i1.c: Regenerated.
641         * generated/minloc1_8_i16.c: Regenerated.
642         * generated/minloc1_8_i2.c: Regenerated.
643         * generated/minloc1_8_i4.c: Regenerated.
644         * generated/minloc1_8_i8.c: Regenerated.
645         * generated/minloc1_8_r10.c: Regenerated.
646         * generated/minloc1_8_r16.c: Regenerated.
647         * generated/minloc1_8_r4.c: Regenerated.
648         * generated/minloc1_8_r8.c: Regenerated.
649         * generated/minval_i1.c: Regenerated.
650         * generated/minval_i16.c: Regenerated.
651         * generated/minval_i2.c: Regenerated.
652         * generated/minval_i4.c: Regenerated.
653         * generated/minval_i8.c: Regenerated.
654         * generated/minval_r10.c: Regenerated.
655         * generated/minval_r16.c: Regenerated.
656         * generated/minval_r4.c: Regenerated.
657         * generated/minval_r8.c: Regenerated.
658         * generated/product_c10.c: Regenerated.
659         * generated/product_c16.c: Regenerated.
660         * generated/product_c4.c: Regenerated.
661         * generated/product_c8.c: Regenerated.
662         * generated/product_i1.c: Regenerated.
663         * generated/product_i16.c: Regenerated.
664         * generated/product_i2.c: Regenerated.
665         * generated/product_i4.c: Regenerated.
666         * generated/product_i8.c: Regenerated.
667         * generated/product_r10.c: Regenerated.
668         * generated/product_r16.c: Regenerated.
669         * generated/product_r4.c: Regenerated.
670         * generated/product_r8.c: Regenerated.
671         * generated/sum_c10.c: Regenerated.
672         * generated/sum_c16.c: Regenerated.
673         * generated/sum_c4.c: Regenerated.
674         * generated/sum_c8.c: Regenerated.
675         * generated/sum_i1.c: Regenerated.
676         * generated/sum_i16.c: Regenerated.
677         * generated/sum_i2.c: Regenerated.
678         * generated/sum_i4.c: Regenerated.
679         * generated/sum_i8.c: Regenerated.
680         * generated/sum_r10.c: Regenerated.
681         * generated/sum_r16.c: Regenerated.
682         * generated/sum_r4.c: Regenerated.
683         * generated/sum_r8.c: Regenerated.
684
685 2008-04-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
686
687         PR libfortran/35960
688         * m4/reshape.m4:  Fix typo in last commit.
689         * generated/reshape_i4.c:  Regererated.
690         * generated/reshape_i8.c:  Regenerated.
691         * generated/reshape_i16.c:  Regenerated.
692         * generated/reshape_r4.c:  Regenerated.
693         * generated/reshape_r8.c:  Regenerated.
694         * generated/reshape_r10.c:  Regenerated.
695         * generated/reshape_r16.c:  Regenerated.
696         * generated/reshape_c4.c:  Regenerated.
697         * generated/reshape_c8.c:  Regenerated.
698         * generated/reshape_c10.c:  Regenerated.
699         * generated/reshape_c16.c:  Regenerated.
700
701 2008-04-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
702
703         * intrinsics/time_1.h (__time_1): Remove unused variable.
704
705 2008-04-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
706
707         PR libfortran/35988
708         * m4/matmul.m4:  Only issue a runtime error if extents are
709         non-zero.
710         * generated/matmul_i1.c:  Regenerated.
711         * generated/matmul_i2.c:  Regenerated.
712         * generated/matmul_i4.c:  Regenerated.
713         * generated/matmul_i8.c:  Regenerated.
714         * generated/matmul_i16.c:  Regenerated.
715         * generated/matmul_r4.c:  Regenerated.
716         * generated/matmul_r8.c:  Regenerated.
717         * generated/matmul_r10.c:  Regenerated.
718         * generated/matmul_r16.c:  Regenerated.
719         * generated/matmul_c4.c:  Regenerated.
720         * generated/matmul_c8.c:  Regenerated.
721         * generated/matmul_c10.c:  Regenerated.
722         * generated/matmul_c16.c:  Regenerated.
723
724 2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
725
726         * acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY)
727         (LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT)
728         (LIBGFOR_CHECK_ATTRIBUTE_ALIAS, LIBGFOR_CHECK_SYNC_FETCH_AND_ADD)
729         (LIBGFOR_GTHREAD_WEAK, LIBGFOR_CHECK_UNLINK_OPEN_FILE)
730         (LIBGFOR_CHECK_CRLF, LIBGFOR_CHECK_FOR_BROKEN_ISFINITE)
731         (LIBGFOR_CHECK_FOR_BROKEN_ISNAN)
732         (LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY, LIBGFOR_CHECK_WORKING_STAT)
733         (LIBGFOR_CHECK_FPSETMASK, LIBGFOR_CHECK_MINGW_SNPRINTF):
734         Fix cache variable names.
735         * configure, Makefile.in: Regenerate.
736
737 2008-04-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
738
739         PR fortran/35991
740         * intrinsics/cshift0.c (cshift0): Avoid divide by zero.
741
742 2008-04-20  Thomas Koenig  <tkoenig@gcc.gnu.org>
743
744         PR libfortran/35960
745         * intrinsics/reshape_generic.c (reshape_internal): If the size
746         of the resized array is zero, as determined by the SHAPE
747         argument, return early.
748         * m4/reshape.m4:  Likewise.
749         * generated/reshape_i4.c:  Regererated.
750         * generated/reshape_i8.c:  Regenerated.
751         * generated/reshape_i16.c:  Regenerated.
752         * generated/reshape_r4.c:  Regenerated.
753         * generated/reshape_r8.c:  Regenerated.
754         * generated/reshape_r10.c:  Regenerated.
755         * generated/reshape_r16.c:  Regenerated.
756         * generated/reshape_c4.c:  Regenerated.
757         * generated/reshape_c8.c:  Regenerated.
758         * generated/reshape_c10.c:  Regenerated.
759         * generated/reshape_c16.c:  Regenerated.
760
761 2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
762
763         PR bootstrap/35457
764         * aclocal.m4: Regenerate.
765         * configure: Regenerate.
766
767 2008-04-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
768
769         PR libfortran/32972
770         * intrinsics/spread_generic.c (spread):  Use spread_i2()
771         for GFC_DTYPE_DERIVED_2 (fix typo from previous commit).
772
773 2008-04-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
774         Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
775
776         PR libfortran/32972
777         PR libfortran/32512
778         configure.ac:  Add test for uintptr_t.
779         configure:  Regenerated.
780         config.h.in:  Regenerated.
781         * libgfortran.h: GFC_DTYPE_DERIVED_1:  New macro.
782         GFC_DTYPE_DERIVED_2:  New macro.
783         GFC_DTYPE_DERIVED_4:  New macro.
784         GFC_DTYPE_DERIVED_8:  New macro.
785         GFC_DTYPE_DERIVED_16:  New macro.
786         GFC_UNALIGNED_2:  New macro.
787         GFC_UNALIGNED_4:  New macro.
788         GFC_UNALIGNED_8:  New macro.
789         GFC_UNALIGNED_16:  New macro.
790         intptr_t:  Define if we don't have it.
791         uintptr_t:  Likewise.
792         * runtime/backtrace.c (show_backtrace):  Use intptr_t.
793         * intrinsics/signal.c (signal_sub):  Likewise.
794         (signal_sub_int):  Likewise.
795         (alarm_sub_int_i4):  Likewise.
796         * intrinsics/spread_generic.c (spread):  Use the integer
797         routines for handling derived types of sizes 1, 2, 4, 8 and 16
798         if the alignment of all pointers is correct.
799         (spread_scalar):  Likewise.
800         * intrinsics/pack_generic.c (pack):  Likewise.
801         Use GFD_DTYPE_TYPE_SIZE to avoid nested switch statements.
802         * intrinsics/unpack_generic.c (unpack1):  Likewise.
803         (unpack0):  Likewise.
804         * runtime/in_pack_generic.c (internal_pack):  Likewise.
805         * runtime/in_unpack_generic.c (internal_unpack):  Likewise.
806
807 2008-04-09  Jakub Jelinek  <jakub@redhat.com>
808
809         * io/list_read.c (snprintf): Define if HAVE_SNPRINTF isn't defined.
810         (nml_read_obj): Add nml_err_msg_size argument.  Pass it down to
811         recursive call.  Use snprintf instead of sprintf when %s nl->var_name
812         is used.
813         (nml_get_obj_data): Add nml_err_msg_size argument.  Pass it down to
814         nml_read_obj call.  Use snprintf instead of sprintf when %s
815         nl->var_name is used.  Pass nml_err_msg to nml_parse_qualifier instead
816         of parse_err_msg array.  Append " for namelist variable " and
817         nl->var_name to it.
818         (namelist_read): Increase size of nml_err_msg array to 200.  Pass
819         sizeof nml_err_msg as extra argument to nml_get_obj_data.
820
821 2008-04-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
822
823         PR fortran/25829 28655
824         * io/open.c (edit_modes): Set flags.async. (new_unit) Set flags.async
825         and flags.status. (st_open): Initialize flags.async.
826         * io/list_read.c (read_charactor): Use delim_status instead of
827         flags.delim.
828         * io/read.c (read_x): Use pad_status instead of flags.pad.
829         * io/inquire.c (inquire_via_unit): Add new checks.
830         (inquire_via_filename): Likewise.
831         * io/io.h (st_parameter_inquire): Add new flags.
832         (st_parameter_dt): Likewise.
833         * io/unit.c (get_internal_unit): Set flags.async. (init_units): Set
834         flags.async.
835         * io/transfer.c: Add delim and pad option arrays. (read_sf): Use
836         pad_status instead of flags.pad. (read_block): Likewise.
837         (data_transfer_init): Set flags.async and add checks.
838         * io/write.c (write_character): Use delim_status.
839         (list_formatted_write_scalar): Likewise. (nml_write_obj): Likewise.
840         (namelist_write): Likewise.
841
842 2008-04-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
843
844         PR fortran/25829 28655
845         * gfortran.map: Add new symbol, _gfortran_st_wait.
846         * libgfortran.h (st_paramter_common): Add new I/O parameters.
847         * open.c (st_option decimal_opt[], st_option encoding_opt[],
848         st_option round_opt[], st_option sign_opt[], st_option async_opt[]): New
849         parameter option arrays. (edit_modes): Add checks for new parameters.
850         (new_unit): Likewise. (st_open): Likewise.
851         * list_read.c (CASE_SEPERATORS): Add ';' as a valid separator.
852         (eat_separator): Handle deimal comma. (read_logical): Fix whitespace.
853         (parse_real): Handle decimal comma. (read_real): Handle decimal comma.
854         * read.c (read_a): Use decimal status flag to allow comma in place of a
855         decimal point. (read_f): Allow comma as acceptable character in float.
856         According to decimal flag, substitute a period for a comma.
857         (read_x): If decimal status flag is comma, disable the read_comma flag,
858         not allowing comma as a delimiter, an extension otherwise.
859         * io.h: (unit_decimal, unit_encoding, unit_round, unit_sign,
860         unit_async): New enumerators. Add all new I/O parameters.
861         * unix.c (unix_stream, int_stream): Add io_mode asychronous I/O control.
862         (move_pos_offset, fd_alloc_w_at): Fix some whitespace.
863         (fd_sfree): Use new enumerator. (fd_read): Likewise.
864         (fd_write): Likewise. (fd_close): Fix whitespace.
865         (fd_open): Use new enumertors. (tempfile, regular_file,
866         open_external): Fix whitespace. (output_stream, error_stream): Set
867         method. (stream_offset): Fix whitespace.
868         * transfer.c: (st_option decimal_opt[], sign_opt[], blank_opt[]): New
869         option arrays.  (formatted_transfer_scalar): Set sf_read_comma flag
870         based on new decimal_status flag. (data_transfer_init): Initialize new
871         parameters. Add checks for decimal, sign, and blank. (st_wait): New stub.
872         * format.c: (format_lex): Add format specifiers DP, DC, and D.
873         (parse_format_list): Parse the new specifiers.
874         * write.c (write_decimal): Use new sign enumerators to set the sign.
875         (write_complex): Handle decimal comma and semi-colon separator.
876         (nml_write_obj): Likewise.
877         * write_float.def: Revise sign enumerators. (calculate_sign): Use new
878         sign enumerators. (output_float): Likewise. Use new decimal_status flag
879         to set the decimal character to a point or a comma.
880         
881 2008-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
882
883         PR libfortran/32972
884         PR libfortran/32512
885         * Makefile.am:  Add new variable, i_spread_c, containing
886         pack_i1.c, pack_i2.c, pack_i4.c, pack_i8.c, spread_i16.c,
887         spread_r4.c, spread_r8.c, spread_r10.c, spread_r16.c,
888         spread_c4.c, spread_c8.c, spread_c10.c, spread_c16.c.
889         * Makefile.in:  Regenerated.
890         * libgfortran.h:  Add prototypes for spread_i1, spread_i2,
891         spread_i4, spread_i8, spread_i16, spread_r4, spread_r8,
892         spread_c4, spread_c8, spread_c10, spread_c16,
893         spread_scalar_i1, spread_scalar_i2, spread_scalar_i4,
894         spread_scalar_i8, spread_scalar_i16, spread_scalar_r4
895         spread_scalar_r8, spread_scalar_c4, spread_scalar_c8,
896         spread_scalar_c10 and spread_scalar_c16.
897         Add macros to isolate both type and size information
898         from array descriptors with a single mask operation.
899         * intrinsics/spread_generic.c:  Add calls to specific
900         spread functions.
901         * m4/spread.m4:  New file.
902         * generated/spread_i1.c:  New file.
903         * generated/spread_i2.c:  New file.
904         * generated/spread_i4.c:  New file.
905         * generated/spread_i8.c:  New file.
906         * generated/spread_i16.c:  New file.
907         * generated/spread_r4.c:  New file.
908         * generated/spread_r8.c:  New file.
909         * generated/spread_r10.c:  New file.
910         * generated/spread_r16.c:  New file.
911         * generated/spread_c4.c:  New file.
912         * generated/spread_c8.c:  New file.
913         * generated/spread_c10.c:  New file.
914         * generated/spread_c16.c:  New file.
915
916 2008-03-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
917
918         PR libfortran/35699
919         * io/transfer.c (write_buf):  Don't pad the record, just return if the
920         data is NULL.  (next_record_w): If there are bytes left in the record
921         for unformatted direct I/O, pad out the record with zero bytes.
922
923 2008-03-28  Tobias Burnus  <burnus@net-b.de>
924
925         PR fortran/35721
926         * intrinsics/associated.c (associated): Ignore different
927         stride of pointer vs. target if only one element is referred.
928
929 2008-03-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
930
931         * io/unix.c (fd_close):  Do not close STDIN.
932
933 2007-03-23  Thomas Koenig  <tkoenig@gcc.gnu.org
934
935         PR libfortran/32972
936         * Makefile.am:  Add new variable, i_unpack_c, containing
937         unpack_i1.c, unpack_i2.c, unpack_i4.c, unpack_i8.c,
938         unpack_i16.c, unpack_r4.c, unpack_r8.c, unpack_r10.c,
939         unpack_r16.c, unpack_c4.c, unpack_c8.c, unpack_c10.c
940         and unpack_c16.c
941         Add i_unpack_c to gfor_built_src.
942         Add rule to generate i_unpack_c from m4/unpack.m4.
943         * Makefile.in:  Regenerated.
944         * libgfortran.h: Add prototypes for unpack0_i1, unpack0_i2,
945         unpack0_i4, unpack0_i8, unpack0_i16, unpack0_r4, unpack0_r8,
946         unpack0_r10, unpack0_r16, unpack0_c4, unpack0_c8, unpack0_c10,
947         unpack0_c16, unpack1_i1, unpack1_i2, unpack1_i4, unpack1_i8,
948         unpack1_i16, unpack1_r4, unpack1_r8, unpack1_r10, unpack1_r16,
949         unpack1_c4, unpack1_c8, unpack1_c10 and unpack1_c16.
950         * intrinsics/pack_generic.c (unpack1):  Add calls to specific
951         unpack1 functions.
952         (unpack0):  Add calls to specific unpack0 functions.
953         * m4/unpack.m4:  New file.
954         * generated/unpack_i1.c:  New file.
955         * generated/unpack_i2.c:  New file.
956         * generated/unpack_i4.c:  New file.
957         * generated/unpack_i8.c:  New file.
958         * generated/unpack_i16.c:  New file.
959         * generated/unpack_r4.c:  New file.
960         * generated/unpack_r8.c:  New file.
961         * generated/unpack_r10.c:  New file.
962         * generated/unpack_r16.c:  New file.
963         * generated/unpack_c4.c:  New file.
964         * generated/unpack_c8.c:  New file.
965         * generated/unpack_c10.c:  New file.
966         * generated/unpack_c16.c:  New file.
967
968 2008-03-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
969
970         PR libfortran/35632
971         * io/transfer.c (data_transfer_init):  Fix whitespace.
972         (next_record_w): Truncate the file only if the stream
973         position is short of the file end.
974
975 2008-03-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
976
977         * intrinsics/pack_generic.c:  Fix typo.
978
979 2008-03-21  Janne Blomqvist  <jb@gcc.gnu.org>
980
981         * gfortran.map: Move erfc_scaled symbols to new symbol node
982         GFORTRAN_1.1, thereby fixing ABI bug introduced in r132846.
983
984 2008-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
985
986         PR libfortran/32972
987         * runtime/in_pack_generic.c (internal_pack):  Call correct
988         function, pack_i16, for GFC_INTEGER_16.
989
990 2008-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
991
992         PR libfortran/32972
993         * Makefile.am:  Add new variable, i_pack_c, containing
994         pack_i1.c, pack_i2.c, pack_i4.c, pack_i8.c, pack_i16.c,
995         pack_r4.c, pack_r8.c, pack_r10.c, pack_r16.c, pack_c4.c,
996         pack_c8.c, pack_c10.c, pack_c16.c.
997         Add m4/pack.m4 to m4_files.
998         Add i_pack_c to gfor_built_src.
999         Add rule to generate i_pack_c from m4/pack.m4.
1000         * Makefile.in:  Regenerated.
1001         * libgfortran.h: Add prototypes for pack_i1, pack_i2, pack_i4,
1002         pack_i8, pack_i16, pack_r4, pack_r8, pack_c4, pack_c8,
1003         pack_c10, pack_c16.
1004         * intrinsics/pack_generic.c:  Add calls to specific
1005         pack functions.
1006         * m4/pack.m4:  New file.
1007         * generated/pack_i1.c:  New file.
1008         * generated/pack_i2.c:  New file.
1009         * generated/pack_i4.c:  New file.
1010         * generated/pack_i8.c:  New file.
1011         * generated/pack_i16.c:  New file.
1012         * generated/pack_r4.c:  New file.
1013         * generated/pack_r8.c:  New file.
1014         * generated/pack_r10.c:  New file.
1015         * generated/pack_r16.c:  New file.
1016         * generated/pack_c4.c:  New file.
1017         * generated/pack_c8.c:  New file.
1018         * generated/pack_c10.c:  New file.
1019         * generated/pack_c16.c:  New file.
1020
1021 2008-03-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1022
1023         PR libfortran/35627
1024         * io/list_read.c (free_line): Clear the line buffer enable flag and
1025         reset the index into line_buffer, aka item_count.
1026         (next_char): Cleanup whitespace.
1027         (read_logical): Use unget_char to assure that the first character of the
1028         bad logical is saved in case it is part of an object name. Remove the
1029         clearing of index and flag that is now in free_line.
1030         (read_real): Likewise.
1031
1032 2008-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
1033
1034         PR libfortran/32972
1035         * runtime/in_pack_generic.c (internal_pack):  Fix typo in
1036         last commit.
1037
1038 2008-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
1039
1040         PR libfortran/32972
1041         * Makefile.am (in_pack_c): Add in_pack_i1.c, in_pack_i2.c,
1042         in_pack_r4.c, in_pack_r8.c, in_pack_r10.c and in_pack_r16.c.
1043         (in_unpack_c): Add in_unpack_i1.c, in_unpack_i2.c,
1044         in_unpack_r4.c, in_unpack_r8.c, in_unpack_r10.c and
1045         in_unpack_r16.c.
1046         * Makefile.in: Regenerate.
1047         * libgfortran.h:  Add prototypes for internal_pack_1,
1048         internal_pack_2, internal_pack_16, internal_pack_r4,
1049         internal_pack_r8, internal_pack_r10, internal_pack_r16,
1050         internal_pack_c10 and internal_pack_c16.  Add prototypes for
1051         internal_unpack_1, internal_unpack_2, internal_unpack_16,
1052         internal_unpack_r4, internal_unpack_r8, internal_unpack_r10,
1053         internal_unpack_r16, internal_unpack_c10 and
1054         internal_unpack_c16.
1055         * runtime/in_pack_generic.c (internal_pack): Use sizeof instead
1056         of hardwired sizes.
1057         Add calls to internal_pack_1, internal_pack_2,
1058         internal_pack_16, internal_pack_r4, internal_pack_r8,
1059         internal_pack_r10, internal_pack_r16, internal_pack_c10 and
1060         internal_pack_c16.
1061         * runtime/in_unpack_generic.c (internal_unpack):  Use sizeof
1062         instead of hardwired sizes.
1063         Add calls to internal_unpack_1, internal_unpack_2,
1064         internal_unpack_16, internal_unpack_r4, internal_unpack_r8,
1065         internal_unpack_r10, internal_unpack_r16, internal_unpack_c10
1066         and internal_unpack_c16.
1067         * generated/in_pack_r4.c:  New file.
1068         * generated/in_pack_i2.c:  New file.
1069         * generated/in_unpack_i1.c:  New file.
1070         * generated/in_pack_r10.c:  New file.
1071         * generated/in_unpack_r4.c:  New file.
1072         * generated/in_unpack_i2.c:  New file.
1073         * generated/in_unpack_r16.c:  New file.
1074         * generated/in_pack_r8.c:  New file.
1075         * generated/in_unpack_r10.c:  New file.
1076         * generated/in_unpack_r8.c:  New file.
1077         * generated/in_pack_r16.c:  New file.
1078         * generated/in_pack_i1.c:  New file.
1079
1080 2008-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1081
1082         PR libfortran/35617
1083         * io/list_read.c (eat_separator): If next character after eatline is '!'
1084         then eatline again. 
1085
1086 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1087
1088         * aclocal.m4: Regenerate.
1089         * configure: Likewise.
1090         * Makefile.in: Likewise.
1091
1092 2008-03-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1093
1094         PR libfortran/35524
1095         * intrinsics/erfc_scaled_inc.c: Only define the long double
1096         variant of erfc_scaled if expl is available.
1097
1098 2008-03-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1099
1100         PR libfortran/32812
1101         * intrinsics/random.c (scramble_seed, unscramble_seed): New
1102         functions.
1103         (random_seed_i4): Scramble the seed the user gives us before
1104         storing it, and unscramble it when we return it back later.
1105
1106 2008-03-05  Hans-Peter Nilsson  <hp@axis.com>
1107
1108         PR libfortran/35293
1109         * io/unix.c (fd_truncate): Fold s->special_file case into
1110         success case of ftruncate/chsize call instead of the failure case.
1111         Make failure case actually return failure.  Properly update stream
1112         pointers on failure.  Call runtime_error for targets without
1113         neither ftruncate nor chsize where such a call would be needed.
1114
1115 2008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1116
1117         PR fortran/33197
1118         * intrinsics/erfc_scaled_inc.c: New file.
1119         * intrinsics/erfc_scaled.c: New file.
1120         * gfortran.map (GFORTRAN_1.0): Add _gfortran_erfc_scaled_r*.
1121         * Makefile.am: Add intrinsics/erfc_scaled.c.
1122         * config.h.in: Regenerate.
1123         * configure: Regenerate.
1124         * Makefile.in: Regenerate.
1125
1126 2008-03-01  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1127
1128         PR libfortran/35355
1129         * intrinsics/time_1.h (__time_1): Fix calculation of user_usec
1130         for mingw.
1131
1132 2008-03-01  Janne Blomqvist  <jb@gcc.gnu.org>
1133
1134         PR libfortran/35063
1135         * io/unit.c (destroy_unit_mutex): Call __gthread_mutex_destroy
1136         instead of macro kludge.
1137         
1138 2008-02-25  Janne Blomqvist  <jb@gcc.gnu.org>
1139
1140         PR fortran/29549
1141         * Makefile.am: Add -fcx-fortran-rules to AM_CFLAGS for all of
1142         libgfortran.
1143         * Makefile.in: Regenerated.
1144
1145 2008-02-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1146
1147         * m4/ifunction_logical.m4: Add casts to get rid of warnings.
1148         * generated/all_l1.c: Regenerate.
1149         * generated/all_l2.c: Regenerate.
1150         * generated/all_l4.c: Regenerate.
1151         * generated/all_l8.c: Regenerate.
1152         * generated/all_l16.c: Regenerate.
1153         * generated/any_l1.c: Regenerate.
1154         * generated/any_l2.c: Regenerate.
1155         * generated/any_l4.c: Regenerate.
1156         * generated/any_l8.c: Regenerate.
1157         * generated/any_l16.c: Regenerate.
1158         * generated/count_1_l.c: Regenerate.
1159         * generated/count_2_l.c: Regenerate.
1160         * generated/count_4_l.c: Regenerate.
1161         * generated/count_8_l.c: Regenerate.
1162         * generated/count_16_l.c: Regenerate.
1163
1164 2008-02-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1165
1166         PR libfortran/32841
1167         * acinclude.m4: Don't use HAVE_MATH_H.
1168         * configure: Regenerate.
1169
1170 2008-02-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1171
1172         PR libfortran/35132
1173         * io/transfer.c (next_record_w): Truncate after the last record for
1174         STREAM I/O.
1175
1176         PR libfortran/34954
1177         * io/transfer.c (data_transfer_init): Initialize dtp->rec if writing.
1178
1179         PR libfortran/34974
1180         * io/transfer.c (formatted_transfer_scalar): Flush the buffer if skips
1181         is less than zero. (next_record_w): Use sseek to position the file to
1182         the max position reached.
1183
1184 2008-02-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1185
1186         PR libfortran/35036
1187         * write_float.def (output_float):  Add error checks for zero digits
1188         after decimal point in E and D format specifiers.
1189         
1190 2008-02-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1191
1192         PR libfortran/35063
1193         * io/unit.c (destroy_unit_mutex): New function that uses
1194         __gthread_mutex_destroy_function or pthread_mutex_destroy after
1195         unlocking and before free_mem for final closure of I/O unit.
1196         (delete_root): Use new function.
1197         (free_internal_unit): Likewise.
1198         (close_unit_1): Likewise.
1199
1200 2008-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
1201
1202         PR libfortran/35001
1203         * m4/shape.m4:  Return 0 for extents <= 0.
1204         * generated/shape_i4.c:  Regenerated.
1205         * generated/shape_i8.c:  Regenerated.
1206         * generated/shape_i16.c:  Regenerated.
1207
1208 2008-01-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
1209
1210         PR libfortran/34980
1211         * m4/shape.m4:  If return array is empty, return early.
1212         * generated/shape_i4.c:  Regenerated.
1213         * generated/shape_i8.c:  Regenerated.
1214         * generated/shape_i16.c:  Regenerated.
1215
1216 2008-01-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
1217
1218         PR libfofortran/34887
1219         * io/transfer.c (next_record_w): Always move to the farthest
1220         position when completing the record (also when we are
1221         processing a slash edit descriptor).
1222
1223 2008-01-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1224
1225         PR libfortran/34876
1226         * io/transfer.c (write_buf): Handle case of zero sized array.
1227         (transfer_array): Set data pointer to NULL and size to zero.  Then
1228         make a data transfer and return.
1229         
1230 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
1231
1232         * configure: Regenerate.
1233
1234 2008-01-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1235
1236         PR libfortran/34795
1237         * io/inquire.c (inquire_via_unit): If a unit is opened, return values
1238         according to the open action for DIRECT, FORMATTED, and UNFORMATTED.
1239         (inquire_via_filename): Return "UNKNOWN" for SEQUENTIAL, DIRECT,
1240         FORAMATTED, and UNFORMATTED inquiries.
1241         * io/unix.c (inquire_sequential): Return "UNKNOWN" when appropriate
1242         for files that are not opened. (inquire_direct): Same.
1243         (inquire_formatted): Same.
1244         
1245 2008-01-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1246
1247         PR libfortran/34782
1248         * io/transfer.c (formatted_transfer_scalar): Set max_pos to the greater
1249         of the current max_pos or the newly calculated position.
1250
1251 2008-01-18  Tobias Burnus  <burnus@net-b.de>
1252
1253         * io/write.c (write_real): Increase default precision
1254         for REAL(16) by one.
1255
1256 2008-01-16  Steven Bosscher  <steven@gcc.gnu.org>
1257
1258         PR libfortran/34669
1259         * mk-kinds-h.sh: Compile with -S to avoid calling the assembler,
1260         to avoid piping the -fdump-parse-tree output to the assembler
1261         when configuring with -pipe.
1262         * mk-sik-inc.sh: Likewise.
1263         * mk-srk-inc.sh: Likewise.
1264
1265 2008-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
1266
1267         PR libfortran/34671
1268         * gfortran.am: Added _gfortran_all_l1, _gfortran_all_l2,
1269         _gfortran_any_l1, _gfortran_any_l2, -28,15 _gfortran_count_1_l,
1270         _gfortran_count_16_l, _gfortran_count_2_l, _gfortran_count_4_l and
1271         _gfortran_count_8_l Removed _gfortran_count_16_l16,
1272         _gfortran_count_16_l4, _gfortran_count_16_l8,
1273         _gfortran_count_4_l16, _gfortran_count_4_l4, _gfortran_count_4_l8,
1274         _gfortran_count_8_l16, _gfortran_count_8_l4 and
1275         _gfortran_count_8_l8.
1276         * Makefile.am: Added generated/any_l1.c and generated/any_l2.c to
1277         i_any_c.  Added generated/all_l1. and generated/all_l2.c to
1278         i_all_c.  Removed generated/count_4_l4.c, generated/count_8_l4.c,
1279         generated/count_16_l4.c, generated/count_4_l8.c,
1280         generated/count_8_l8.c, generated/count_16_l8.c,
1281         generated/count_4_l16.c, generated/count_8_l16.c, and
1282         generated/count_16_l16.c from i_count_c.  Added count_1_l.c,
1283         count_2_l.c, count_4_l.c, count_8_l.c and count_16_l.c to
1284         i_count_c.  I_M4_DEPS2 depends on ifunction_logical.m4, for
1285         any of the files generated from all.m4, any.m4 and count.m4.
1286         * Makefile.in:  Regenerated.
1287         * m4/ifunction_logical.m4:  New file.  Use
1288         GFC_LOGICAL_1 pointer for access to source arrays.
1289         * m4/any.m4:  Include ifunction_logical.m4 instead of
1290         ifunction.m4.  Don't check atype_name.
1291         * m4/all.m4:  Likewise.
1292         * m4/count.m4:  Likewise.
1293         * generated/any_l1.c:  New file.
1294         * generated/any_l2.c:  New file.
1295         * generated/all_l1.c:  New file.
1296         * generated/count_1_l.c:  New file.
1297         * generated/count_2_l.c:  New file.
1298         * generated/count_4_l.c:  New file.
1299         * generated/count_8_l.c:  New file.
1300         * generated/count_16_l.c:  New file.
1301         * generated/any_l4.c:  Regenerated.
1302         * generated/any_l8.c:  Regenerated.
1303         * generated/any_l16.c:  Regenerated.
1304         * generated/all_l4.c: Regenerated.
1305         * generated/all_l8.c: Regenerated.
1306         * generated/all_l16.c: Regenerated.
1307         * generated/count_4_l4.c:  Removed.
1308         * generated/count_4_l8.c:  Removed.
1309         * generated/count_4_l16.c:  Removed.
1310         * generated/count_8_l4.c:  Removed.
1311         * generated/count_8_l8.c:  Removed.
1312         * generated/count_8_l16.c:  Removed.
1313         * generated/count_16_l4.c:  Removed.
1314         * generated/count_16_l8.c:  Removed.
1315         * generated/count_16_l16.c:  Removed.
1316
1317 2008-01-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
1318
1319         PR libfortran/34746
1320         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Use %ld
1321         in printf format for all bounds checking; cast all
1322         integer-like arguments to runtime_error() to long int.
1323         (`m'name`'rtype_qual`_'atype_code):  Likewise.
1324         (`s'name`'rtype_qual`_'atype_code):  Likewise.
1325         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Likewise.
1326         (`m'name`'rtype_qual`_'atype_code):  Likewise.
1327         (`s'name`'rtype_qual`_'atype_code):  Likewise.
1328         * generated/all_l16.c: Regenerated.
1329         * generated/all_l4.c: Regenerated.
1330         * generated/all_l8.c: Regenerated.
1331         * generated/any_l16.c: Regenerated.
1332         * generated/any_l4.c: Regenerated.
1333         * generated/any_l8.c: Regenerated.
1334         * generated/count_16_l16.c: Regenerated.
1335         * generated/count_16_l4.c: Regenerated.
1336         * generated/count_16_l8.c: Regenerated.
1337         * generated/count_4_l16.c: Regenerated.
1338         * generated/count_4_l4.c: Regenerated.
1339         * generated/count_4_l8.c: Regenerated.
1340         * generated/count_8_l16.c: Regenerated.
1341         * generated/count_8_l4.c: Regenerated.
1342         * generated/count_8_l8.c: Regenerated.
1343         * generated/maxloc0_16_i1.c: Regenerated.
1344         * generated/maxloc0_16_i16.c: Regenerated.
1345         * generated/maxloc0_16_i2.c: Regenerated.
1346         * generated/maxloc0_16_i4.c: Regenerated.
1347         * generated/maxloc0_16_i8.c: Regenerated.
1348         * generated/maxloc0_16_r10.c: Regenerated.
1349         * generated/maxloc0_16_r16.c: Regenerated.
1350         * generated/maxloc0_16_r4.c: Regenerated.
1351         * generated/maxloc0_16_r8.c: Regenerated.
1352         * generated/maxloc0_4_i1.c: Regenerated.
1353         * generated/maxloc0_4_i16.c: Regenerated.
1354         * generated/maxloc0_4_i2.c: Regenerated.
1355         * generated/maxloc0_4_i4.c: Regenerated.
1356         * generated/maxloc0_4_i8.c: Regenerated.
1357         * generated/maxloc0_4_r10.c: Regenerated.
1358         * generated/maxloc0_4_r16.c: Regenerated.
1359         * generated/maxloc0_4_r4.c: Regenerated.
1360         * generated/maxloc0_4_r8.c: Regenerated.
1361         * generated/maxloc0_8_i1.c: Regenerated.
1362         * generated/maxloc0_8_i16.c: Regenerated.
1363         * generated/maxloc0_8_i2.c: Regenerated.
1364         * generated/maxloc0_8_i4.c: Regenerated.
1365         * generated/maxloc0_8_i8.c: Regenerated.
1366         * generated/maxloc0_8_r10.c: Regenerated.
1367         * generated/maxloc0_8_r16.c: Regenerated.
1368         * generated/maxloc0_8_r4.c: Regenerated.
1369         * generated/maxloc0_8_r8.c: Regenerated.
1370         * generated/maxloc1_16_i1.c: Regenerated.
1371         * generated/maxloc1_16_i16.c: Regenerated.
1372         * generated/maxloc1_16_i2.c: Regenerated.
1373         * generated/maxloc1_16_i4.c: Regenerated.
1374         * generated/maxloc1_16_i8.c: Regenerated.
1375         * generated/maxloc1_16_r10.c: Regenerated.
1376         * generated/maxloc1_16_r16.c: Regenerated.
1377         * generated/maxloc1_16_r4.c: Regenerated.
1378         * generated/maxloc1_16_r8.c: Regenerated.
1379         * generated/maxloc1_4_i1.c: Regenerated.
1380         * generated/maxloc1_4_i16.c: Regenerated.
1381         * generated/maxloc1_4_i2.c: Regenerated.
1382         * generated/maxloc1_4_i4.c: Regenerated.
1383         * generated/maxloc1_4_i8.c: Regenerated.
1384         * generated/maxloc1_4_r10.c: Regenerated.
1385         * generated/maxloc1_4_r16.c: Regenerated.
1386         * generated/maxloc1_4_r4.c: Regenerated.
1387         * generated/maxloc1_4_r8.c: Regenerated.
1388         * generated/maxloc1_8_i1.c: Regenerated.
1389         * generated/maxloc1_8_i16.c: Regenerated.
1390         * generated/maxloc1_8_i2.c: Regenerated.
1391         * generated/maxloc1_8_i4.c: Regenerated.
1392         * generated/maxloc1_8_i8.c: Regenerated.
1393         * generated/maxloc1_8_r10.c: Regenerated.
1394         * generated/maxloc1_8_r16.c: Regenerated.
1395         * generated/maxloc1_8_r4.c: Regenerated.
1396         * generated/maxloc1_8_r8.c: Regenerated.
1397         * generated/maxval_i1.c: Regenerated.
1398         * generated/maxval_i16.c: Regenerated.
1399         * generated/maxval_i2.c: Regenerated.
1400         * generated/maxval_i4.c: Regenerated.
1401         * generated/maxval_i8.c: Regenerated.
1402         * generated/maxval_r10.c: Regenerated.
1403         * generated/maxval_r16.c: Regenerated.
1404         * generated/maxval_r4.c: Regenerated.
1405         * generated/maxval_r8.c: Regenerated.
1406         * generated/minloc0_16_i1.c: Regenerated.
1407         * generated/minloc0_16_i16.c: Regenerated.
1408         * generated/minloc0_16_i2.c: Regenerated.
1409         * generated/minloc0_16_i4.c: Regenerated.
1410         * generated/minloc0_16_i8.c: Regenerated.
1411         * generated/minloc0_16_r10.c: Regenerated.
1412         * generated/minloc0_16_r16.c: Regenerated.
1413         * generated/minloc0_16_r4.c: Regenerated.
1414         * generated/minloc0_16_r8.c: Regenerated.
1415         * generated/minloc0_4_i1.c: Regenerated.
1416         * generated/minloc0_4_i16.c: Regenerated.
1417         * generated/minloc0_4_i2.c: Regenerated.
1418         * generated/minloc0_4_i4.c: Regenerated.
1419         * generated/minloc0_4_i8.c: Regenerated.
1420         * generated/minloc0_4_r10.c: Regenerated.
1421         * generated/minloc0_4_r16.c: Regenerated.
1422         * generated/minloc0_4_r4.c: Regenerated.
1423         * generated/minloc0_4_r8.c: Regenerated.
1424         * generated/minloc0_8_i1.c: Regenerated.
1425         * generated/minloc0_8_i16.c: Regenerated.
1426         * generated/minloc0_8_i2.c: Regenerated.
1427         * generated/minloc0_8_i4.c: Regenerated.
1428         * generated/minloc0_8_i8.c: Regenerated.
1429         * generated/minloc0_8_r10.c: Regenerated.
1430         * generated/minloc0_8_r16.c: Regenerated.
1431         * generated/minloc0_8_r4.c: Regenerated.
1432         * generated/minloc0_8_r8.c: Regenerated.
1433         * generated/minloc1_16_i1.c: Regenerated.
1434         * generated/minloc1_16_i16.c: Regenerated.
1435         * generated/minloc1_16_i2.c: Regenerated.
1436         * generated/minloc1_16_i4.c: Regenerated.
1437         * generated/minloc1_16_i8.c: Regenerated.
1438         * generated/minloc1_16_r10.c: Regenerated.
1439         * generated/minloc1_16_r16.c: Regenerated.
1440         * generated/minloc1_16_r4.c: Regenerated.
1441         * generated/minloc1_16_r8.c: Regenerated.
1442         * generated/minloc1_4_i1.c: Regenerated.
1443         * generated/minloc1_4_i16.c: Regenerated.
1444         * generated/minloc1_4_i2.c: Regenerated.
1445         * generated/minloc1_4_i4.c: Regenerated.
1446         * generated/minloc1_4_i8.c: Regenerated.
1447         * generated/minloc1_4_r10.c: Regenerated.
1448         * generated/minloc1_4_r16.c: Regenerated.
1449         * generated/minloc1_4_r4.c: Regenerated.
1450         * generated/minloc1_4_r8.c: Regenerated.
1451         * generated/minloc1_8_i1.c: Regenerated.
1452         * generated/minloc1_8_i16.c: Regenerated.
1453         * generated/minloc1_8_i2.c: Regenerated.
1454         * generated/minloc1_8_i4.c: Regenerated.
1455         * generated/minloc1_8_i8.c: Regenerated.
1456         * generated/minloc1_8_r10.c: Regenerated.
1457         * generated/minloc1_8_r16.c: Regenerated.
1458         * generated/minloc1_8_r4.c: Regenerated.
1459         * generated/minloc1_8_r8.c: Regenerated.
1460         * generated/minval_i1.c: Regenerated.
1461         * generated/minval_i16.c: Regenerated.
1462         * generated/minval_i2.c: Regenerated.
1463         * generated/minval_i4.c: Regenerated.
1464         * generated/minval_i8.c: Regenerated.
1465         * generated/minval_r10.c: Regenerated.
1466         * generated/minval_r16.c: Regenerated.
1467         * generated/minval_r4.c: Regenerated.
1468         * generated/minval_r8.c: Regenerated.
1469         * generated/product_c10.c: Regenerated.
1470         * generated/product_c16.c: Regenerated.
1471         * generated/product_c4.c: Regenerated.
1472         * generated/product_c8.c: Regenerated.
1473         * generated/product_i1.c: Regenerated.
1474         * generated/product_i16.c: Regenerated.
1475         * generated/product_i2.c: Regenerated.
1476         * generated/product_i4.c: Regenerated.
1477         * generated/product_i8.c: Regenerated.
1478         * generated/product_r10.c: Regenerated.
1479         * generated/product_r16.c: Regenerated.
1480         * generated/product_r4.c: Regenerated.
1481         * generated/product_r8.c: Regenerated.
1482         * generated/sum_c10.c: Regenerated.
1483         * generated/sum_c16.c: Regenerated.
1484         * generated/sum_c4.c: Regenerated.
1485         * generated/sum_c8.c: Regenerated.
1486         * generated/sum_i1.c: Regenerated.
1487         * generated/sum_i16.c: Regenerated.
1488         * generated/sum_i2.c: Regenerated.
1489         * generated/sum_i4.c: Regenerated.
1490         * generated/sum_i8.c: Regenerated.
1491         * generated/sum_r10.c: Regenerated.
1492         * generated/sum_r16.c: Regenerated.
1493         * generated/sum_r4.c: Regenerated.
1494         * generated/sum_r8.c: Regenerated.
1495
1496 2008-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
1497
1498         PR libfortran/34670
1499         * m4/iparm.m4 (upcase):  New macro (copied from the m4 manual).
1500         (u_name):  New macro for the upper case name of the intrinsic.
1501         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Add
1502         bounds checking and rank check, depending on
1503         compile_options.bounds_check.
1504         (`m'name`'rtype_qual`_'atype_code):  Likewise.
1505         (`s'name`'rtype_qual`_'atype_code):  Likewise.
1506         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Add
1507         bounds checking and rank check, depending on
1508         compile_options.bounds_check.
1509         (`m'name`'rtype_qual`_'atype_code):  Likewise.
1510         (`s'name`'rtype_qual`_'atype_code):  Likewise.
1511         * generated/all_l16.c: Regenerated.
1512         * generated/all_l4.c: Regenerated.
1513         * generated/all_l8.c: Regenerated.
1514         * generated/any_l16.c: Regenerated.
1515         * generated/any_l4.c: Regenerated.
1516         * generated/any_l8.c: Regenerated.
1517         * generated/count_16_l16.c: Regenerated.
1518         * generated/count_16_l4.c: Regenerated.
1519         * generated/count_16_l8.c: Regenerated.
1520         * generated/count_4_l16.c: Regenerated.
1521         * generated/count_4_l4.c: Regenerated.
1522         * generated/count_4_l8.c: Regenerated.
1523         * generated/count_8_l16.c: Regenerated.
1524         * generated/count_8_l4.c: Regenerated.
1525         * generated/count_8_l8.c: Regenerated.
1526         * generated/maxloc0_16_i1.c: Regenerated.
1527         * generated/maxloc0_16_i16.c: Regenerated.
1528         * generated/maxloc0_16_i2.c: Regenerated.
1529         * generated/maxloc0_16_i4.c: Regenerated.
1530         * generated/maxloc0_16_i8.c: Regenerated.
1531         * generated/maxloc0_16_r10.c: Regenerated.
1532         * generated/maxloc0_16_r16.c: Regenerated.
1533         * generated/maxloc0_16_r4.c: Regenerated.
1534         * generated/maxloc0_16_r8.c: Regenerated.
1535         * generated/maxloc0_4_i1.c: Regenerated.
1536         * generated/maxloc0_4_i16.c: Regenerated.
1537         * generated/maxloc0_4_i2.c: Regenerated.
1538         * generated/maxloc0_4_i4.c: Regenerated.
1539         * generated/maxloc0_4_i8.c: Regenerated.
1540         * generated/maxloc0_4_r10.c: Regenerated.
1541         * generated/maxloc0_4_r16.c: Regenerated.
1542         * generated/maxloc0_4_r4.c: Regenerated.
1543         * generated/maxloc0_4_r8.c: Regenerated.
1544         * generated/maxloc0_8_i1.c: Regenerated.
1545         * generated/maxloc0_8_i16.c: Regenerated.
1546         * generated/maxloc0_8_i2.c: Regenerated.
1547         * generated/maxloc0_8_i4.c: Regenerated.
1548         * generated/maxloc0_8_i8.c: Regenerated.
1549         * generated/maxloc0_8_r10.c: Regenerated.
1550         * generated/maxloc0_8_r16.c: Regenerated.
1551         * generated/maxloc0_8_r4.c: Regenerated.
1552         * generated/maxloc0_8_r8.c: Regenerated.
1553         * generated/maxloc1_16_i1.c: Regenerated.
1554         * generated/maxloc1_16_i16.c: Regenerated.
1555         * generated/maxloc1_16_i2.c: Regenerated.
1556         * generated/maxloc1_16_i4.c: Regenerated.
1557         * generated/maxloc1_16_i8.c: Regenerated.
1558         * generated/maxloc1_16_r10.c: Regenerated.
1559         * generated/maxloc1_16_r16.c: Regenerated.
1560         * generated/maxloc1_16_r4.c: Regenerated.
1561         * generated/maxloc1_16_r8.c: Regenerated.
1562         * generated/maxloc1_4_i1.c: Regenerated.
1563         * generated/maxloc1_4_i16.c: Regenerated.
1564         * generated/maxloc1_4_i2.c: Regenerated.
1565         * generated/maxloc1_4_i4.c: Regenerated.
1566         * generated/maxloc1_4_i8.c: Regenerated.
1567         * generated/maxloc1_4_r10.c: Regenerated.
1568         * generated/maxloc1_4_r16.c: Regenerated.
1569         * generated/maxloc1_4_r4.c: Regenerated.
1570         * generated/maxloc1_4_r8.c: Regenerated.
1571         * generated/maxloc1_8_i1.c: Regenerated.
1572         * generated/maxloc1_8_i16.c: Regenerated.
1573         * generated/maxloc1_8_i2.c: Regenerated.
1574         * generated/maxloc1_8_i4.c: Regenerated.
1575         * generated/maxloc1_8_i8.c: Regenerated.
1576         * generated/maxloc1_8_r10.c: Regenerated.
1577         * generated/maxloc1_8_r16.c: Regenerated.
1578         * generated/maxloc1_8_r4.c: Regenerated.
1579         * generated/maxloc1_8_r8.c: Regenerated.
1580         * generated/maxval_i1.c: Regenerated.
1581         * generated/maxval_i16.c: Regenerated.
1582         * generated/maxval_i2.c: Regenerated.
1583         * generated/maxval_i4.c: Regenerated.
1584         * generated/maxval_i8.c: Regenerated.
1585         * generated/maxval_r10.c: Regenerated.
1586         * generated/maxval_r16.c: Regenerated.
1587         * generated/maxval_r4.c: Regenerated.
1588         * generated/maxval_r8.c: Regenerated.
1589         * generated/minloc0_16_i1.c: Regenerated.
1590         * generated/minloc0_16_i16.c: Regenerated.
1591         * generated/minloc0_16_i2.c: Regenerated.
1592         * generated/minloc0_16_i4.c: Regenerated.
1593         * generated/minloc0_16_i8.c: Regenerated.
1594         * generated/minloc0_16_r10.c: Regenerated.
1595         * generated/minloc0_16_r16.c: Regenerated.
1596         * generated/minloc0_16_r4.c: Regenerated.
1597         * generated/minloc0_16_r8.c: Regenerated.
1598         * generated/minloc0_4_i1.c: Regenerated.
1599         * generated/minloc0_4_i16.c: Regenerated.
1600         * generated/minloc0_4_i2.c: Regenerated.
1601         * generated/minloc0_4_i4.c: Regenerated.
1602         * generated/minloc0_4_i8.c: Regenerated.
1603         * generated/minloc0_4_r10.c: Regenerated.
1604         * generated/minloc0_4_r16.c: Regenerated.
1605         * generated/minloc0_4_r4.c: Regenerated.
1606         * generated/minloc0_4_r8.c: Regenerated.
1607         * generated/minloc0_8_i1.c: Regenerated.
1608         * generated/minloc0_8_i16.c: Regenerated.
1609         * generated/minloc0_8_i2.c: Regenerated.
1610         * generated/minloc0_8_i4.c: Regenerated.
1611         * generated/minloc0_8_i8.c: Regenerated.
1612         * generated/minloc0_8_r10.c: Regenerated.
1613         * generated/minloc0_8_r16.c: Regenerated.
1614         * generated/minloc0_8_r4.c: Regenerated.
1615         * generated/minloc0_8_r8.c: Regenerated.
1616         * generated/minloc1_16_i1.c: Regenerated.
1617         * generated/minloc1_16_i16.c: Regenerated.
1618         * generated/minloc1_16_i2.c: Regenerated.
1619         * generated/minloc1_16_i4.c: Regenerated.
1620         * generated/minloc1_16_i8.c: Regenerated.
1621         * generated/minloc1_16_r10.c: Regenerated.
1622         * generated/minloc1_16_r16.c: Regenerated.
1623         * generated/minloc1_16_r4.c: Regenerated.
1624         * generated/minloc1_16_r8.c: Regenerated.
1625         * generated/minloc1_4_i1.c: Regenerated.
1626         * generated/minloc1_4_i16.c: Regenerated.
1627         * generated/minloc1_4_i2.c: Regenerated.
1628         * generated/minloc1_4_i4.c: Regenerated.
1629         * generated/minloc1_4_i8.c: Regenerated.
1630         * generated/minloc1_4_r10.c: Regenerated.
1631         * generated/minloc1_4_r16.c: Regenerated.
1632         * generated/minloc1_4_r4.c: Regenerated.
1633         * generated/minloc1_4_r8.c: Regenerated.
1634         * generated/minloc1_8_i1.c: Regenerated.
1635         * generated/minloc1_8_i16.c: Regenerated.
1636         * generated/minloc1_8_i2.c: Regenerated.
1637         * generated/minloc1_8_i4.c: Regenerated.
1638         * generated/minloc1_8_i8.c: Regenerated.
1639         * generated/minloc1_8_r10.c: Regenerated.
1640         * generated/minloc1_8_r16.c: Regenerated.
1641         * generated/minloc1_8_r4.c: Regenerated.
1642         * generated/minloc1_8_r8.c: Regenerated.
1643         * generated/minval_i1.c: Regenerated.
1644         * generated/minval_i16.c: Regenerated.
1645         * generated/minval_i2.c: Regenerated.
1646         * generated/minval_i4.c: Regenerated.
1647         * generated/minval_i8.c: Regenerated.
1648         * generated/minval_r10.c: Regenerated.
1649         * generated/minval_r16.c: Regenerated.
1650         * generated/minval_r4.c: Regenerated.
1651         * generated/minval_r8.c: Regenerated.
1652         * generated/product_c10.c: Regenerated.
1653         * generated/product_c16.c: Regenerated.
1654         * generated/product_c4.c: Regenerated.
1655         * generated/product_c8.c: Regenerated.
1656         * generated/product_i1.c: Regenerated.
1657         * generated/product_i16.c: Regenerated.
1658         * generated/product_i2.c: Regenerated.
1659         * generated/product_i4.c: Regenerated.
1660         * generated/product_i8.c: Regenerated.
1661         * generated/product_r10.c: Regenerated.
1662         * generated/product_r16.c: Regenerated.
1663         * generated/product_r4.c: Regenerated.
1664         * generated/product_r8.c: Regenerated.
1665         * generated/sum_c10.c: Regenerated.
1666         * generated/sum_c16.c: Regenerated.
1667         * generated/sum_c4.c: Regenerated.
1668         * generated/sum_c8.c: Regenerated.
1669         * generated/sum_i1.c: Regenerated.
1670         * generated/sum_i16.c: Regenerated.
1671         * generated/sum_i2.c: Regenerated.
1672         * generated/sum_i4.c: Regenerated.
1673         * generated/sum_i8.c: Regenerated.
1674         * generated/sum_r10.c: Regenerated.
1675         * generated/sum_r16.c: Regenerated.
1676         * generated/sum_r4.c: Regenerated.
1677         * generated/sum_r8.c: Regenerated.
1678
1679 2008-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1680
1681         PR libfortran/34676
1682         * io/list_read.c (next_char): Only save the EOF condition for later if
1683         advance="no".
1684
1685 2008-01-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
1686
1687         PR libfortran/34565
1688         * io/io.h:  Adjust protoypes for open_internal(),
1689         next_array_record() and init_loop_spec().
1690         * io/list_read.c (next_char):  Use argument "finished"
1691         of next_array_record to check for end on internal file.
1692         * io/unit.c:  Calculate the offset for an array
1693         internal file and supply this informatin to open_internal().
1694         * io/unix.c (open_internal):  Set the offset for the internal
1695         file on open.
1696         * io/transfer.c (init_loop_spec):  Calculate the starting
1697         record in case of negative strides.  Return size of 0 for
1698         an empty array.
1699         (next_array_record):  Use an extra flag to signal that the
1700         array is finished.
1701         (next_record_r):  Use the new flag to next_array_record().
1702         (next_record_w):  Likewise.