OSDN Git Service

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