OSDN Git Service

8231ed1588c18dc1bc11fad861b6d5f98f96ffd4
[pf3gnuchains/gcc-fork.git] / libgfortran / ChangeLog
1 2009-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
2
3         PR libfortran/34670
4         PR libfortran/36874
5         * Makefile.am:  Add bounds.c
6         * libgfortran.h (bounds_equal_extents):  Add prototype.
7         (bounds_iforeach_return):  Likewise.
8         (bounds_ifunction_return):  Likewise.
9         (bounds_reduced_extents):  Likewise.
10         * runtime/bounds.c:  New file.
11         (bounds_iforeach_return):  New function; correct typo in
12         error message.
13         (bounds_ifunction_return):  New function.
14         (bounds_equal_extents):  New function.
15         (bounds_reduced_extents):  Likewise.
16         * intrinsics/cshift0.c (cshift0):  Use new functions
17         for bounds checking.
18         * intrinsics/eoshift0.c (eoshift0):  Likewise.
19         * intrinsics/eoshift2.c (eoshift2):  Likewise.
20         * m4/iforeach.m4:  Likewise.
21         * m4/eoshift1.m4:  Likewise.
22         * m4/eoshift3.m4:  Likewise.
23         * m4/cshift1.m4:  Likewise.
24         * m4/ifunction.m4:  Likewise.
25         * Makefile.in:  Regenerated.
26         * generated/cshift1_16.c: Regenerated.
27         * generated/cshift1_4.c: Regenerated.
28         * generated/cshift1_8.c: Regenerated.
29         * generated/eoshift1_16.c: Regenerated.
30         * generated/eoshift1_4.c: Regenerated.
31         * generated/eoshift1_8.c: Regenerated.
32         * generated/eoshift3_16.c: Regenerated.
33         * generated/eoshift3_4.c: Regenerated.
34         * generated/eoshift3_8.c: Regenerated.
35         * generated/maxloc0_16_i1.c: Regenerated.
36         * generated/maxloc0_16_i16.c: Regenerated.
37         * generated/maxloc0_16_i2.c: Regenerated.
38         * generated/maxloc0_16_i4.c: Regenerated.
39         * generated/maxloc0_16_i8.c: Regenerated.
40         * generated/maxloc0_16_r10.c: Regenerated.
41         * generated/maxloc0_16_r16.c: Regenerated.
42         * generated/maxloc0_16_r4.c: Regenerated.
43         * generated/maxloc0_16_r8.c: Regenerated.
44         * generated/maxloc0_4_i1.c: Regenerated.
45         * generated/maxloc0_4_i16.c: Regenerated.
46         * generated/maxloc0_4_i2.c: Regenerated.
47         * generated/maxloc0_4_i4.c: Regenerated.
48         * generated/maxloc0_4_i8.c: Regenerated.
49         * generated/maxloc0_4_r10.c: Regenerated.
50         * generated/maxloc0_4_r16.c: Regenerated.
51         * generated/maxloc0_4_r4.c: Regenerated.
52         * generated/maxloc0_4_r8.c: Regenerated.
53         * generated/maxloc0_8_i1.c: Regenerated.
54         * generated/maxloc0_8_i16.c: Regenerated.
55         * generated/maxloc0_8_i2.c: Regenerated.
56         * generated/maxloc0_8_i4.c: Regenerated.
57         * generated/maxloc0_8_i8.c: Regenerated.
58         * generated/maxloc0_8_r10.c: Regenerated.
59         * generated/maxloc0_8_r16.c: Regenerated.
60         * generated/maxloc0_8_r4.c: Regenerated.
61         * generated/maxloc0_8_r8.c: Regenerated.
62         * generated/maxloc1_16_i1.c: Regenerated.
63         * generated/maxloc1_16_i16.c: Regenerated.
64         * generated/maxloc1_16_i2.c: Regenerated.
65         * generated/maxloc1_16_i4.c: Regenerated.
66         * generated/maxloc1_16_i8.c: Regenerated.
67         * generated/maxloc1_16_r10.c: Regenerated.
68         * generated/maxloc1_16_r16.c: Regenerated.
69         * generated/maxloc1_16_r4.c: Regenerated.
70         * generated/maxloc1_16_r8.c: Regenerated.
71         * generated/maxloc1_4_i1.c: Regenerated.
72         * generated/maxloc1_4_i16.c: Regenerated.
73         * generated/maxloc1_4_i2.c: Regenerated.
74         * generated/maxloc1_4_i4.c: Regenerated.
75         * generated/maxloc1_4_i8.c: Regenerated.
76         * generated/maxloc1_4_r10.c: Regenerated.
77         * generated/maxloc1_4_r16.c: Regenerated.
78         * generated/maxloc1_4_r4.c: Regenerated.
79         * generated/maxloc1_4_r8.c: Regenerated.
80         * generated/maxloc1_8_i1.c: Regenerated.
81         * generated/maxloc1_8_i16.c: Regenerated.
82         * generated/maxloc1_8_i2.c: Regenerated.
83         * generated/maxloc1_8_i4.c: Regenerated.
84         * generated/maxloc1_8_i8.c: Regenerated.
85         * generated/maxloc1_8_r10.c: Regenerated.
86         * generated/maxloc1_8_r16.c: Regenerated.
87         * generated/maxloc1_8_r4.c: Regenerated.
88         * generated/maxloc1_8_r8.c: Regenerated.
89         * generated/maxval_i1.c: Regenerated.
90         * generated/maxval_i16.c: Regenerated.
91         * generated/maxval_i2.c: Regenerated.
92         * generated/maxval_i4.c: Regenerated.
93         * generated/maxval_i8.c: Regenerated.
94         * generated/maxval_r10.c: Regenerated.
95         * generated/maxval_r16.c: Regenerated.
96         * generated/maxval_r4.c: Regenerated.
97         * generated/maxval_r8.c: Regenerated.
98         * generated/minloc0_16_i1.c: Regenerated.
99         * generated/minloc0_16_i16.c: Regenerated.
100         * generated/minloc0_16_i2.c: Regenerated.
101         * generated/minloc0_16_i4.c: Regenerated.
102         * generated/minloc0_16_i8.c: Regenerated.
103         * generated/minloc0_16_r10.c: Regenerated.
104         * generated/minloc0_16_r16.c: Regenerated.
105         * generated/minloc0_16_r4.c: Regenerated.
106         * generated/minloc0_16_r8.c: Regenerated.
107         * generated/minloc0_4_i1.c: Regenerated.
108         * generated/minloc0_4_i16.c: Regenerated.
109         * generated/minloc0_4_i2.c: Regenerated.
110         * generated/minloc0_4_i4.c: Regenerated.
111         * generated/minloc0_4_i8.c: Regenerated.
112         * generated/minloc0_4_r10.c: Regenerated.
113         * generated/minloc0_4_r16.c: Regenerated.
114         * generated/minloc0_4_r4.c: Regenerated.
115         * generated/minloc0_4_r8.c: Regenerated.
116         * generated/minloc0_8_i1.c: Regenerated.
117         * generated/minloc0_8_i16.c: Regenerated.
118         * generated/minloc0_8_i2.c: Regenerated.
119         * generated/minloc0_8_i4.c: Regenerated.
120         * generated/minloc0_8_i8.c: Regenerated.
121         * generated/minloc0_8_r10.c: Regenerated.
122         * generated/minloc0_8_r16.c: Regenerated.
123         * generated/minloc0_8_r4.c: Regenerated.
124         * generated/minloc0_8_r8.c: Regenerated.
125         * generated/minloc1_16_i1.c: Regenerated.
126         * generated/minloc1_16_i16.c: Regenerated.
127         * generated/minloc1_16_i2.c: Regenerated.
128         * generated/minloc1_16_i4.c: Regenerated.
129         * generated/minloc1_16_i8.c: Regenerated.
130         * generated/minloc1_16_r10.c: Regenerated.
131         * generated/minloc1_16_r16.c: Regenerated.
132         * generated/minloc1_16_r4.c: Regenerated.
133         * generated/minloc1_16_r8.c: Regenerated.
134         * generated/minloc1_4_i1.c: Regenerated.
135         * generated/minloc1_4_i16.c: Regenerated.
136         * generated/minloc1_4_i2.c: Regenerated.
137         * generated/minloc1_4_i4.c: Regenerated.
138         * generated/minloc1_4_i8.c: Regenerated.
139         * generated/minloc1_4_r10.c: Regenerated.
140         * generated/minloc1_4_r16.c: Regenerated.
141         * generated/minloc1_4_r4.c: Regenerated.
142         * generated/minloc1_4_r8.c: Regenerated.
143         * generated/minloc1_8_i1.c: Regenerated.
144         * generated/minloc1_8_i16.c: Regenerated.
145         * generated/minloc1_8_i2.c: Regenerated.
146         * generated/minloc1_8_i4.c: Regenerated.
147         * generated/minloc1_8_i8.c: Regenerated.
148         * generated/minloc1_8_r10.c: Regenerated.
149         * generated/minloc1_8_r16.c: Regenerated.
150         * generated/minloc1_8_r4.c: Regenerated.
151         * generated/minloc1_8_r8.c: Regenerated.
152         * generated/minval_i1.c: Regenerated.
153         * generated/minval_i16.c: Regenerated.
154         * generated/minval_i2.c: Regenerated.
155         * generated/minval_i4.c: Regenerated.
156         * generated/minval_i8.c: Regenerated.
157         * generated/minval_r10.c: Regenerated.
158         * generated/minval_r16.c: Regenerated.
159         * generated/minval_r4.c: Regenerated.
160         * generated/minval_r8.c: Regenerated.
161         * generated/product_c10.c: Regenerated.
162         * generated/product_c16.c: Regenerated.
163         * generated/product_c4.c: Regenerated.
164         * generated/product_c8.c: Regenerated.
165         * generated/product_i1.c: Regenerated.
166         * generated/product_i16.c: Regenerated.
167         * generated/product_i2.c: Regenerated.
168         * generated/product_i4.c: Regenerated.
169         * generated/product_i8.c: Regenerated.
170         * generated/product_r10.c: Regenerated.
171         * generated/product_r16.c: Regenerated.
172         * generated/product_r4.c: Regenerated.
173         * generated/product_r8.c: Regenerated.
174         * generated/sum_c10.c: Regenerated.
175         * generated/sum_c16.c: Regenerated.
176         * generated/sum_c4.c: Regenerated.
177         * generated/sum_c8.c: Regenerated.
178         * generated/sum_i1.c: Regenerated.
179         * generated/sum_i16.c: Regenerated.
180         * generated/sum_i2.c: Regenerated.
181         * generated/sum_i4.c: Regenerated.
182         * generated/sum_i8.c: Regenerated.
183         * generated/sum_r10.c: Regenerated.
184         * generated/sum_r16.c: Regenerated.
185         * generated/sum_r4.c: Regenerated.
186         * generated/sum_r8.c: Regenerated.
187
188 2009-07-17  Janne Blomqvist  <jb@gcc.gnu.org>
189             Jerry DeLisle  <jvdelisle@gcc.gnu.org>
190                 
191         PR libfortran/40714
192         * io/transfer.c (finalize_transfer): Set current_record to 0
193         before returning in case of error.
194
195 2009-07-12  Tobias Burnus  <burnus@net-b.de>
196
197         PR libfortran/22423
198         * io/io.h (namelist_type): Use the proper enum for GFC_DTYPE_*.
199         * intrinsics/iso_c_binding.c (c_f_pointer_u0): Make sure
200         variable is initialized to silence warning.
201
202 2009-07-10  Steven G. Kargl  <kargl@gcc.gnu.org>
203
204         * c99_functions.c (ccoshf, ccosh, ccoshl, ctanhf, ctanh, ctanl):
205         Fix errant minus.
206
207 2009-07-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
208
209         PR libfortran/40330
210         PR libfortran/40662
211         * io/io.h (st_parameter_dt): Define format_not_saved bit used to signal
212         whether the parsed format data was previously saved. Used to determine
213         if the current format data should be freed or not.
214         * io/transfer.c (st_read_done): Use the format_not_saved bit.
215         (st_write_done): Likewise.
216         * io/format.c (parse_format_list): Add boolean pointer to arg list. This
217         pointer is used to return status to the caller regarding whether it is
218         safe to cache the parsed format data.  Currently, if a FMT_STRING token
219         is encounetered, it is not safe to cache. Also, added a local boolean
220         variable to hold this information as recursive calls to
221         parse_format_list are made.  Remove previous save_format logic.
222         (parse_format): Do not use the format caching facility if the current
223         unit is an internal unit or if it is not safe to save parsed format
224         data.
225         
226 2009-06-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
227
228         PR libfortran/40576
229         * io/transfer.c (sset): Adjust exit condition for loop.
230
231 2009-06-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
232
233         PR libfortran/40508
234         * io/format.c: Don't save parsed format data for internal units.
235
236 2009-06-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
237
238         PR fortran/37577
239         Port from fortran-dev
240         * runtime/in_pack_generic (internal_pack):  Remove unnecessary
241         test for stride == 0.
242         * runtime/in_unpack_generic.c (internal_unpack):  Likewise.
243         * intrinsics/iso_c_binding.c (c_f_pointer_u0):  Take care
244         of stride in "shape" argument.  Use array access macros for
245         accessing array descriptors.
246         * libgfortran.h (struct descriptor_dimension):  Change stride
247         to _stride, lbound to _lbound and ubound to _ubound.
248         (GFC_DIMENSION_LBOUND):  Use new name(s) in struct
249         descriptor_dimension.
250         (GFC_DIMENSION_UBOUND):  Likewise.
251         (GFC_DIMENSION_STRIDE):  Likewise.
252         (GFC_DIMENSION_EXTENT):  Likewise.
253         (GFC_DIMENSION_SET):  Likewise.
254         (GFC_DESCRIPTOR_LBOUND):  Likewise.
255         (GFC_DESCRIPTOR_UBOUND):  Likewise.
256         (GFC_DESCRIPTOR_EXTENT):  Likewise.
257         (GFC_DESCRIPTOR_STRIDE):  Likewise.
258         * io/transfer.c (transfer_array):  Use array access macros.
259         Use byte-sized strides.
260         * intrinsics/eoshift0.c (eoshift0):  Use array access
261         macros everywhere.
262         * m4/in_pack.m4 (internal_pack_'rtype_ccode`):  Use
263         array access macros for accessing array descriptors.
264         * m4/in_unpack.m4 (internal_unpack_'rtype_ccode`):
265         Likewise.
266         * m4/matmull.m4 (matmul_'rtype_code`):  Likewise.
267         * m4/matmul.m4 (matmul_'rtype_code`):  Likewise.
268         * m4/unpack.m4 (unpack0_'rtype_code`):  Likewise.
269         (unpack1_'rtype_code`):  Likewise.
270         * m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code): Likewise.
271         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Use array access
272         macros everywhere.
273                 * intrinsics/dtime.c (dtime_sub):  Use array access macros
274         for accessing array descriptors.
275         * intrinsics/cshift0 (cshift0):  Likewise.
276         * intrinsics/etime.c:  Likewise.  Remove redundant calculation
277         of rdim.
278         * m4/cshift0.m4 (cshift0_'rtype_code`):  Use array access macros
279         for accessing array descriptors.
280         * m4/pack.m4 (pack_'rtype_code`):  Likewise.
281         * m4/spread.m4 (spread_'rtype_code`):  Likewise.
282         (spread_scalar_'rtype_code`):  Likewise.
283         * m4/transpose.m4 (transpose_'rtype_code`):  Likewise.
284         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Likewise.
285         * m4/eoshift1.m4 (eoshift1):  Likewise.  Remove size argument,
286         calculate within function.
287         (eoshift1_'atype_kind`):  Remove size argument from call
288         to eoshift1.
289         (eoshift1_'atype_kind`_char):  Likewise.
290         (eoshift1_'atype_kind`_char4):  Likewise.
291         * m4/eoshift3.m4 (eoshift3):  Remove size argument, calculate
292         within function. Use array access macros for accessing array
293         descriptors.
294         (eoshift3_'atype_kind`):  Remove size argument from call
295         to eoshift1.
296         (eoshift3_'atype_kind`_char):  Likewise.
297         (eoshift3_'atype_kind`_char4):  Likewise.
298         * m4/shape.m4 (shape_'rtype_kind`):  Use array access macros
299         for accessing array descriptors.
300         * m4/cshift1.m4 (cshift1): Remove size argument, calculate
301         within function. Use array access macros for accessing array
302         descriptors.
303         (cshift1_'atype_kind`):  Remove size argument from call to
304         cshift1.
305         (cshift1_'atype_kind`_char):  Remove size argument from call to
306         cshift1.
307         (cshift1_'atype_kind`_char4):  Remove size argument from call to
308         cshift1.
309         * m4/reshape.m4 (reshape_'rtype_ccode`):  Use array access macros
310         for accessing array descriptors.
311         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Likewise.
312         * intrinsics/pack_generic.c (pack_internal):  Use array access
313         macros for accessing array descriptors.
314         (pack_s_internal):  Likewise.
315         * intrinsics/transpose_generic.c (transpose_internal):  Remove
316         size argument, calculate from array descriptor. Use array
317         access macros for accessing array descriptors.
318         (transpose):  Remove size argument from call.
319         (transpoe_char):  Likewise.
320         (transpose_char4):  Likewise.
321         * intrinsics/move_alloc.c (move_alloc):  Use array access macros
322         for accessing array descriptors.
323         * intrinsics/spread_generic.c (spread_internal):  Remove size
324         argument, calculate from array descriptor.  Use array access
325         macros for accessing array descriptors.
326         (spread_internal_scalar):  Likewise.
327         (spread):  Remove size argument from call to spread_internal.
328         (spread_char):  Mark argument source_length as unused.
329         Remove size argument from call to spread_internal.
330         (spread_char4):  Likewise.
331         (spread_char_scalar):  Likewise.
332         (spread_char4_scalar):  Likewise.
333         * intrinsics/unpack_generic.c (unpack_internal):  Use array access
334         macros for accessing array descriptors.
335         * intrinsics/eoshift2.c (eoshift2):  Remove size argument, calculate
336         from array descriptor instead.  Use array access macros for
337         accessing array descriptors.
338         (eoshift2_##N):  Remove size argument from call to eoshift2.
339         (eoshift2_##N_##char):  Likewise.
340         (eoshift2_##N_##char4):  Likewise.
341         * intrinsics/reshape_generic.c (reshape_internal):  Use array
342         access macross for accessing array descriptors.
343         * libgfortran.h:  Introduce new macros GFC_DIMENSION_LBOUND,
344         GFC_DIMENSION_UBOUND,GFC_DIMENSION_STRIDE, GFC_DIMENSION_EXTENT,
345         GFC_DIMENSION_SET, GFC_DESCRIPTOR_LBOUND, GFC_DESCRIPTOR_UBOUND,
346         GFC_DESCRIPTOR_EXTENT, GFC_DESCRIPTOR_EXTENT_BYTES,
347         GFC_DESCRIPTOR_STRIDE, GFC_DESCRIPTOR_STRIDE_BYTES
348         * runtime/in_pack_generic.c (internal_pack):  Use new macros
349         for array descriptor access.
350         * runtime/in_unpack_generic.c (internal_unpack):  Likewise.
351         * intrinsics/dtime.c (dtime_sub):  Likewise.
352         * intrinsics/cshift0 (cshift0):  Remove argument size,
353         calculate directly from the array descriptor.  Use new macros
354         for array descriptor access.
355         * cshift0_##N:  Remove shift argument in call to cshift0.
356         * cshift0_##N_char:  Mark array_length as unused.  Remove
357         array_length in call to cshift0.
358         * cshift0_##N_char4:  Likewise.
359         * intrisics/etime.c:  Use new macros for array descriptor access.
360         * intrinsics/stat.c (stat_i4_sub_0):  Likewise.
361         (stat_i8_sub_0):  Likewise.
362         (fstat_i4_sub):  Likewise.
363         (fstat_i8_sub):  Likewise.
364         * intrinsics/date_and_time.c (date_and_time):  Likewise.
365         (secnds):  Likewise.
366         (itime_i4):  Likewise.
367         (itime_i8):  Likewise.
368         (idate_i4):  Likewise.
369         (idate_i8):  Likewise.
370         (gmtime_i4):  Likewise.
371         (gmtime_i8):  Likewise.
372         (ltime_i4):  Likewise.
373         (litme_i8):  Likewise.
374         * intrinsics/associated.c (associated):  Likewise.
375         * intrinsics/eoshift0.c (eoshift0):  Likewise.
376         * intriniscs/size.c (size0):  Likewise.
377         * intrinsics/random.c (arandom_r4):  Likewise.
378         (arandom_r8):  Likewise.
379         (arandom_r10):  Likewise.
380         (arandom_r16):  Likewise.
381         (random_seed_i4):  Likewise.
382         (random_seed_i8):  Likewise.
383         * io/list_read.c (nml_parse_qualifier):  Likewise.
384         (nml_touch_nodes):  Likewise.
385         (nml_read_obj):  Likewise.
386         (get_name):  Likewise.
387         * io/transfer.c (transfer_array):  Likewise.
388         (init_loop_spec):  Likewise.
389         (st_set_nml_var_dim):  Likewise.
390         * io/write.c (nml_write_obj):  Likewise.
391         (obj_loop):  Likewise.
392         * generated/all_l1.c: Regenerated.
393         * generated/all_l16.c: Regenerated.
394         * generated/all_l2.c: Regenerated.
395         * generated/all_l4.c: Regenerated.
396         * generated/all_l8.c: Regenerated.
397         * generated/any_l1.c: Regenerated.
398         * generated/any_l16.c: Regenerated.
399         * generated/any_l2.c: Regenerated.
400         * generated/any_l4.c: Regenerated.
401         * generated/any_l8.c: Regenerated.
402         * generated/count_16_l.c: Regenerated.
403         * generated/count_1_l.c: Regenerated.
404         * generated/count_2_l.c: Regenerated.
405         * generated/count_4_l.c: Regenerated.
406         * generated/count_8_l.c: Regenerated.
407         * generated/cshift0_c10.c: Regenerated.
408         * generated/cshift0_c16.c: Regenerated.
409         * generated/cshift0_c4.c: Regenerated.
410         * generated/cshift0_c8.c: Regenerated.
411         * generated/cshift0_i1.c: Regenerated.
412         * generated/cshift0_i16.c: Regenerated.
413         * generated/cshift0_i2.c: Regenerated.
414         * generated/cshift0_i4.c: Regenerated.
415         * generated/cshift0_i8.c: Regenerated.
416         * generated/cshift0_r10.c: Regenerated.
417         * generated/cshift0_r16.c: Regenerated.
418         * generated/cshift0_r4.c: Regenerated.
419         * generated/cshift0_r8.c: Regenerated.
420         * generated/cshift1_16.c: Regenerated.
421         * generated/cshift1_4.c: Regenerated.
422         * generated/cshift1_8.c: Regenerated.
423         * generated/eoshift1_16.c: Regenerated.
424         * generated/eoshift1_4.c: Regenerated.
425         * generated/eoshift1_8.c: Regenerated.
426         * generated/eoshift3_16.c: Regenerated.
427         * generated/eoshift3_4.c: Regenerated.
428         * generated/eoshift3_8.c: Regenerated.
429         * generated/in_pack_c10.c: Regenerated.
430         * generated/in_pack_c16.c: Regenerated.
431         * generated/in_pack_c4.c: Regenerated.
432         * generated/in_pack_c8.c: Regenerated.
433         * generated/in_pack_i1.c: Regenerated.
434         * generated/in_pack_i16.c: Regenerated.
435         * generated/in_pack_i2.c: Regenerated.
436         * generated/in_pack_i4.c: Regenerated.
437         * generated/in_pack_i8.c: Regenerated.
438         * generated/in_pack_r10.c: Regenerated.
439         * generated/in_pack_r16.c: Regenerated.
440         * generated/in_pack_r4.c: Regenerated.
441         * generated/in_pack_r8.c: Regenerated.
442         * generated/in_unpack_c10.c: Regenerated.
443         * generated/in_unpack_c16.c: Regenerated.
444         * generated/in_unpack_c4.c: Regenerated.
445         * generated/in_unpack_c8.c: Regenerated.
446         * generated/in_unpack_i1.c: Regenerated.
447         * generated/in_unpack_i16.c: Regenerated.
448         * generated/in_unpack_i2.c: Regenerated.
449         * generated/in_unpack_i4.c: Regenerated.
450         * generated/in_unpack_i8.c: Regenerated.
451         * generated/in_unpack_r10.c: Regenerated.
452         * generated/in_unpack_r16.c: Regenerated.
453         * generated/in_unpack_r4.c: Regenerated.
454         * generated/in_unpack_r8.c: Regenerated.
455         * generated/matmul_c10.c: Regenerated.
456         * generated/matmul_c16.c: Regenerated.
457         * generated/matmul_c4.c: Regenerated.
458         * generated/matmul_c8.c: Regenerated.
459         * generated/matmul_i1.c: Regenerated.
460         * generated/matmul_i16.c: Regenerated.
461         * generated/matmul_i2.c: Regenerated.
462         * generated/matmul_i4.c: Regenerated.
463         * generated/matmul_i8.c: Regenerated.
464         * generated/matmul_l16.c: Regenerated.
465         * generated/matmul_l4.c: Regenerated.
466         * generated/matmul_l8.c: Regenerated.
467         * generated/matmul_r10.c: Regenerated.
468         * generated/matmul_r16.c: Regenerated.
469         * generated/matmul_r4.c: Regenerated.
470         * generated/matmul_r8.c: Regenerated.
471         * generated/maxloc0_16_i1.c: Regenerated.
472         * generated/maxloc0_16_i16.c: Regenerated.
473         * generated/maxloc0_16_i2.c: Regenerated.
474         * generated/maxloc0_16_i4.c: Regenerated.
475         * generated/maxloc0_16_i8.c: Regenerated.
476         * generated/maxloc0_16_r10.c: Regenerated.
477         * generated/maxloc0_16_r16.c: Regenerated.
478         * generated/maxloc0_16_r4.c: Regenerated.
479         * generated/maxloc0_16_r8.c: Regenerated.
480         * generated/maxloc0_4_i1.c: Regenerated.
481         * generated/maxloc0_4_i16.c: Regenerated.
482         * generated/maxloc0_4_i2.c: Regenerated.
483         * generated/maxloc0_4_i4.c: Regenerated.
484         * generated/maxloc0_4_i8.c: Regenerated.
485         * generated/maxloc0_4_r10.c: Regenerated.
486         * generated/maxloc0_4_r16.c: Regenerated.
487         * generated/maxloc0_4_r4.c: Regenerated.
488         * generated/maxloc0_4_r8.c: Regenerated.
489         * generated/maxloc0_8_i1.c: Regenerated.
490         * generated/maxloc0_8_i16.c: Regenerated.
491         * generated/maxloc0_8_i2.c: Regenerated.
492         * generated/maxloc0_8_i4.c: Regenerated.
493         * generated/maxloc0_8_i8.c: Regenerated.
494         * generated/maxloc0_8_r10.c: Regenerated.
495         * generated/maxloc0_8_r16.c: Regenerated.
496         * generated/maxloc0_8_r4.c: Regenerated.
497         * generated/maxloc0_8_r8.c: Regenerated.
498         * generated/maxloc1_16_i1.c: Regenerated.
499         * generated/maxloc1_16_i16.c: Regenerated.
500         * generated/maxloc1_16_i2.c: Regenerated.
501         * generated/maxloc1_16_i4.c: Regenerated.
502         * generated/maxloc1_16_i8.c: Regenerated.
503         * generated/maxloc1_16_r10.c: Regenerated.
504         * generated/maxloc1_16_r16.c: Regenerated.
505         * generated/maxloc1_16_r4.c: Regenerated.
506         * generated/maxloc1_16_r8.c: Regenerated.
507         * generated/maxloc1_4_i1.c: Regenerated.
508         * generated/maxloc1_4_i16.c: Regenerated.
509         * generated/maxloc1_4_i2.c: Regenerated.
510         * generated/maxloc1_4_i4.c: Regenerated.
511         * generated/maxloc1_4_i8.c: Regenerated.
512         * generated/maxloc1_4_r10.c: Regenerated.
513         * generated/maxloc1_4_r16.c: Regenerated.
514         * generated/maxloc1_4_r4.c: Regenerated.
515         * generated/maxloc1_4_r8.c: Regenerated.
516         * generated/maxloc1_8_i1.c: Regenerated.
517         * generated/maxloc1_8_i16.c: Regenerated.
518         * generated/maxloc1_8_i2.c: Regenerated.
519         * generated/maxloc1_8_i4.c: Regenerated.
520         * generated/maxloc1_8_i8.c: Regenerated.
521         * generated/maxloc1_8_r10.c: Regenerated.
522         * generated/maxloc1_8_r16.c: Regenerated.
523         * generated/maxloc1_8_r4.c: Regenerated.
524         * generated/maxloc1_8_r8.c: Regenerated.
525         * generated/maxval_i1.c: Regenerated.
526         * generated/maxval_i16.c: Regenerated.
527         * generated/maxval_i2.c: Regenerated.
528         * generated/maxval_i4.c: Regenerated.
529         * generated/maxval_i8.c: Regenerated.
530         * generated/maxval_r10.c: Regenerated.
531         * generated/maxval_r16.c: Regenerated.
532         * generated/maxval_r4.c: Regenerated.
533         * generated/maxval_r8.c: Regenerated.
534         * generated/minloc0_16_i1.c: Regenerated.
535         * generated/minloc0_16_i16.c: Regenerated.
536         * generated/minloc0_16_i2.c: Regenerated.
537         * generated/minloc0_16_i4.c: Regenerated.
538         * generated/minloc0_16_i8.c: Regenerated.
539         * generated/minloc0_16_r10.c: Regenerated.
540         * generated/minloc0_16_r16.c: Regenerated.
541         * generated/minloc0_16_r4.c: Regenerated.
542         * generated/minloc0_16_r8.c: Regenerated.
543         * generated/minloc0_4_i1.c: Regenerated.
544         * generated/minloc0_4_i16.c: Regenerated.
545         * generated/minloc0_4_i2.c: Regenerated.
546         * generated/minloc0_4_i4.c: Regenerated.
547         * generated/minloc0_4_i8.c: Regenerated.
548         * generated/minloc0_4_r10.c: Regenerated.
549         * generated/minloc0_4_r16.c: Regenerated.
550         * generated/minloc0_4_r4.c: Regenerated.
551         * generated/minloc0_4_r8.c: Regenerated.
552         * generated/minloc0_8_i1.c: Regenerated.
553         * generated/minloc0_8_i16.c: Regenerated.
554         * generated/minloc0_8_i2.c: Regenerated.
555         * generated/minloc0_8_i4.c: Regenerated.
556         * generated/minloc0_8_i8.c: Regenerated.
557         * generated/minloc0_8_r10.c: Regenerated.
558         * generated/minloc0_8_r16.c: Regenerated.
559         * generated/minloc0_8_r4.c: Regenerated.
560         * generated/minloc0_8_r8.c: Regenerated.
561         * generated/minloc1_16_i1.c: Regenerated.
562         * generated/minloc1_16_i16.c: Regenerated.
563         * generated/minloc1_16_i2.c: Regenerated.
564         * generated/minloc1_16_i4.c: Regenerated.
565         * generated/minloc1_16_i8.c: Regenerated.
566         * generated/minloc1_16_r10.c: Regenerated.
567         * generated/minloc1_16_r16.c: Regenerated.
568         * generated/minloc1_16_r4.c: Regenerated.
569         * generated/minloc1_16_r8.c: Regenerated.
570         * generated/minloc1_4_i1.c: Regenerated.
571         * generated/minloc1_4_i16.c: Regenerated.
572         * generated/minloc1_4_i2.c: Regenerated.
573         * generated/minloc1_4_i4.c: Regenerated.
574         * generated/minloc1_4_i8.c: Regenerated.
575         * generated/minloc1_4_r10.c: Regenerated.
576         * generated/minloc1_4_r16.c: Regenerated.
577         * generated/minloc1_4_r4.c: Regenerated.
578         * generated/minloc1_4_r8.c: Regenerated.
579         * generated/minloc1_8_i1.c: Regenerated.
580         * generated/minloc1_8_i16.c: Regenerated.
581         * generated/minloc1_8_i2.c: Regenerated.
582         * generated/minloc1_8_i4.c: Regenerated.
583         * generated/minloc1_8_i8.c: Regenerated.
584         * generated/minloc1_8_r10.c: Regenerated.
585         * generated/minloc1_8_r16.c: Regenerated.
586         * generated/minloc1_8_r4.c: Regenerated.
587         * generated/minloc1_8_r8.c: Regenerated.
588         * generated/minval_i1.c: Regenerated.
589         * generated/minval_i16.c: Regenerated.
590         * generated/minval_i2.c: Regenerated.
591         * generated/minval_i4.c: Regenerated.
592         * generated/minval_i8.c: Regenerated.
593         * generated/minval_r10.c: Regenerated.
594         * generated/minval_r16.c: Regenerated.
595         * generated/minval_r4.c: Regenerated.
596         * generated/minval_r8.c: Regenerated.
597         * generated/pack_c10.c: Regenerated.
598         * generated/pack_c16.c: Regenerated.
599         * generated/pack_c4.c: Regenerated.
600         * generated/pack_c8.c: Regenerated.
601         * generated/pack_i1.c: Regenerated.
602         * generated/pack_i16.c: Regenerated.
603         * generated/pack_i2.c: Regenerated.
604         * generated/pack_i4.c: Regenerated.
605         * generated/pack_i8.c: Regenerated.
606         * generated/pack_r10.c: Regenerated.
607         * generated/pack_r16.c: Regenerated.
608         * generated/pack_r4.c: Regenerated.
609         * generated/pack_r8.c: Regenerated.
610         * generated/product_c10.c: Regenerated.
611         * generated/product_c16.c: Regenerated.
612         * generated/product_c4.c: Regenerated.
613         * generated/product_c8.c: Regenerated.
614         * generated/product_i1.c: Regenerated.
615         * generated/product_i16.c: Regenerated.
616         * generated/product_i2.c: Regenerated.
617         * generated/product_i4.c: Regenerated.
618         * generated/product_i8.c: Regenerated.
619         * generated/product_r10.c: Regenerated.
620         * generated/product_r16.c: Regenerated.
621         * generated/product_r4.c: Regenerated.
622         * generated/product_r8.c: Regenerated.
623         * generated/reshape_c10.c: Regenerated.
624         * generated/reshape_c16.c: Regenerated.
625         * generated/reshape_c4.c: Regenerated.
626         * generated/reshape_c8.c: Regenerated.
627         * generated/reshape_i16.c: Regenerated.
628         * generated/reshape_i4.c: Regenerated.
629         * generated/reshape_i8.c: Regenerated.
630         * generated/reshape_r10.c: Regenerated.
631         * generated/reshape_r16.c: Regenerated.
632         * generated/reshape_r4.c: Regenerated.
633         * generated/reshape_r8.c: Regenerated.
634         * generated/shape_i16.c: Regenerated.
635         * generated/shape_i4.c: Regenerated.
636         * generated/shape_i8.c: Regenerated.
637         * generated/spread_c10.c: Regenerated.
638         * generated/spread_c16.c: Regenerated.
639         * generated/spread_c4.c: Regenerated.
640         * generated/spread_c8.c: Regenerated.
641         * generated/spread_i1.c: Regenerated.
642         * generated/spread_i16.c: Regenerated.
643         * generated/spread_i2.c: Regenerated.
644         * generated/spread_i4.c: Regenerated.
645         * generated/spread_i8.c: Regenerated.
646         * generated/spread_r10.c: Regenerated.
647         * generated/spread_r16.c: Regenerated.
648         * generated/spread_r4.c: Regenerated.
649         * generated/spread_r8.c: Regenerated.
650         * generated/sum_c10.c: Regenerated.
651         * generated/sum_c16.c: Regenerated.
652         * generated/sum_c4.c: Regenerated.
653         * generated/sum_c8.c: Regenerated.
654         * generated/sum_i1.c: Regenerated.
655         * generated/sum_i16.c: Regenerated.
656         * generated/sum_i2.c: Regenerated.
657         * generated/sum_i4.c: Regenerated.
658         * generated/sum_i8.c: Regenerated.
659         * generated/sum_r10.c: Regenerated.
660         * generated/sum_r16.c: Regenerated.
661         * generated/sum_r4.c: Regenerated.
662         * generated/sum_r8.c: Regenerated.
663         * generated/transpose_c10.c: Regenerated.
664         * generated/transpose_c16.c: Regenerated.
665         * generated/transpose_c4.c: Regenerated.
666         * generated/transpose_c8.c: Regenerated.
667         * generated/transpose_i16.c: Regenerated.
668         * generated/transpose_i4.c: Regenerated.
669         * generated/transpose_i8.c: Regenerated.
670         * generated/transpose_r10.c: Regenerated.
671         * generated/transpose_r16.c: Regenerated.
672         * generated/transpose_r4.c: Regenerated.
673         * generated/transpose_r8.c: Regenerated.
674         * generated/unpack_c10.c: Regenerated.
675         * generated/unpack_c16.c: Regenerated.
676         * generated/unpack_c4.c: Regenerated.
677         * generated/unpack_c8.c: Regenerated.
678         * generated/unpack_i1.c: Regenerated.
679         * generated/unpack_i16.c: Regenerated.
680         * generated/unpack_i2.c: Regenerated.
681         * generated/unpack_i4.c: Regenerated.
682         * generated/unpack_i8.c: Regenerated.
683         * generated/unpack_r10.c: Regenerated.
684         * generated/unpack_r16.c: Regenerated.
685         * generated/unpack_r4.c: Regenerated.
686         * generated/unpack_r8.c: Regenerated.
687
688 2009-06-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
689
690         * fmain.c (main): Don't PREFIX set_args.
691         * libgfortran.h (set_args): Use iexport_proto.
692         * runtime/main.c (set_args): Use iexport.
693
694 2009-06-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
695
696         PR libfortran/40008
697         * libgfortran.h: Define IOPARM_OPEN_HAS_NEWUNIT.
698         * io/open.c (st_open): Don't error on negative unit number if NEWUNIT
699         was specified. If NEWUNIT is specified, call new function to get the
700         unique unit number and assign it.
701         * io/io.h (st_parameter_open): Add pointer to newunit.  Add prototype for
702         next_available_newunit. Add prototype for new function,
703         get_unique_unit_number.
704         * io/unit.c: Declare next_available_newunit. Define the first newunit
705         number. (init_units): Initialize next_available_unit.
706         (get_unique_unit_number): New function. Fix whitespace and comments.
707         * io/transfer.c (data_transfer_init): Update error message to not be
708         specific to OPEN statements.
709
710 2009-06-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
711
712         PR libfortran/40334
713         * io/list_read.c (list_formatted_read_scalar): Set the end file
714         conditions after a return from EOF error.
715
716 2009-06-04  Janne Blomqvist  <jb@gcc.gnu.org>
717
718         PR libfortran/40330
719         * io/format.c (free_format_hash_table): Also free and nullify hash key.
720         (save_parsed_format): Copy string rather than pointer copy.
721         
722 2009-05-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
723
724         PR fortran/40019
725         * intrinsics/bit_intrinsics.c: New file.
726         * gfortran.map (GFORTRAN_1.2): New list.
727         * Makefile.am: Add intrinsics/bit_intrinsics.c.
728         * Makefile.in: Regenerate.
729
730 2009-05-29  Janne Blomqvist  <jb@gcc.gnu.org>
731
732         PR libfortran/40190
733         * configure.ac: Check for localtime_r and gmtime_r.
734         * intrinsics/date_and_time.c: Add fallback implementations for
735         localtime_r and gmtime_r.
736         (date_and_time): Change to use localtime_r and gmtime_r instead of
737         localtime and gmtime, respectively.
738         (itime0): Use localtime_r instead of localtime.
739         (ltime_0): Likewise.
740         (gmtime_0): Use gmtime_r instead of gmtime.
741         * config.h.in: Regenerated
742         * configure: Regenerated.
743
744 2009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
745
746         PR fortran/39178
747         * runtime/main.c (store_exe_path): Remove static attribute.
748         * libgfortran.h: Add back store_exe_path prototype.
749
750 2009-05-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
751
752         PR libfortran/40187
753         * intrinsics/iso_c_binding.c (c_f_pointer_u0):  Take care
754         of stride in "shape" argument.
755
756 2009-05-26  Tobias Burnus  <burnus@net-b.de>
757
758         PR fortran/39178
759         * runtime/main.c (store_exe_path): Make static
760         and multiple-times callable.
761         (set_args): Call store_exe_path.
762         * libgfortran.h: Remove store_exe_path prototype.
763         * fmain.c (main): Remove store_exe_path call.
764
765 2009-05-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
766
767         PR libfortran/37754
768         * io/write_float.def: Simplify format calculation.
769         
770 2009-05-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
771
772         PR fortran/22423
773         * io/transfer.c (read_block_direct): Avoid warning.
774         * runtime/string.c (compare0): Avoid warning.
775
776 2009-04-30  Janne Blomqvist  <jb@gcc.gnu.org>
777
778         PR libfortran/39667
779         * io/file_pos.c (st_rewind): Don't truncate or flush.
780         * io/intrinsics.c (fgetc): Flush if switching mode.
781         (fputc): Likewise.
782
783 2009-04-18  Janne Blomqvist  <jb@gcc.gnu.org>
784
785         PR libfortran/39782
786         * io/transfer.c (data_transfer_init): Don't flush before seek.
787         (finalize_transfer): Remove extra flush.
788
789 2009-04-17  Janne Blomqvist  <jb@gcc.gnu.org>
790
791         * io/io.h (is_preconnected): Remove prototype.
792         * io/unix.c (is_preconnected): Remove function.
793
794 2009-04-17  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
795
796         * configure.ac: Test for -ffunction-sections -fdata-sections and
797         set SECTION_FLAGS accordingly.
798         * configure: Regenerate.
799
800         * Makefile.am: Add SECTION_FLAGS to AM_CFLAGS.
801         * Makefile.in: Regenerate.
802
803 2009-04-15  Janne Blomqvist  <jb@gcc.gnu.org>
804
805         PR libfortran/38668
806         * io/transfer.c (finalize_transfer): Don't flush for advance='no'.
807
808 2009-04-15 Danny Smith  <dannysmith@clear.net.nz>
809
810         * io/write.c (itoa) : Rename back to gfc_itoa.
811         (write_i): Adjust call to write_decimal.
812         (write_integer):  Use gfc_itoa.
813
814 2009-04-10  Janne Blomqvist  <jb@gcc.gnu.org>
815
816         * io/io.h (move_pos_offset): Remove prototype.
817         * io/transfer.c (formatted_transfer_scalar_read): Use sseek
818         instead of move_pos_offset.
819         * io/unix.c (move_pos_offset): Remove.
820
821 2009-04-10  Janne Blomqvist  <jb@gcc.gnu.org>
822
823         PR libfortran/39665 libfortran/39702 libfortran/39709
824         * io/io.h (st_parameter_dt): Revert aligned attribute from u.p.value.
825         * io/list_read.c (read_complex): Read directly into user pointer.
826         (read_real): Likewise.
827         (list_formatted_read_scalar): Update read_complex and read_real calls.
828         (nml_read_obj): Read directly into user pointer.
829
830 2009-04-09  Janne Blomqvist  <jb@gcc.gnu.org>
831
832         PR libfortran/39665
833         * io/io.h (st_parameter_dt): Add aligned attribute to u.p.value.
834         * io/read.c (convert_real): Add note about alignment requirements.
835
836 2009-04-09  Nick Clifton  <nickc@redhat.com>
837
838         * m4/cshift0.m4: Change copyright header to refer to version 3
839         of the GNU General Public License with version 3.1 of the GCC
840         Runtime Library Exception and to point readers at the COPYING3
841         and COPYING3.RUNTIME files and the FSF's license web page.
842         * c99_protos.h: Likewise.
843         * config/fpu-387.h: Likewise.
844         * config/fpu-aix.h: Likewise.
845         * config/fpu-generic.h: Likewise.
846         * config/fpu-glibc.h: Likewise.
847         * config/fpu-sysv.h: Likewise.
848         * intrinsics/abort.c: Likewise.
849         * intrinsics/access.c: Likewise.
850         * intrinsics/args.c: Likewise.
851         * intrinsics/associated.c: Likewise.
852         * intrinsics/c99_functions.c: Likewise.
853         * intrinsics/chdir.c: Likewise.
854         * intrinsics/chmod.c: Likewise.
855         * intrinsics/clock.c: Likewise.
856         * intrinsics/cpu_time.c: Likewise.
857         * intrinsics/cshift0.c: Likewise.
858         * intrinsics/ctime.c: Likewise.
859         * intrinsics/date_and_time.c: Likewise.
860         * intrinsics/dprod_r8.f90: Likewise.
861         * intrinsics/dtime.c: Likewise.
862         * intrinsics/env.c: Likewise.
863         * intrinsics/eoshift0.c: Likewise.
864         * intrinsics/eoshift2.c: Likewise.
865         * intrinsics/erfc_scaled.c: Likewise.
866         * intrinsics/erfc_scaled_inc.c: Likewise.
867         * intrinsics/etime.c: Likewise.
868         * intrinsics/exit.c: Likewise.
869         * intrinsics/f2c_specifics.F90: Likewise.
870         * intrinsics/fnum.c: Likewise.
871         * intrinsics/gerror.c: Likewise.
872         * intrinsics/getXid.c: Likewise.
873         * intrinsics/getcwd.c: Likewise.
874         * intrinsics/getlog.c: Likewise.
875         * intrinsics/hostnm.c: Likewise.
876         * intrinsics/ierrno.c: Likewise.
877         * intrinsics/ishftc.c: Likewise.
878         * intrinsics/iso_c_binding.c: Likewise.
879         * intrinsics/iso_c_binding.h: Likewise.
880         * intrinsics/iso_c_generated_procs.c: Likewise.
881         * intrinsics/kill.c: Likewise.
882         * intrinsics/link.c: Likewise.
883         * intrinsics/malloc.c: Likewise.
884         * intrinsics/move_alloc.c: Likewise.
885         * intrinsics/mvbits.c: Likewise.
886         * intrinsics/pack_generic.c: Likewise.
887         * intrinsics/perror.c: Likewise.
888         * intrinsics/rand.c: Likewise.
889         * intrinsics/random.c: Likewise.
890         * intrinsics/rename.c: Likewise.
891         * intrinsics/reshape_generic.c: Likewise.
892         * intrinsics/reshape_packed.c: Likewise.
893         * intrinsics/selected_char_kind.c: Likewise.
894         * intrinsics/selected_int_kind.f90: Likewise.
895         * intrinsics/selected_real_kind.f90: Likewise.
896         * intrinsics/signal.c: Likewise.
897         * intrinsics/size.c: Likewise.
898         * intrinsics/sleep.c: Likewise.
899         * intrinsics/spread_generic.c: Likewise.
900         * intrinsics/stat.c: Likewise.
901         * intrinsics/string_intrinsics.c: Likewise.
902         * intrinsics/string_intrinsics_inc.c: Likewise.
903         * intrinsics/symlnk.c: Likewise.
904         * intrinsics/system.c: Likewise.
905         * intrinsics/system_clock.c: Likewise.
906         * intrinsics/time.c: Likewise.
907         * intrinsics/time_1.h: Likewise.
908         * intrinsics/transpose_generic.c: Likewise.
909         * intrinsics/umask.c: Likewise.
910         * intrinsics/unlink.c: Likewise.
911         * intrinsics/unpack_generic.c: Likewise.
912         * io/close.c: Likewise.
913         * io/fbuf.c: Likewise.
914         * io/file_pos.c: Likewise.
915         * io/format.c: Likewise.
916         * io/inquire.c: Likewise.
917         * io/intrinsics.c: Likewise.
918         * io/io.h: Likewise.
919         * io/list_read.c: Likewise.
920         * io/lock.c: Likewise.
921         * io/open.c: Likewise.
922         * io/read.c: Likewise.
923         * io/size_from_kind.c: Likewise.
924         * io/transfer.c: Likewise.
925         * io/unit.c: Likewise.
926         * io/unix.c: Likewise.
927         * io/write.c: Likewise.
928         * io/write_float.def: Likewise.
929         * libgfortran.h: Likewise.
930         * m4/all.m4: Likewise.
931         * m4/any.m4: Likewise.
932         * m4/count.m4: Likewise.
933         * m4/cshift1.m4: Likewise.
934         * m4/eoshift1.m4: Likewise.
935         * m4/eoshift3.m4: Likewise.
936         * m4/exponent.m4: Likewise.
937         * m4/fraction.m4: Likewise.
938         * m4/head.m4: Likewise.
939         * m4/in_pack.m4: Likewise.
940         * m4/in_unpack.m4: Likewise.
941         * m4/matmul.m4: Likewise.
942         * m4/matmull.m4: Likewise.
943         * m4/maxloc0.m4: Likewise.
944         * m4/maxloc1.m4: Likewise.
945         * m4/maxval.m4: Likewise.
946         * m4/minloc0.m4: Likewise.
947         * m4/minloc1.m4: Likewise.
948         * m4/minval.m4: Likewise.
949         * m4/nearest.m4: Likewise.
950         * m4/pack.m4: Likewise.
951         * m4/pow.m4: Likewise.
952         * m4/product.m4: Likewise.
953         * m4/reshape.m4: Likewise.
954         * m4/rrspacing.m4: Likewise.
955         * m4/set_exponent.m4: Likewise.
956         * m4/shape.m4: Likewise.
957         * m4/spacing.m4: Likewise.
958         * m4/spread.m4: Likewise.
959         * m4/sum.m4: Likewise.
960         * m4/transpose.m4: Likewise.
961         * m4/unpack.m4: Likewise.
962         * runtime/backtrace.c: Likewise.
963         * runtime/compile_options.c: Likewise.
964         * runtime/convert_char.c: Likewise.
965         * runtime/environ.c: Likewise.
966         * runtime/error.c: Likewise.
967         * runtime/in_pack_generic.c: Likewise.
968         * runtime/in_unpack_generic.c: Likewise.
969         * runtime/main.c: Likewise.
970         * runtime/memory.c: Likewise.
971         * runtime/pause.c: Likewise.
972         * runtime/select.c: Likewise.
973         * runtime/select_inc.c: Likewise.
974         * runtime/stop.c: Likewise.
975         * runtime/string.c: Likewise.
976         * generated/_abs_c10.F90: Regenerate.
977         * generated/_abs_c16.F90: Regenerate.
978         * generated/_abs_c4.F90: Regenerate.
979         * generated/_abs_c8.F90: Regenerate.
980         * generated/_abs_i16.F90: Regenerate.
981         * generated/_abs_i4.F90: Regenerate.
982         * generated/_abs_i8.F90: Regenerate.
983         * generated/_abs_r10.F90: Regenerate.
984         * generated/_abs_r16.F90: Regenerate.
985         * generated/_abs_r4.F90: Regenerate.
986         * generated/_abs_r8.F90: Regenerate.
987         * generated/_acos_r10.F90: Regenerate.
988         * generated/_acos_r16.F90: Regenerate.
989         * generated/_acos_r4.F90: Regenerate.
990         * generated/_acos_r8.F90: Regenerate.
991         * generated/_acosh_r10.F90: Regenerate.
992         * generated/_acosh_r16.F90: Regenerate.
993         * generated/_acosh_r4.F90: Regenerate.
994         * generated/_acosh_r8.F90: Regenerate.
995         * generated/_aimag_c10.F90: Regenerate.
996         * generated/_aimag_c16.F90: Regenerate.
997         * generated/_aimag_c4.F90: Regenerate.
998         * generated/_aimag_c8.F90: Regenerate.
999         * generated/_aint_r10.F90: Regenerate.
1000         * generated/_aint_r16.F90: Regenerate.
1001         * generated/_aint_r4.F90: Regenerate.
1002         * generated/_aint_r8.F90: Regenerate.
1003         * generated/_anint_r10.F90: Regenerate.
1004         * generated/_anint_r16.F90: Regenerate.
1005         * generated/_anint_r4.F90: Regenerate.
1006         * generated/_anint_r8.F90: Regenerate.
1007         * generated/_asin_r10.F90: Regenerate.
1008         * generated/_asin_r16.F90: Regenerate.
1009         * generated/_asin_r4.F90: Regenerate.
1010         * generated/_asin_r8.F90: Regenerate.
1011         * generated/_asinh_r10.F90: Regenerate.
1012         * generated/_asinh_r16.F90: Regenerate.
1013         * generated/_asinh_r4.F90: Regenerate.
1014         * generated/_asinh_r8.F90: Regenerate.
1015         * generated/_atan2_r10.F90: Regenerate.
1016         * generated/_atan2_r16.F90: Regenerate.
1017         * generated/_atan2_r4.F90: Regenerate.
1018         * generated/_atan2_r8.F90: Regenerate.
1019         * generated/_atan_r10.F90: Regenerate.
1020         * generated/_atan_r16.F90: Regenerate.
1021         * generated/_atan_r4.F90: Regenerate.
1022         * generated/_atan_r8.F90: Regenerate.
1023         * generated/_atanh_r10.F90: Regenerate.
1024         * generated/_atanh_r16.F90: Regenerate.
1025         * generated/_atanh_r4.F90: Regenerate.
1026         * generated/_atanh_r8.F90: Regenerate.
1027         * generated/_conjg_c10.F90: Regenerate.
1028         * generated/_conjg_c16.F90: Regenerate.
1029         * generated/_conjg_c4.F90: Regenerate.
1030         * generated/_conjg_c8.F90: Regenerate.
1031         * generated/_cos_c10.F90: Regenerate.
1032         * generated/_cos_c16.F90: Regenerate.
1033         * generated/_cos_c4.F90: Regenerate.
1034         * generated/_cos_c8.F90: Regenerate.
1035         * generated/_cos_r10.F90: Regenerate.
1036         * generated/_cos_r16.F90: Regenerate.
1037         * generated/_cos_r4.F90: Regenerate.
1038         * generated/_cos_r8.F90: Regenerate.
1039         * generated/_cosh_r10.F90: Regenerate.
1040         * generated/_cosh_r16.F90: Regenerate.
1041         * generated/_cosh_r4.F90: Regenerate.
1042         * generated/_cosh_r8.F90: Regenerate.
1043         * generated/_dim_i16.F90: Regenerate.
1044         * generated/_dim_i4.F90: Regenerate.
1045         * generated/_dim_i8.F90: Regenerate.
1046         * generated/_dim_r10.F90: Regenerate.
1047         * generated/_dim_r16.F90: Regenerate.
1048         * generated/_dim_r4.F90: Regenerate.
1049         * generated/_dim_r8.F90: Regenerate.
1050         * generated/_exp_c10.F90: Regenerate.
1051         * generated/_exp_c16.F90: Regenerate.
1052         * generated/_exp_c4.F90: Regenerate.
1053         * generated/_exp_c8.F90: Regenerate.
1054         * generated/_exp_r10.F90: Regenerate.
1055         * generated/_exp_r16.F90: Regenerate.
1056         * generated/_exp_r4.F90: Regenerate.
1057         * generated/_exp_r8.F90: Regenerate.
1058         * generated/_log10_r10.F90: Regenerate.
1059         * generated/_log10_r16.F90: Regenerate.
1060         * generated/_log10_r4.F90: Regenerate.
1061         * generated/_log10_r8.F90: Regenerate.
1062         * generated/_log_c10.F90: Regenerate.
1063         * generated/_log_c16.F90: Regenerate.
1064         * generated/_log_c4.F90: Regenerate.
1065         * generated/_log_c8.F90: Regenerate.
1066         * generated/_log_r10.F90: Regenerate.
1067         * generated/_log_r16.F90: Regenerate.
1068         * generated/_log_r4.F90: Regenerate.
1069         * generated/_log_r8.F90: Regenerate.
1070         * generated/_mod_i16.F90: Regenerate.
1071         * generated/_mod_i4.F90: Regenerate.
1072         * generated/_mod_i8.F90: Regenerate.
1073         * generated/_mod_r10.F90: Regenerate.
1074         * generated/_mod_r16.F90: Regenerate.
1075         * generated/_mod_r4.F90: Regenerate.
1076         * generated/_mod_r8.F90: Regenerate.
1077         * generated/_sign_i16.F90: Regenerate.
1078         * generated/_sign_i4.F90: Regenerate.
1079         * generated/_sign_i8.F90: Regenerate.
1080         * generated/_sign_r10.F90: Regenerate.
1081         * generated/_sign_r16.F90: Regenerate.
1082         * generated/_sign_r4.F90: Regenerate.
1083         * generated/_sign_r8.F90: Regenerate.
1084         * generated/_sin_c10.F90: Regenerate.
1085         * generated/_sin_c16.F90: Regenerate.
1086         * generated/_sin_c4.F90: Regenerate.
1087         * generated/_sin_c8.F90: Regenerate.
1088         * generated/_sin_r10.F90: Regenerate.
1089         * generated/_sin_r16.F90: Regenerate.
1090         * generated/_sin_r4.F90: Regenerate.
1091         * generated/_sin_r8.F90: Regenerate.
1092         * generated/_sinh_r10.F90: Regenerate.
1093         * generated/_sinh_r16.F90: Regenerate.
1094         * generated/_sinh_r4.F90: Regenerate.
1095         * generated/_sinh_r8.F90: Regenerate.
1096         * generated/_sqrt_c10.F90: Regenerate.
1097         * generated/_sqrt_c16.F90: Regenerate.
1098         * generated/_sqrt_c4.F90: Regenerate.
1099         * generated/_sqrt_c8.F90: Regenerate.
1100         * generated/_sqrt_r10.F90: Regenerate.
1101         * generated/_sqrt_r16.F90: Regenerate.
1102         * generated/_sqrt_r4.F90: Regenerate.
1103         * generated/_sqrt_r8.F90: Regenerate.
1104         * generated/_tan_r10.F90: Regenerate.
1105         * generated/_tan_r16.F90: Regenerate.
1106         * generated/_tan_r4.F90: Regenerate.
1107         * generated/_tan_r8.F90: Regenerate.
1108         * generated/_tanh_r10.F90: Regenerate.
1109         * generated/_tanh_r16.F90: Regenerate.
1110         * generated/_tanh_r4.F90: Regenerate.
1111         * generated/_tanh_r8.F90: Regenerate.
1112         * generated/all_l1.c: Regenerate.
1113         * generated/all_l16.c: Regenerate.
1114         * generated/all_l2.c: Regenerate.
1115         * generated/all_l4.c: Regenerate.
1116         * generated/all_l8.c: Regenerate.
1117         * generated/any_l1.c: Regenerate.
1118         * generated/any_l16.c: Regenerate.
1119         * generated/any_l2.c: Regenerate.
1120         * generated/any_l4.c: Regenerate.
1121         * generated/any_l8.c: Regenerate.
1122         * generated/count_16_l.c: Regenerate.
1123         * generated/count_1_l.c: Regenerate.
1124         * generated/count_2_l.c: Regenerate.
1125         * generated/count_4_l.c: Regenerate.
1126         * generated/count_8_l.c: Regenerate.
1127         * generated/cshift0_c10.c: Regenerate.
1128         * generated/cshift0_c16.c: Regenerate.
1129         * generated/cshift0_c4.c: Regenerate.
1130         * generated/cshift0_c8.c: Regenerate.
1131         * generated/cshift0_i1.c: Regenerate.
1132         * generated/cshift0_i16.c: Regenerate.
1133         * generated/cshift0_i2.c: Regenerate.
1134         * generated/cshift0_i4.c: Regenerate.
1135         * generated/cshift0_i8.c: Regenerate.
1136         * generated/cshift0_r10.c: Regenerate.
1137         * generated/cshift0_r16.c: Regenerate.
1138         * generated/cshift0_r4.c: Regenerate.
1139         * generated/cshift0_r8.c: Regenerate.
1140         * generated/cshift1_16.c: Regenerate.
1141         * generated/cshift1_4.c: Regenerate.
1142         * generated/cshift1_8.c: Regenerate.
1143         * generated/eoshift1_16.c: Regenerate.
1144         * generated/eoshift1_4.c: Regenerate.
1145         * generated/eoshift1_8.c: Regenerate.
1146         * generated/eoshift3_16.c: Regenerate.
1147         * generated/eoshift3_4.c: Regenerate.
1148         * generated/eoshift3_8.c: Regenerate.
1149         * generated/exponent_r10.c: Regenerate.
1150         * generated/exponent_r16.c: Regenerate.
1151         * generated/exponent_r4.c: Regenerate.
1152         * generated/exponent_r8.c: Regenerate.
1153         * generated/fraction_r10.c: Regenerate.
1154         * generated/fraction_r16.c: Regenerate.
1155         * generated/fraction_r4.c: Regenerate.
1156         * generated/fraction_r8.c: Regenerate.
1157         * generated/in_pack_c10.c: Regenerate.
1158         * generated/in_pack_c16.c: Regenerate.
1159         * generated/in_pack_c4.c: Regenerate.
1160         * generated/in_pack_c8.c: Regenerate.
1161         * generated/in_pack_i1.c: Regenerate.
1162         * generated/in_pack_i16.c: Regenerate.
1163         * generated/in_pack_i2.c: Regenerate.
1164         * generated/in_pack_i4.c: Regenerate.
1165         * generated/in_pack_i8.c: Regenerate.
1166         * generated/in_pack_r10.c: Regenerate.
1167         * generated/in_pack_r16.c: Regenerate.
1168         * generated/in_pack_r4.c: Regenerate.
1169         * generated/in_pack_r8.c: Regenerate.
1170         * generated/in_unpack_c10.c: Regenerate.
1171         * generated/in_unpack_c16.c: Regenerate.
1172         * generated/in_unpack_c4.c: Regenerate.
1173         * generated/in_unpack_c8.c: Regenerate.
1174         * generated/in_unpack_i1.c: Regenerate.
1175         * generated/in_unpack_i16.c: Regenerate.
1176         * generated/in_unpack_i2.c: Regenerate.
1177         * generated/in_unpack_i4.c: Regenerate.
1178         * generated/in_unpack_i8.c: Regenerate.
1179         * generated/in_unpack_r10.c: Regenerate.
1180         * generated/in_unpack_r16.c: Regenerate.
1181         * generated/in_unpack_r4.c: Regenerate.
1182         * generated/in_unpack_r8.c: Regenerate.
1183         * generated/matmul_c10.c: Regenerate.
1184         * generated/matmul_c16.c: Regenerate.
1185         * generated/matmul_c4.c: Regenerate.
1186         * generated/matmul_c8.c: Regenerate.
1187         * generated/matmul_i1.c: Regenerate.
1188         * generated/matmul_i16.c: Regenerate.
1189         * generated/matmul_i2.c: Regenerate.
1190         * generated/matmul_i4.c: Regenerate.
1191         * generated/matmul_i8.c: Regenerate.
1192         * generated/matmul_l16.c: Regenerate.
1193         * generated/matmul_l4.c: Regenerate.
1194         * generated/matmul_l8.c: Regenerate.
1195         * generated/matmul_r10.c: Regenerate.
1196         * generated/matmul_r16.c: Regenerate.
1197         * generated/matmul_r4.c: Regenerate.
1198         * generated/matmul_r8.c: Regenerate.
1199         * generated/maxloc0_16_i1.c: Regenerate.
1200         * generated/maxloc0_16_i16.c: Regenerate.
1201         * generated/maxloc0_16_i2.c: Regenerate.
1202         * generated/maxloc0_16_i4.c: Regenerate.
1203         * generated/maxloc0_16_i8.c: Regenerate.
1204         * generated/maxloc0_16_r10.c: Regenerate.
1205         * generated/maxloc0_16_r16.c: Regenerate.
1206         * generated/maxloc0_16_r4.c: Regenerate.
1207         * generated/maxloc0_16_r8.c: Regenerate.
1208         * generated/maxloc0_4_i1.c: Regenerate.
1209         * generated/maxloc0_4_i16.c: Regenerate.
1210         * generated/maxloc0_4_i2.c: Regenerate.
1211         * generated/maxloc0_4_i4.c: Regenerate.
1212         * generated/maxloc0_4_i8.c: Regenerate.
1213         * generated/maxloc0_4_r10.c: Regenerate.
1214         * generated/maxloc0_4_r16.c: Regenerate.
1215         * generated/maxloc0_4_r4.c: Regenerate.
1216         * generated/maxloc0_4_r8.c: Regenerate.
1217         * generated/maxloc0_8_i1.c: Regenerate.
1218         * generated/maxloc0_8_i16.c: Regenerate.
1219         * generated/maxloc0_8_i2.c: Regenerate.
1220         * generated/maxloc0_8_i4.c: Regenerate.
1221         * generated/maxloc0_8_i8.c: Regenerate.
1222         * generated/maxloc0_8_r10.c: Regenerate.
1223         * generated/maxloc0_8_r16.c: Regenerate.
1224         * generated/maxloc0_8_r4.c: Regenerate.
1225         * generated/maxloc0_8_r8.c: Regenerate.
1226         * generated/maxloc1_16_i1.c: Regenerate.
1227         * generated/maxloc1_16_i16.c: Regenerate.
1228         * generated/maxloc1_16_i2.c: Regenerate.
1229         * generated/maxloc1_16_i4.c: Regenerate.
1230         * generated/maxloc1_16_i8.c: Regenerate.
1231         * generated/maxloc1_16_r10.c: Regenerate.
1232         * generated/maxloc1_16_r16.c: Regenerate.
1233         * generated/maxloc1_16_r4.c: Regenerate.
1234         * generated/maxloc1_16_r8.c: Regenerate.
1235         * generated/maxloc1_4_i1.c: Regenerate.
1236         * generated/maxloc1_4_i16.c: Regenerate.
1237         * generated/maxloc1_4_i2.c: Regenerate.
1238         * generated/maxloc1_4_i4.c: Regenerate.
1239         * generated/maxloc1_4_i8.c: Regenerate.
1240         * generated/maxloc1_4_r10.c: Regenerate.
1241         * generated/maxloc1_4_r16.c: Regenerate.
1242         * generated/maxloc1_4_r4.c: Regenerate.
1243         * generated/maxloc1_4_r8.c: Regenerate.
1244         * generated/maxloc1_8_i1.c: Regenerate.
1245         * generated/maxloc1_8_i16.c: Regenerate.
1246         * generated/maxloc1_8_i2.c: Regenerate.
1247         * generated/maxloc1_8_i4.c: Regenerate.
1248         * generated/maxloc1_8_i8.c: Regenerate.
1249         * generated/maxloc1_8_r10.c: Regenerate.
1250         * generated/maxloc1_8_r16.c: Regenerate.
1251         * generated/maxloc1_8_r4.c: Regenerate.
1252         * generated/maxloc1_8_r8.c: Regenerate.
1253         * generated/maxval_i1.c: Regenerate.
1254         * generated/maxval_i16.c: Regenerate.
1255         * generated/maxval_i2.c: Regenerate.
1256         * generated/maxval_i4.c: Regenerate.
1257         * generated/maxval_i8.c: Regenerate.
1258         * generated/maxval_r10.c: Regenerate.
1259         * generated/maxval_r16.c: Regenerate.
1260         * generated/maxval_r4.c: Regenerate.
1261         * generated/maxval_r8.c: Regenerate.
1262         * generated/minloc0_16_i1.c: Regenerate.
1263         * generated/minloc0_16_i16.c: Regenerate.
1264         * generated/minloc0_16_i2.c: Regenerate.
1265         * generated/minloc0_16_i4.c: Regenerate.
1266         * generated/minloc0_16_i8.c: Regenerate.
1267         * generated/minloc0_16_r10.c: Regenerate.
1268         * generated/minloc0_16_r16.c: Regenerate.
1269         * generated/minloc0_16_r4.c: Regenerate.
1270         * generated/minloc0_16_r8.c: Regenerate.
1271         * generated/minloc0_4_i1.c: Regenerate.
1272         * generated/minloc0_4_i16.c: Regenerate.
1273         * generated/minloc0_4_i2.c: Regenerate.
1274         * generated/minloc0_4_i4.c: Regenerate.
1275         * generated/minloc0_4_i8.c: Regenerate.
1276         * generated/minloc0_4_r10.c: Regenerate.
1277         * generated/minloc0_4_r16.c: Regenerate.
1278         * generated/minloc0_4_r4.c: Regenerate.
1279         * generated/minloc0_4_r8.c: Regenerate.
1280         * generated/minloc0_8_i1.c: Regenerate.
1281         * generated/minloc0_8_i16.c: Regenerate.
1282         * generated/minloc0_8_i2.c: Regenerate.
1283         * generated/minloc0_8_i4.c: Regenerate.
1284         * generated/minloc0_8_i8.c: Regenerate.
1285         * generated/minloc0_8_r10.c: Regenerate.
1286         * generated/minloc0_8_r16.c: Regenerate.
1287         * generated/minloc0_8_r4.c: Regenerate.
1288         * generated/minloc0_8_r8.c: Regenerate.
1289         * generated/minloc1_16_i1.c: Regenerate.
1290         * generated/minloc1_16_i16.c: Regenerate.
1291         * generated/minloc1_16_i2.c: Regenerate.
1292         * generated/minloc1_16_i4.c: Regenerate.
1293         * generated/minloc1_16_i8.c: Regenerate.
1294         * generated/minloc1_16_r10.c: Regenerate.
1295         * generated/minloc1_16_r16.c: Regenerate.
1296         * generated/minloc1_16_r4.c: Regenerate.
1297         * generated/minloc1_16_r8.c: Regenerate.
1298         * generated/minloc1_4_i1.c: Regenerate.
1299         * generated/minloc1_4_i16.c: Regenerate.
1300         * generated/minloc1_4_i2.c: Regenerate.
1301         * generated/minloc1_4_i4.c: Regenerate.
1302         * generated/minloc1_4_i8.c: Regenerate.
1303         * generated/minloc1_4_r10.c: Regenerate.
1304         * generated/minloc1_4_r16.c: Regenerate.
1305         * generated/minloc1_4_r4.c: Regenerate.
1306         * generated/minloc1_4_r8.c: Regenerate.
1307         * generated/minloc1_8_i1.c: Regenerate.
1308         * generated/minloc1_8_i16.c: Regenerate.
1309         * generated/minloc1_8_i2.c: Regenerate.
1310         * generated/minloc1_8_i4.c: Regenerate.
1311         * generated/minloc1_8_i8.c: Regenerate.
1312         * generated/minloc1_8_r10.c: Regenerate.
1313         * generated/minloc1_8_r16.c: Regenerate.
1314         * generated/minloc1_8_r4.c: Regenerate.
1315         * generated/minloc1_8_r8.c: Regenerate.
1316         * generated/minval_i1.c: Regenerate.
1317         * generated/minval_i16.c: Regenerate.
1318         * generated/minval_i2.c: Regenerate.
1319         * generated/minval_i4.c: Regenerate.
1320         * generated/minval_i8.c: Regenerate.
1321         * generated/minval_r10.c: Regenerate.
1322         * generated/minval_r16.c: Regenerate.
1323         * generated/minval_r4.c: Regenerate.
1324         * generated/minval_r8.c: Regenerate.
1325         * generated/misc_specifics.F90: Regenerate.
1326         * generated/nearest_r10.c: Regenerate.
1327         * generated/nearest_r16.c: Regenerate.
1328         * generated/nearest_r4.c: Regenerate.
1329         * generated/nearest_r8.c: Regenerate.
1330         * generated/pack_c10.c: Regenerate.
1331         * generated/pack_c16.c: Regenerate.
1332         * generated/pack_c4.c: Regenerate.
1333         * generated/pack_c8.c: Regenerate.
1334         * generated/pack_i1.c: Regenerate.
1335         * generated/pack_i16.c: Regenerate.
1336         * generated/pack_i2.c: Regenerate.
1337         * generated/pack_i4.c: Regenerate.
1338         * generated/pack_i8.c: Regenerate.
1339         * generated/pack_r10.c: Regenerate.
1340         * generated/pack_r16.c: Regenerate.
1341         * generated/pack_r4.c: Regenerate.
1342         * generated/pack_r8.c: Regenerate.
1343         * generated/pow_c10_i16.c: Regenerate.
1344         * generated/pow_c10_i4.c: Regenerate.
1345         * generated/pow_c10_i8.c: Regenerate.
1346         * generated/pow_c16_i16.c: Regenerate.
1347         * generated/pow_c16_i4.c: Regenerate.
1348         * generated/pow_c16_i8.c: Regenerate.
1349         * generated/pow_c4_i16.c: Regenerate.
1350         * generated/pow_c4_i4.c: Regenerate.
1351         * generated/pow_c4_i8.c: Regenerate.
1352         * generated/pow_c8_i16.c: Regenerate.
1353         * generated/pow_c8_i4.c: Regenerate.
1354         * generated/pow_c8_i8.c: Regenerate.
1355         * generated/pow_i16_i16.c: Regenerate.
1356         * generated/pow_i16_i4.c: Regenerate.
1357         * generated/pow_i16_i8.c: Regenerate.
1358         * generated/pow_i4_i16.c: Regenerate.
1359         * generated/pow_i4_i4.c: Regenerate.
1360         * generated/pow_i4_i8.c: Regenerate.
1361         * generated/pow_i8_i16.c: Regenerate.
1362         * generated/pow_i8_i4.c: Regenerate.
1363         * generated/pow_i8_i8.c: Regenerate.
1364         * generated/pow_r10_i16.c: Regenerate.
1365         * generated/pow_r10_i8.c: Regenerate.
1366         * generated/pow_r16_i16.c: Regenerate.
1367         * generated/pow_r16_i8.c: Regenerate.
1368         * generated/pow_r4_i16.c: Regenerate.
1369         * generated/pow_r4_i8.c: Regenerate.
1370         * generated/pow_r8_i16.c: Regenerate.
1371         * generated/pow_r8_i8.c: Regenerate.
1372         * generated/product_c10.c: Regenerate.
1373         * generated/product_c16.c: Regenerate.
1374         * generated/product_c4.c: Regenerate.
1375         * generated/product_c8.c: Regenerate.
1376         * generated/product_i1.c: Regenerate.
1377         * generated/product_i16.c: Regenerate.
1378         * generated/product_i2.c: Regenerate.
1379         * generated/product_i4.c: Regenerate.
1380         * generated/product_i8.c: Regenerate.
1381         * generated/product_r10.c: Regenerate.
1382         * generated/product_r16.c: Regenerate.
1383         * generated/product_r4.c: Regenerate.
1384         * generated/product_r8.c: Regenerate.
1385         * generated/reshape_c10.c: Regenerate.
1386         * generated/reshape_c16.c: Regenerate.
1387         * generated/reshape_c4.c: Regenerate.
1388         * generated/reshape_c8.c: Regenerate.
1389         * generated/reshape_i16.c: Regenerate.
1390         * generated/reshape_i4.c: Regenerate.
1391         * generated/reshape_i8.c: Regenerate.
1392         * generated/reshape_r10.c: Regenerate.
1393         * generated/reshape_r16.c: Regenerate.
1394         * generated/reshape_r4.c: Regenerate.
1395         * generated/reshape_r8.c: Regenerate.
1396         * generated/rrspacing_r10.c: Regenerate.
1397         * generated/rrspacing_r16.c: Regenerate.
1398         * generated/rrspacing_r4.c: Regenerate.
1399         * generated/rrspacing_r8.c: Regenerate.
1400         * generated/set_exponent_r10.c: Regenerate.
1401         * generated/set_exponent_r16.c: Regenerate.
1402         * generated/set_exponent_r4.c: Regenerate.
1403         * generated/set_exponent_r8.c: Regenerate.
1404         * generated/shape_i16.c: Regenerate.
1405         * generated/shape_i4.c: Regenerate.
1406         * generated/shape_i8.c: Regenerate.
1407         * generated/spacing_r10.c: Regenerate.
1408         * generated/spacing_r16.c: Regenerate.
1409         * generated/spacing_r4.c: Regenerate.
1410         * generated/spacing_r8.c: Regenerate.
1411         * generated/spread_c10.c: Regenerate.
1412         * generated/spread_c16.c: Regenerate.
1413         * generated/spread_c4.c: Regenerate.
1414         * generated/spread_c8.c: Regenerate.
1415         * generated/spread_i1.c: Regenerate.
1416         * generated/spread_i16.c: Regenerate.
1417         * generated/spread_i2.c: Regenerate.
1418         * generated/spread_i4.c: Regenerate.
1419         * generated/spread_i8.c: Regenerate.
1420         * generated/spread_r10.c: Regenerate.
1421         * generated/spread_r16.c: Regenerate.
1422         * generated/spread_r4.c: Regenerate.
1423         * generated/spread_r8.c: Regenerate.
1424         * generated/sum_c10.c: Regenerate.
1425         * generated/sum_c16.c: Regenerate.
1426         * generated/sum_c4.c: Regenerate.
1427         * generated/sum_c8.c: Regenerate.
1428         * generated/sum_i1.c: Regenerate.
1429         * generated/sum_i16.c: Regenerate.
1430         * generated/sum_i2.c: Regenerate.
1431         * generated/sum_i4.c: Regenerate.
1432         * generated/sum_i8.c: Regenerate.
1433         * generated/sum_r10.c: Regenerate.
1434         * generated/sum_r16.c: Regenerate.
1435         * generated/sum_r4.c: Regenerate.
1436         * generated/sum_r8.c: Regenerate.
1437         * generated/transpose_c10.c: Regenerate.
1438         * generated/transpose_c16.c: Regenerate.
1439         * generated/transpose_c4.c: Regenerate.
1440         * generated/transpose_c8.c: Regenerate.
1441         * generated/transpose_i16.c: Regenerate.
1442         * generated/transpose_i4.c: Regenerate.
1443         * generated/transpose_i8.c: Regenerate.
1444         * generated/transpose_r10.c: Regenerate.
1445         * generated/transpose_r16.c: Regenerate.
1446         * generated/transpose_r4.c: Regenerate.
1447         * generated/transpose_r8.c: Regenerate.
1448         * generated/unpack_c10.c: Regenerate.
1449         * generated/unpack_c16.c: Regenerate.
1450         * generated/unpack_c4.c: Regenerate.
1451         * generated/unpack_c8.c: Regenerate.
1452         * generated/unpack_i1.c: Regenerate.
1453         * generated/unpack_i16.c: Regenerate.
1454         * generated/unpack_i2.c: Regenerate.
1455         * generated/unpack_i4.c: Regenerate.
1456         * generated/unpack_i8.c: Regenerate.
1457         * generated/unpack_r10.c: Regenerate.
1458         * generated/unpack_r16.c: Regenerate.
1459         * generated/unpack_r4.c: Regenerate.
1460         * generated/unpack_r8.c: Regenerate.
1461
1462 2009-04-08  Janne Blomqvist  <jb@gcc.gnu.org>
1463
1464         * io/open.c (already_open): Test for POSIX close return value.
1465         * io/unit.c (close_unit_1): Likewise.
1466         * io/unix.c (raw_close): Return 0 for success for preconnected units.
1467
1468 2009-04-08  Janne Blomqvist  <jb@gcc.gnu.org>
1469
1470         * runtime/string.c (compare0): Use gfc_charlen_type.
1471         * runtime/error.c (gfc_itoa): Move to io/write.c
1472         (xtoa): Rename to gfc_xtoa.
1473         * runtime/backtrace.c (show_backtrace): Call gfc_xtoa.
1474         * intrinsics/cshift0.c (cshift0): Use index_type for shift arg.
1475         * intrinsics/date_and_time.c (date_and_time): Use index_type.
1476         (itime_i4): Likewise.
1477         (itime_i8): Likewise.
1478         (idate_i4): Likewise.
1479         (idate_i8): Likewise.
1480         (gmtime_i4): Likewise.
1481         (gmtime_i8): Likewise.
1482         (ltime_i4): Likewise.
1483         (ltime_i8): Likewise.
1484         * libgfortran.h (gfc_itoa): Remove prototype.
1485         (xtoa): Rename prototype to gfc_xtoa.
1486         * io/list_read.c (nml_read_obj): Use size_t for string length.
1487         * io/transfer.c (read_block_direct): Change nbytes arg from
1488         pointer to value.
1489         (unformatted_read): Minor cleanup, call read_block_directly properly.
1490         (skip_record): Use ssize_t.
1491         (next_record_w_unf): Avoid stell() call by calling sseek with SEEK_CUR.
1492         (iolength_transfer): Make sure to multiply before cast.
1493         * io/intrinsics.c (fgetc): Remove unnecessary variable.
1494         * io/format.c (format_hash): Use gfc_charlen_type.
1495         * io/write.c (itoa): Move from runtime/error.c:gfc_itoa, rename,
1496         make static.
1497         (write_i): Call with pointer to itoa.
1498         (write_z): Call with pointer to gfc_xtoa.
1499         (write_integer): Pointer to itoa.
1500         (nml_write_obj): Type cleanup, don't call strlen in loop.
1501         
1502 2009-04-06  H.J. Lu  <hongjiu.lu@intel.com>
1503
1504         PR libgfortran/39664
1505         * io/unix.c (raw_close): Don't close STDOUT_FILENO,
1506         STDERR_FILENO nor STDIN_FILENO.
1507
1508 2009-04-06  David Edelsohn  <edelsohn@gnu.org>
1509         
1510         * io/io.h (struct stream): Rename truncate to trunc.
1511         (struncate): Same.
1512         * io/unix.c (raw_init): Rename truncate to trunc.
1513         (buf_init): Same.
1514         (open_internal): Same.
1515         
1516 2009-04-05  Daniel Kraft  <d@domob.eu>
1517
1518         PR fortran/38654
1519         * io/read.c (read_f): Reworked to speed up floating point parsing.
1520         (convert_real): Use pointer-casting instead of memcpy and temporaries.
1521
1522 2009-04-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1523
1524         PR libfortran/37754
1525         * io/io.h (format_hash_entry): New structure for hash table.
1526         (format_hash_table): The hash table itself.
1527         (free_format_data): Revise function prototype.
1528         (free_format_hash_table, init_format_hash,
1529         free_format_hash): New function prototypes.
1530         * io/unit.c (close_unit_1): Use free_format_hash_table.
1531         * io/transfer.c (st_read_done, st_write_done): Free format data if
1532         internal unit.
1533         * io/format.c (free_format_hash_table): New function that frees any
1534         memory allocated previously for cached format data.
1535         (reset_node): New static helper function to reset the format counters
1536         for a format node.
1537         (reset_fnode_counters): New static function recursively calls reset_node
1538         to traverse the fnode tree.
1539         (format_hash): New simple hash function based on XOR, probabalistic,
1540         tosses collisions.
1541         (save_parsed_format): New static function to save the parsed format
1542         data to use again.
1543         (find_parsed_format): New static function searches the hash table
1544         looking for a match.
1545         (free_format_data): Revised to accept pointer to format data rather than
1546         the dtp pointer so that the function can be used in more places.
1547         (format_lex): Editorial.
1548         (parse_format_list): Set flag used to determine of format data hashing
1549         is to be used.  Internal units are not persistent enough for this.
1550         (revert): Move to ne location in file.
1551         (parse_format): Use new functions to look for previously parsed
1552         format strings and use them rather than re-parse.  If not found, saves
1553         the parsed format data for later use.
1554         
1555 2009-04-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1556
1557         PR libfortran/37754
1558         * io/transfer.c (formatted_transfer_scalar): Remove this function by
1559         factoring it into two new functions, one for read and one for write,
1560         eliminating all the conditionals for read or write mode.
1561         (formatted transfer_scalar_read): New function.
1562         (formatted transfer_scalar_write): New function.
1563         (formatted_transfer): Use new functions.
1564
1565 2009-04-05  Janne Blomqvist  <jb@gcc.gnu.org>
1566
1567         PR libfortran/25561 libfortran/37754
1568         * io/io.h (struct stream): Define new stream interface function
1569         pointers, and inline functions for accessing it.
1570         (struct fbuf): Use int instead of size_t, remove flushed element.
1571         (mem_alloc_w): New prototype.
1572         (mem_alloc_r): New prototype.
1573         (stream_at_bof): Remove prototype.
1574         (stream_at_eof): Remove prototype.
1575         (file_position): Remove prototype.
1576         (flush): Remove prototype.
1577         (stream_offset): Remove prototype.
1578         (unit_truncate): New prototype.
1579         (read_block_form): Change to return pointer, int* argument.
1580         (hit_eof): New prototype.
1581         (fbuf_init): Change prototype.
1582         (fbuf_reset): Change prototype.
1583         (fbuf_alloc): Change prototype.
1584         (fbuf_flush): Change prototype.
1585         (fbuf_seek): Change prototype.
1586         (fbuf_read): New prototype.
1587         (fbuf_getc_refill): New prototype.
1588         (fbuf_getc): New inline function.
1589         * io/fbuf.c (fbuf_init): Use int, get rid of flushed.
1590         (fbuf_debug): New function.
1591         (fbuf_reset): Flush, and return position offset.
1592         (fbuf_alloc): Simplify, don't flush, just realloc.
1593         (fbuf_flush): Make usable for read mode, salvage remaining bytes.
1594         (fbuf_seek): New whence argument.
1595         (fbuf_read): New function.
1596         (fbuf_getc_refill): New function.
1597         * io/file_pos.c (formatted_backspace): Use new stream interface.
1598         (unformatted_backspace): Likewise.
1599         (st_backspace): Make sure format buffer is reset, use new stream
1600         interface, use unit_truncate.
1601         (st_endfile): Likewise.
1602         (st_rewind): Likewise.
1603         * io/intrinsics.c: Use new stream interface.
1604         * io/list_read.c (push_char): Don't use u.p.scratch, use realloc
1605         to resize.
1606         (free_saved): Don't check u.p.scratch.
1607         (next_char): Use new stream interface, use fbuf_getc() for external files.
1608         (finish_list_read): flush format buffer.
1609         (nml_query): Update to use modified interface:s
1610         * io/open.c (test_endfile): Use new stream interface.
1611         (edit_modes): Likewise.
1612         (new_unit): Likewise, set bytes_left to 1 for stream files.
1613         * io/read.c (read_l): Use new read_block_form interface.
1614         (read_utf8): Likewise.
1615         (read_utf8_char1): Likewise.
1616         (read_default_char1): Likewise.
1617         (read_utf8_char4): Likewise.
1618         (read_default_char4): Likewise.
1619         (read_a): Likewise.
1620         (read_a_char4): Likewise.
1621         (read_decimal): Likewise.
1622         (read_radix): Likewise.
1623         (read_f): Likewise.
1624         * io/transfer.c (read_sf): Use fbuf_read and mem_alloc_r, remove
1625         usage of u.p.line_buffer.
1626         (read_block_form): Update interface to return pointer, use
1627         fbuf_read for direct access.
1628         (read_block_direct): Update to new stream interface.
1629         (write_block): Use mem_alloc_w for internal I/O.
1630         (write_buf): Update to new stream interface.
1631         (formatted_transfer_scalar): Don't use u.p.line_buffer, use
1632         fbuf_seek for external files.
1633         (us_read): Update to new stream interface.
1634         (us_write): Likewise.
1635         (data_transfer_init): Always check if we switch modes and flush.
1636         (skip_record): Use new stream interface, fix comparison.
1637         (next_record_r): Check for and reset u.p.at_eof, use new stream
1638         interface, use fbuf_getc for spacing.
1639         (write_us_marker): Update to new stream interface, don't inline.
1640         (next_record_w_unf): Likewise.
1641         (sset): New function.
1642         (next_record_w): Use new stream interface, use fbuf for printing
1643         newline.
1644         (next_record): Use new stream interface.
1645         (finalize_transfer): Remove sfree call, use new stream interface.
1646         (st_iolength_done): Don't use u.p.scratch.
1647         (st_read): Don't check for end of file.
1648         (st_read_done): Don't use u.p.scratch, use unit_truncate.
1649         (hit_eof): New function.
1650         * io/unit.c (init_units): Always init fbuf for formatted units.
1651         (update_position): Use new stream interface.
1652         (unit_truncate): New function.
1653         (finish_last_advance_record): Use fbuf to print newline.
1654         * io/unix.c: Remove unused SSIZE_MAX macro.
1655         (BUFFER_SIZE): Make static const variable rather than macro.
1656         (struct unix_stream): Remove dirty_offset, len, method,
1657         small_buffer. Order elements by decreasing size.
1658         (struct int_stream): Remove.
1659         (move_pos_offset): Remove usage of dirty_offset.
1660         (reset_stream): Remove.
1661         (do_read): Rename to raw_read, update to match new stream
1662         interface.
1663         (do_write): Rename to raw_write, update to new stream interface.
1664         (raw_seek): New function.
1665         (raw_tell): New function.
1666         (raw_truncate): New function.
1667         (raw_close): New function.
1668         (raw_flush): New function.
1669         (raw_init): New function.
1670         (fd_alloc): Remove.
1671         (fd_alloc_r_at): Remove.
1672         (fd_alloc_w_at): Remove.
1673         (fd_sfree): Remove.
1674         (fd_seek): Remove.
1675         (fd_truncate): Remove.
1676         (fd_sset): Remove.
1677         (fd_read): Remove.
1678         (fd_write): Remove.
1679         (fd_close): Remove.
1680         (fd_open): Remove.
1681         (fd_flush): Rename to buf_flush, update to new stream interface
1682         and unix_stream.
1683         (buf_read): New function.
1684         (buf_write): New function.
1685         (buf_seek): New function.
1686         (buf_tell): New function.
1687         (buf_truncate): New function.
1688         (buf_close): New function.
1689         (buf_init): New function.
1690         (mem_alloc_r_at): Rename to mem_alloc_r, change prototype.
1691         (mem_alloc_w_at): Rename to mem_alloc_w, change prototype.
1692         (mem_read): Change to match new stream interface.
1693         (mem_write): Likewise.
1694         (mem_seek): Likewise.
1695         (mem_tell): Likewise.
1696         (mem_truncate): Likewise.
1697         (mem_close): Likewise.
1698         (mem_flush): New function.
1699         (mem_sfree): Remove.
1700         (empty_internal_buffer): Cast to correct type.
1701         (open_internal): Use correct type, init function pointers.
1702         (fd_to_stream): Test whether to open file as buffered or raw.
1703         (output_stream): Remove mode set.
1704         (error_stream): Likewise.
1705         (flush_all_units_1): Use new stream interface.
1706         (flush_all_units): Likewise.
1707         (stream_at_bof): Remove.
1708         (stream_at_eof): Remove.
1709         (file_position): Remove.
1710         (file_length): Update logic to use stream interface.
1711         (flush): Remove.
1712         (stream_offset): Remove.
1713         * io/write.c (write_utf8_char4): Use int instead of size_t.
1714         (write_x): Extra safety check.
1715         (namelist_write_newline): Use new stream interface.
1716
1717 2009-03-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1718
1719         PR fortran/33595
1720         * intrinsics/c99_functions.c (round): Use floor instead of ceil.
1721         Revise checks to round up.
1722         (roundf): Likewise.
1723
1724 2009-03-28  Daniel Kraft  <d@domob.eu>
1725
1726         * intrinsics/string_intrinsics.c: #include <assert.h>
1727         * intrinsics/string_intrinsics_inc.c (string_trim): Use string_len_trim
1728         instead of calculating the length directly.
1729         (string_len_trim): For KIND=1, speed search up.
1730
1731 2009-03-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1732
1733         PR libfortran/39528
1734         * io/list_read.c (list_formatted_read_scalar): Move check for read
1735         completion to just after the check for a repeated value.
1736
1737 2009-03-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1738
1739         PR libfortran/39402
1740         * io/write_float.def (output_float): Handle F0.d formatting correctly
1741         for any d when value is 0.0.
1742
1743 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1744
1745         * configure: Regenerate.
1746
1747 2009-01-21  Daniel Kraft  <d@domob.eu>
1748
1749         PR fortran/38887
1750         * runtime/in_unpack_generic.c (internal_unpack):  Return instead of
1751         abort when called with empty array.
1752         * m4/in_unpack.m4:  Ditto.
1753         * generated/in_unpack_i1.c:  Regenerated.
1754         * generated/in_unpack_i2.c:  Regenerated.
1755         * generated/in_unpack_i4.c:  Regenerated.
1756         * generated/in_unpack_i8.c:  Regenerated.
1757         * generated/in_unpack_i16.c: Regenerated.
1758         * generated/in_unpack_r4.c:  Regenerated.
1759         * generated/in_unpack_r8.c:  Regenerated.
1760         * generated/in_unpack_r10.c: Regenerated.
1761         * generated/in_unpack_r16.c: Regenerated.
1762         * generated/in_unpack_c4.c:  Regenerated.
1763         * generated/in_unpack_c8.c:  Regenerated.
1764         * generated/in_unpack_c10.c: Regenerated.
1765         * generated/in_unpack_c16.c: Regenerated.
1766
1767 2009-01-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1768
1769         PR libfortran/38772
1770         * io/read.c (read_f): Clean up loop conditions for BZ/BN,
1771         allowing proper digit testing. White space fix.
1772
1773 2009-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1774
1775         PR libfortran/38735
1776         * io/unit.c (get_internal_unit): Set default BLANK= status to NULL for
1777         internal units.
1778
1779 2008-12-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1780
1781         PR fortran/31832
1782         * acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_POWF): New autoconf check for
1783         broken powf.
1784         * configure.ac (LIBGFOR_CHECK_FOR_BROKEN_POWF): Use it.
1785         * intrinsics/c99_functions.c: Use internal powf implementation if
1786         HAVE_BROKEN_POWF is defined.
1787         * configure: Rebuilt.
1788         * config.h.in: Rebuilt.
1789
1790 2008-12-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1791
1792         PR libfortran/37472
1793         * io/write_float.def (output_float_FMT_G_): Modify calculation of temp
1794         to avoid sensitivity to round-off.
1795
1796 2008-12-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1797
1798         PR libfortran/38398
1799         * io/io.h (st_parameter_dt): Add new bit to keep track of when to
1800         suppress blanks for g0 formatting.
1801         * io/transfer.c (formatted_transfer_scalar): Always call write_real_g0
1802         for g0 formatting.
1803         * io.c (write.c): Do not use ES formatting and use new bit to suppress
1804         blanks.
1805         * io/write_float.def (output_float): Adjust the location of setting the
1806         width so that it can be adjusted when suppressing blanks.  Set number of
1807         blanks to zero when dtp->u.p.g0_no_blanks is set. Do some minor code
1808         clean-up and add some white space for readability.
1809         
1810 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1811
1812         * configure: Regenerate.
1813
1814 2008-12-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1815
1816         PR libfortran/38504
1817         io/write.c (write_decimal): Skip extra sign '-' at beginning of string
1818         returned by gfc_itoa.
1819
1820 2008-12-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1821
1822         PR libfortran/38430
1823         * io/transfer.c (data_transfer_init): Move constraint check for REC=
1824         and STREAM access into condition for other REC= constraints to simplify.
1825         Comment out this constraint to avoid breaking compatibility with 4.3
1826         until later.  Added a TODO for above comment and this one.
1827         Fix test for max pos.
1828
1829 2008-12-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1830
1831         PR libfortran/38291
1832         * io/transfer.c (data_transfer_init): Add fbuf_flush inadvertently
1833         ommitted.  Add check for invalid use of REC= with ACCESS="stream".  Fix
1834         comment.
1835
1836 2008-12-06  Adam Nemet  <anemet@caviumnetworks.com>
1837
1838         * runtime/main.c (store_exe_path): Don't crash if argv0 is NULL.
1839
1840 2008-12-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1841
1842         PR libfortran/38291
1843         * io/transfer.c (data_transfer_init): Add checks for POS= valid range.
1844         Add check for unit opened with ACCESS="stream". Flush and seek if
1845         current stream position does not match. Check ENDFILE on read.
1846
1847 2008-12-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1848
1849         PR fortran/38285
1850         * write_float.def (WRITE_FLOAT): Zero the float value for special case
1851         only if scale_factor = 0.
1852         
1853 2008-11-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
1854
1855         PR libfortran/38234
1856         * intrinsics/reshape_generic.c (reshape_internal):
1857         Source can be larger than shape.
1858         * m4/reshape.m4:  Likewise.
1859         * generated/reshape_c10.c Regenerated.
1860         * generated/reshape_c16.c Regenerated.
1861         * generated/reshape_c4.c Regenerated.
1862         * generated/reshape_c8.c Regenerated.
1863         * generated/reshape_i16.c Regenerated.
1864         * generated/reshape_i4.c Regenerated.
1865         * generated/reshape_i8.c Regenerated.
1866         * generated/reshape_r10.c Regenerated.
1867         * generated/reshape_r16.c Regenerated.
1868         * generated/reshape_r4.c Regenerated.
1869         * generated/reshape_r8.c Regenerated.
1870
1871 2008-11-22  Danny Smith  <dannysmith@users.sourceforge.net>
1872
1873         * libgfortran.h (__mingw_snprintf): Declare with gnu_printf
1874         format attribute.
1875
1876
1877 2008-11-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
1878
1879         PR libfortran/38225
1880         * intrinsics/reshape_generic.c (reshape_internal):
1881         Use all dimensions of source for bounds checking.
1882         * m4/reshape.m4:  Likewise.
1883         * generated/reshape_c10.c Regenerated.
1884         * generated/reshape_c16.c Regenerated.
1885         * generated/reshape_c4.c Regenerated.
1886         * generated/reshape_c8.c Regenerated.
1887         * generated/reshape_i16.c Regenerated.
1888         * generated/reshape_i4.c Regenerated.
1889         * generated/reshape_i8.c Regenerated.
1890         * generated/reshape_r10.c Regenerated.
1891         * generated/reshape_r16.c Regenerated.
1892         * generated/reshape_r4.c Regenerated.
1893         * generated/reshape_r8.c Regenerated.
1894
1895 2008-11-22  Jakub Jelinek  <jakub@redhat.com>
1896
1897         PR libfortran/37839
1898         * io/io.h (IOPARM_INQUIRE_HAS_ROUND, IOPARM_INQUIRE_HAS_SIGN,
1899         IOPARM_INQUIRE_HAS_PENDING): Adjust values.
1900         (st_parameter_inquire): Reorder and fix types of round, sign and
1901         pending fields.
1902         (st_parameter_43, st_parameter_44): Removed.
1903         (st_parameter_dt): Put back struct definition directly to u.p
1904         declaration.  Change type of u.p.size_used from gfc_offset to
1905         GFC_IO_INT.  Decrease back size of u.pad to 16 pointers and
1906         32 ints.  Put id, pos, asynchronous, blank, decimal, delim,
1907         pad, round and sign fields after the union.
1908         * io/inquire.c (inquire_via_unit, inquire_via_filename): Only read
1909         flags2 if it is defined.
1910         * io/transfer.c (read_sf, read_block_form, write_block): Cast
1911         additions to size_used to GFC_IO_INT instead of gfc_offset.
1912         (data_transfer_init): Clear whole u.p struct.  Adjust
1913         for moving id, pos, asynchronous, blank, decimal, delim, pad,
1914         round and sign fields from u.p directly into st_parameter_dt.
1915         (finalize_transfer): Don't cast size_used to GFC_IO_INT.
1916         * io/file_pos.c (st_endfile): Clear whole u.p struct.
1917
1918 2008-11-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1919
1920         PR libfortran/37472
1921         * io/write_float.def (output_float_FMT_G_): Adjust conversion of
1922         G format specification to F format.
1923
1924 2008-11-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
1925
1926         PR libfortran/38135
1927         * m4/reshape.m4:  Correct bounds checking when PAD is present.
1928         Treat PAD as if it were SOURCE when SOURCE is empty.
1929         * intrinsics/reshape_generic.c:  Likewise.
1930         * generated/reshape_c10.c Regenerated.
1931         * generated/reshape_c16.c Regenerated.
1932         * generated/reshape_c4.c Regenerated.
1933         * generated/reshape_c8.c Regenerated.
1934         * generated/reshape_i16.c Regenerated.
1935         * generated/reshape_i4.c Regenerated.
1936         * generated/reshape_i8.c Regenerated.
1937         * generated/reshape_r10.c Regenerated.
1938         * generated/reshape_r16.c Regenerated.
1939         * generated/reshape_r4.c Regenerated.
1940         * generated/reshape_r8.c Regenerated.
1941
1942 2008-11-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1943
1944         PR libfortran/38097
1945         * io/read.c (read_f): Initialize exponent. Fix comment. Set loop
1946         conditions for BZ/BN.
1947         * io/unit.c (get_internal_unit): Initialize flags.blank.
1948         * io/transfer.c (data_transfer_init): Fix whitespace.
1949
1950 2008-11-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1951
1952         PR libfortran/37294
1953         * io/write.c (namelist_write_newline): Use array loop specification to
1954         advance to next internal array unit record. (namelist_write): Adjust to
1955         accomodate the internal array unit behavior.
1956
1957 2008-11-01  Dennis Wassel  <dennis.wassel@gmail.com>
1958
1959         PR fortran/37159
1960         * intrinsics/random.c: Added comment to adapt check.c, should
1961         kiss_size change.
1962         Few cosmetic changes to existing comments.
1963
1964 2008-10-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1965
1966         PR libfortran/37707
1967         * io/list_read.c (read_character): Remove code to look ahead in namelist
1968         reads to descriminate non-delimited strings from namelist objects.
1969         * io/write.c (namelist_write): Delimit character strings with quote or
1970         apostrophe, defaulting to quote.
1971
1972 2008-10-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
1973
1974         PR libfortran/34670
1975         * intrinsics/transpose_generic.c:  Implement bounds checking.
1976         * m4/transpose.m4:  Likewise.
1977         * generated/transpose_c8.c: Regenerated.
1978         * generated/transpose_c16.c: Regenerated.
1979         * generated/transpose_r10.c: Regenerated.
1980         * generated/transpose_i8.c: Regenerated.
1981         * generated/transpose_c10.c: Regenerated.
1982         * generated/transpose_r4.c: Regenerated.
1983         * generated/transpose_c4.c: Regenerated.
1984         * generated/transpose_i16.c: Regenerated.
1985         * generated/transpose_i4.c: Regenerated.
1986         * generated/transpose_r8.c: Regenerated.
1987         * generated/transpose_r16.c: Regenerated.
1988
1989 2008-10-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org
1990
1991         PR libfortran/37834
1992         * io/write_float.def (output_float): Emit '0.' for special case of
1993         format specifier 'f0.0' and value of zero. Likewise emit '0' for 'f1.0'.
1994
1995 2008-10-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org
1996
1997         PR libfortran/37863
1998         * io/write_float.def (WRITE_FLOAT): Round to 1.0 correctly.
1999         * io/io.h (st_parameter_44): Fix id type declaration.
2000
2001 2008-10-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
2002
2003         * io/file_pos.c (unformatted_backspace): Normal case is
2004         GFC_CONVERT_NATIVE.
2005         * io/transfer.c (read_sf):  Mark paths leading to generate_error()
2006         as unlikely.
2007         (readl_block_form):  Likewise.
2008         (read_block_direct):  Likewise.
2009         (write_block):  Likewise.
2010         (write_buf):  Likewise.
2011         (us_read):  Likewise.  Normal case is GFC_CONVERT_NATIVE.
2012         (next_record_w_unf):  Mark paths leading to generate_error()
2013         as unlikely.
2014
2015 2008-10-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
2016
2017         PR libfortran/34670
2018         * generated/spread_r4.c: Regenerated.
2019
2020 2008-10-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
2021
2022         PR libfortran/34670
2023         * intrinsics/reshape_generic.c:  Add bounds checking.
2024         * m4/reshape.m4:  Likewise.
2025         * generated/reshape_c10.c: Regenerated.
2026         * generated/reshape_c16.c: Regenerated.
2027         * generated/reshape_c4.c: Regenerated.
2028         * generated/reshape_c8.c: Regenerated.
2029         * generated/reshape_i16.c: Regenerated.
2030         * generated/reshape_i4.c: Regenerated.
2031         * generated/reshape_i8.c: Regenerated.
2032         * generated/reshape_r10.c: Regenerated.
2033         * generated/reshape_r16.c: Regenerated.
2034         * generated/reshape_r4.c: Regenerated.
2035         * generated/reshape_r8.c: Regenerated.
2036         * generated/spread_r4.c: Regenerated.
2037
2038 2008-10-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org
2039
2040         PR libfortran/37083
2041         * io/list_read.c (next_char): Simplify EOF tests and set endfile flag.
2042         (finish_list_read): Add EOF check.
2043
2044 2008-10-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
2045
2046         PR libfortran/37753
2047         * io/transfer.c (unformatted_read):  CONVERT_NATIVE
2048         is the usual case.  Check for kind==1 for non-byte-reversing
2049         operation.
2050         (unformatted_write):  Likewise.
2051
2052 2008-10-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org
2053
2054         PR libfortran/37707
2055         * io/list_read.c (nml_get_obj_data): If the first namelist object rank
2056         is greater than zero, call nml_object_read with the first object rather
2057         than the sub-object.
2058
2059 2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
2060             Steve Ellcey  <sje@cup.hp.com>
2061
2062         * configure: Regenerate for new libtool.
2063         * Makefile.in: Ditto.
2064
2065 2008-09-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org
2066
2067         PR libfortran/37498
2068         * list_read.c (eat_separator): Revert previous patch and move
2069         delim_status, decimal_status, and pad_status to gfc_unit.
2070         (parse_real): Ditto. (read_real): Ditto.
2071         * read.c (read_a): Likewise. (read_a_char4): Likewise.
2072         (read_f): Likewise.
2073         * inquire.c (inquire_via_unit): Add missing check for
2074         IOPARM_INQUIRE_HAS_FLAGS2. (inquire_via_filename): Likewise.
2075         * io.h (unit_sign_s): Move delim_status, decimal_status, and pad_status
2076         to gfc_unit.
2077         * transfer.c (read_sf): Ditto. (read_block_form): Ditto.
2078         (formatted_transfer_scalar): Ditto. (data_transfer_init): Ditto.
2079         * write.c (write_default_char4): Ditto. (write_utf8_char4): Ditto.
2080         (write_character): Ditto. (write_real_g0): Ditto.
2081         (list_formatted_write_scalar): Ditto. (nml_write_obj): Ditto.
2082         (namelist_write): Ditto.
2083         * write_float.def (calculate_sign): Ditto. (output_float): Ditto.
2084
2085 2008-09-24  Tobias Burnus  <burnus@net-b.de>
2086
2087         * runtime/compile_options.c (init_compile_options):
2088         Sync flags with front end.
2089
2090 2008-09-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org
2091
2092         PR libfortran/37498
2093         * file_pos (st_endfile): Clear memory only for libfortran 4.3 private
2094         area.
2095         * list_read.c (eat_separator): Only access F2003 I/O parameters if
2096         IOPARM_DT_HAS_F2003 bit is set. (parse_real): Ditto.
2097         (read_real): Ditto.
2098         * read.c (read_a): Likewise. (read_a_char4): Likewise though not
2099         strictly necessary. (read_f): Likewise.
2100         * io.h (unit_sign_s): New enumerator to allow duplication of
2101         st_parameter structures. (IOPARM_DT_HAS_F2003): New mask bit.
2102         (st_parameter_43): New structure copied from 4.3 version of 
2103         st_paramater_dt private section. (st_parameter_44): New structure with
2104         F2003 items added. (st_parameter_dt): Modified to create union of new
2105         and old structures to allow correct memory setting for 4.3 ABI
2106         compatibility. Bumped the pad size.
2107         * transfer.c (read_sf): Do not use F2003 I/O memory areas unless
2108         IOPARM_DT_HAS_F2003 bit has been set. (read_block_form): Ditto.
2109         (formatted_transfer_scalar): Ditto. (data_transfer_init): Ditto and
2110         add comment, fix formatting.
2111         * write.c (write_default_char4): Likewise though not strictly necessary.
2112         (write_utf8_char4): Ditto. (write_character): Ditto.
2113         (write_real_g0): Ditto. (list_formatted_write_scalar): Ditto.
2114         (nml_write_obj): Ditto. (namelist_write): Ditto.
2115         * write_float.def (calculate_sign): Eliminate warning by including all
2116         cases in switch. (output_float): Output only decimal point of F2003 flag
2117         is not set.
2118
2119 2008-09-10  Tobias Burnus  <burnus@net-b.de>
2120             H. J. Lu  <hongjiu.lu@intel.com>
2121
2122         * mk-sik-inc.sh: Make -Wunused-variable proof.
2123         * mk-srk-inc.sh: Make -Wunused-variable proof.
2124
2125 2008-09-10  Tobias Burnus  <burnus@net-b.de>
2126
2127         * mk-kinds-h.sh: Make -Wunused-variable proof.
2128
2129 2008-09-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
2130
2131         PR fortran/37203
2132         * intrinsics/reshape_generic.c:  Add checking on
2133         out-of-bounds and duplicate values of order argument.
2134         * m4/reshape.m4:  Likewise.
2135         * generated/reshape_c10.c: Regenerated.
2136         * generated/reshape_c16.c: Regenerated.
2137         * generated/reshape_c4.c: Regenerated.
2138         * generated/reshape_c8.c: Regenerated.
2139         * generated/reshape_i16.c: Regenerated.
2140         * generated/reshape_i4.c: Regenerated.
2141         * generated/reshape_i8.c: Regenerated.
2142         * generated/reshape_r10.c: Regenerated.
2143         * generated/reshape_r16.c: Regenerated.
2144         * generated/reshape_r4.c: Regenerated.
2145         * generated/reshape_r8.c: Regenerated.
2146
2147 2008-09-06  Tobias Burnus  <burnus@net-b.de>
2148
2149         * libgfortran.h (likely,unlikely): New makros.
2150         (runtime_warning_at,__mingw_snprintf): Add __attribute__(format()).
2151         * m4/spread.m4 (spread_'rtype_code`): Use unlikely for bounds_check.
2152         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Ditto.
2153         * m4/matmull.m4 (matmul_'rtype_code`): Ditto.
2154         * m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code): Ditto.
2155         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Ditto.
2156         * m4/matmul.m4 (matmul_'rtype_code`): Ditto.
2157
2158         * generated/minval_r8.c: Regenerated.
2159         * generated/spread_r10.c: Regenerated.
2160         * generated/minloc1_16_r16.c: Regenerated.
2161         * generated/maxloc1_4_r8.c: Regenerated.
2162         * generated/sum_i8.c: Regenerated.
2163         * generated/any_l16.c: Regenerated.
2164         * generated/spread_i8.c: Regenerated.
2165         * generated/maxval_i2.c: Regenerated.
2166         * generated/any_l2.c: Regenerated.
2167         * generated/product_r4.c: Regenerated.
2168         * generated/maxloc1_8_i4.c: Regenerated.
2169         * generated/maxloc0_4_r4.c: Regenerated.
2170         * generated/all_l1.c: Regenerated.
2171         * generated/matmul_r8.c: Regenerated.
2172         * generated/product_i2.c: Regenerated.
2173         * generated/minloc0_4_r16.c: Regenerated.
2174         * generated/minloc0_4_i1.c: Regenerated.
2175         * generated/maxloc0_4_r16.c: Regenerated.
2176         * generated/maxloc0_4_i2.c: Regenerated.
2177         * generated/minloc1_8_r16.c: Regenerated.
2178         * generated/maxloc1_8_r16.c: Regenerated.
2179         * generated/maxloc0_8_i8.c: Regenerated.
2180         * generated/sum_r16.c: Regenerated.
2181         * generated/sum_i1.c: Regenerated.
2182         * generated/minloc1_4_r8.c: Regenerated.
2183         * generated/maxloc1_16_r16.c: Regenerated.
2184         * generated/minloc1_16_i4.c: Regenerated.
2185         * generated/maxloc1_16_i4.c: Regenerated.
2186         * generated/minloc0_16_i8.c: Regenerated.
2187         * generated/spread_i1.c: Regenerated.
2188         * generated/maxloc0_16_i8.c: Regenerated.
2189         * generated/maxval_r16.c: Regenerated.
2190         * generated/product_c10.c: Regenerated.
2191         * generated/minloc1_8_i4.c: Regenerated.
2192         * generated/minloc0_16_i16.c: Regenerated.
2193         * generated/matmul_r16.c: Regenerated.
2194         * generated/minloc0_4_r4.c: Regenerated.
2195         * generated/all_l2.c: Regenerated.
2196         * generated/product_c4.c: Regenerated.
2197         * generated/sum_r4.c: Regenerated.
2198         * generated/minloc0_4_i2.c: Regenerated.
2199         * generated/spread_c10.c: Regenerated.
2200         * generated/maxloc0_8_i1.c: Regenerated.
2201         * generated/spread_r4.c: Regenerated.
2202         * generated/minloc0_8_i8.c: Regenerated.
2203         * generated/matmul_c8.c: Regenerated.
2204         * generated/all_l16.c: Regenerated.
2205         * generated/minloc1_16_r10.c: Regenerated.
2206         * generated/sum_i2.c: Regenerated.
2207         * generated/minloc0_16_i1.c: Regenerated.
2208         * generated/maxloc0_16_i1.c: Regenerated.
2209         * generated/maxloc1_8_r8.c: Regenerated.
2210         * generated/minval_i16.c: Regenerated.
2211         * generated/spread_i2.c: Regenerated.
2212         * generated/maxval_i4.c: Regenerated.
2213         * generated/minval_i8.c: Regenerated.
2214         * generated/any_l4.c: Regenerated.
2215         * generated/maxloc1_4_i8.c: Regenerated.
2216         * generated/maxloc0_16_i16.c: Regenerated.
2217         * generated/maxloc0_8_r4.c: Regenerated.
2218         * generated/minloc1_4_i16.c: Regenerated.
2219         * generated/maxloc1_4_i16.c: Regenerated.
2220         * generated/minloc0_4_r10.c: Regenerated.
2221         * generated/minloc0_8_i16.c: Regenerated.
2222         * generated/maxloc0_4_r10.c: Regenerated.
2223         * generated/maxloc0_8_i16.c: Regenerated.
2224         * generated/minloc1_8_r10.c: Regenerated.
2225         * generated/product_i4.c: Regenerated.
2226         * generated/minloc0_16_r4.c: Regenerated.
2227         * generated/sum_c16.c: Regenerated.
2228         * generated/maxloc1_8_r10.c: Regenerated.
2229         * generated/maxloc0_16_r4.c: Regenerated.
2230         * generated/minloc1_16_r8.c: Regenerated.
2231         * generated/minloc0_8_i1.c: Regenerated.
2232         * generated/maxloc0_4_i4.c: Regenerated.
2233         * generated/maxloc1_16_r8.c: Regenerated.
2234         * generated/maxloc0_8_i2.c: Regenerated.
2235         * generated/sum_r10.c: Regenerated.
2236         * generated/count_4_l.c: Regenerated.
2237         * generated/sum_c4.c: Regenerated.
2238         * generated/count_8_l.c: Regenerated.
2239         * generated/maxloc1_16_r10.c: Regenerated.
2240         * generated/matmul_i8.c: Regenerated.
2241         * generated/minloc0_16_i2.c: Regenerated.
2242         * generated/minloc1_8_r8.c: Regenerated.
2243         * generated/maxloc0_16_i2.c: Regenerated.
2244         * generated/spread_c4.c: Regenerated.
2245         * generated/matmul_c16.c: Regenerated.
2246         * generated/maxval_r10.c: Regenerated.
2247         * generated/minval_i1.c: Regenerated.
2248         * generated/maxloc1_4_i1.c: Regenerated.
2249         * generated/matmul_r10.c: Regenerated.
2250         * generated/minloc1_4_i8.c: Regenerated.
2251         * generated/minloc0_8_r4.c: Regenerated.
2252         * generated/matmul_l4.c: Regenerated.
2253         * generated/product_i16.c: Regenerated.
2254         * generated/minloc0_16_r16.c: Regenerated.
2255         * generated/all_l4.c: Regenerated.
2256         * generated/minloc0_4_i4.c: Regenerated.
2257         * generated/minloc0_8_i2.c: Regenerated.
2258         * generated/matmul_i1.c: Regenerated.
2259         * generated/minval_r4.c: Regenerated.
2260         * generated/maxloc1_4_r4.c: Regenerated.
2261         * generated/spread_i16.c: Regenerated.
2262         * generated/sum_i4.c: Regenerated.
2263         * generated/maxval_r8.c: Regenerated.
2264         * generated/spread_i4.c: Regenerated.
2265         * generated/minloc1_4_i1.c: Regenerated.
2266         * generated/minval_r16.c: Regenerated.
2267         * generated/minval_i2.c: Regenerated.
2268         * generated/maxloc1_4_i2.c: Regenerated.
2269         * generated/product_r8.c: Regenerated.
2270         * generated/maxloc1_8_i8.c: Regenerated.
2271         * generated/maxloc0_4_r8.c: Regenerated.
2272         * generated/maxloc0_16_r16.c: Regenerated.
2273         * generated/matmul_r4.c: Regenerated.
2274         * generated/sum_c10.c: Regenerated.
2275         * generated/minloc1_4_r16.c: Regenerated.
2276         * generated/maxloc1_4_r16.c: Regenerated.
2277         * generated/minloc0_8_r16.c: Regenerated.
2278         * generated/maxloc0_8_r16.c: Regenerated.
2279         * generated/count_1_l.c: Regenerated.
2280         * generated/maxloc0_8_i4.c: Regenerated.
2281         * generated/matmul_i2.c: Regenerated.
2282         * generated/minloc1_4_r4.c: Regenerated.
2283         * generated/matmul_c10.c: Regenerated.
2284         * generated/minloc0_16_i4.c: Regenerated.
2285         * generated/maxloc0_16_i4.c: Regenerated.
2286         * generated/minloc1_16_i8.c: Regenerated.
2287         * generated/maxloc1_16_i8.c: Regenerated.
2288         * generated/minloc1_4_i2.c: Regenerated.
2289         * generated/matmul_l16.c: Regenerated.
2290         * generated/maxloc1_8_i1.c: Regenerated.
2291         * generated/minloc0_16_r10.c: Regenerated.
2292         * generated/minloc1_8_i8.c: Regenerated.
2293         * generated/minloc0_4_r8.c: Regenerated.
2294         * generated/product_r16.c: Regenerated.
2295         * generated/product_c8.c: Regenerated.
2296         * generated/sum_r8.c: Regenerated.
2297         * generated/minloc0_8_i4.c: Regenerated.
2298         * generated/matmul_c4.c: Regenerated.
2299         * generated/minloc1_16_i16.c: Regenerated.
2300         * generated/spread_r8.c: Regenerated.
2301         * generated/maxloc1_8_r4.c: Regenerated.
2302         * generated/minloc1_16_i1.c: Regenerated.
2303         * generated/maxloc1_16_i1.c: Regenerated.
2304         * generated/spread_r16.c: Regenerated.
2305         * generated/minval_r10.c: Regenerated.
2306         * generated/count_16_l.c: Regenerated.
2307         * generated/minval_i4.c: Regenerated.
2308         * generated/minloc1_8_i1.c: Regenerated.
2309         * generated/maxloc1_4_i4.c: Regenerated.
2310         * generated/maxloc1_8_i2.c: Regenerated.
2311         * generated/maxval_i8.c: Regenerated.
2312         * generated/any_l8.c: Regenerated.
2313         * generated/maxloc0_16_r10.c: Regenerated.
2314         * generated/minloc0_4_i16.c: Regenerated.
2315         * generated/maxloc0_8_r8.c: Regenerated.
2316         * generated/maxloc0_4_i16.c: Regenerated.
2317         * generated/minloc1_4_r10.c: Regenerated.
2318         * generated/minloc1_8_i16.c: Regenerated.
2319         * generated/maxloc1_4_r10.c: Regenerated.
2320         * generated/maxloc1_8_i16.c: Regenerated.
2321         * generated/minloc0_8_r10.c: Regenerated.
2322         * generated/maxloc0_8_r10.c: Regenerated.
2323         * generated/minloc1_16_r4.c: Regenerated.
2324         * generated/maxloc1_16_r4.c: Regenerated.
2325         * generated/minloc0_16_r8.c: Regenerated.
2326         * generated/product_i8.c: Regenerated.
2327         * generated/maxloc0_16_r8.c: Regenerated.
2328         * generated/sum_i16.c: Regenerated.
2329         * generated/count_2_l.c: Regenerated.
2330         * generated/maxloc0_4_i8.c: Regenerated.
2331         * generated/maxloc1_16_i16.c: Regenerated.
2332         * generated/matmul_i4.c: Regenerated.
2333         * generated/minloc1_8_r4.c: Regenerated.
2334         * generated/sum_c8.c: Regenerated.
2335         * generated/minloc1_16_i2.c: Regenerated.
2336         * generated/maxloc1_16_i2.c: Regenerated.
2337         * generated/maxval_i16.c: Regenerated.
2338         * generated/spread_c8.c: Regenerated.
2339         * generated/matmul_i16.c: Regenerated.
2340         * generated/minloc1_4_i4.c: Regenerated.
2341         * generated/maxval_i1.c: Regenerated.
2342         * generated/minloc1_8_i2.c: Regenerated.
2343         * generated/any_l1.c: Regenerated.
2344         * generated/product_c16.c: Regenerated.
2345         * generated/minloc0_8_r8.c: Regenerated.
2346         * generated/matmul_l8.c: Regenerated.
2347         * generated/product_r10.c: Regenerated.
2348         * generated/product_i1.c: Regenerated.
2349         * generated/all_l8.c: Regenerated.
2350         * generated/maxloc0_4_i1.c: Regenerated.
2351         * generated/minloc0_4_i8.c: Regenerated.
2352         * generated/spread_c16.c: Regenerated.
2353         * generated/maxval_r4.c: Regenerated.
2354
2355 2008-09-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2356
2357         PR libfortran/37301
2358         PR libfortran/37228
2359         * io/io.h (write_real_g0): Declare new function to handle g0.d format.
2360         * io/transfer.c (formatted_transfer_scalar): Use new function.
2361         * io/format.c (parse_format_list): Enable g0.d.
2362         * io/write.c (write_a_char4): Delete unused var.
2363         (set_fnode_default): New function to set the default fnode w, d, and e
2364         factored from write_real. (write_real): Use new factored function.
2365         (write_real_g0): New function that sets d to that passed by g0.d format
2366         specifier and set format to ES.  Default values for w and e are used
2367         from the new function, set_fnode_default.
2368
2369 2008-09-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2370
2371         * runtime/error.c: Fix cast for printf.
2372
2373 2008-08-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2374
2375         PR libfortran/36895
2376         * io/write.c (namelist_write_newline): New function to correctly mark
2377         next records in both external and internal units.
2378         (nml_write_obj): Use new function.
2379         (namelist_write: Use new function.
2380
2381 2008-08-19  Tobias Burnus  <burnus@net-b.de>
2382
2383         PR libfortran/35863
2384         * io/write.c (write_a_char4): Add missing variable declaration
2385         in HAVE_CRLF block.
2386
2387 2008-08-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2388
2389         PR libfortran/35863
2390         * intrinsics/selected_char_kind.c: Enable iso_10646.
2391         * io/read.c (typedef uchar): New type.
2392         (read_utf8): New function to read a single UTF-8 encoded character.
2393         (read_utf8_char1): New function to read UTF-8 into a KIND=1 string.
2394         (read_default_char1): New functio to read default into KIND=1 string.
2395         (read_utf8_char4): New function to read UTF-8 into a KIND=4 string.
2396         (read_default_char4): New function to read UTF-8 into a KIND=4 string.
2397         (read_a): Modify to use the new functions.
2398         (read_a_char4): Modify to use the new functions.
2399         * io/write.c (error.h): Add include. (typedef uchar): New type.
2400         (write_default_char4): New function to default write KIND=4 string.
2401         (write_utf8_char4): New function to UTF-8 write KIND=4 string.
2402         (write_a_char4): Modify to use new functions.
2403         (write_character): Modify to use new functions.
2404
2405 2008-08-14  H.J. Lu  <hongjiu.lu@intel.com>
2406
2407         PR libfortran/37123
2408         * intrinsics/cshift0.c (cshift0): Fix 2 typos.
2409
2410 2008-08-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
2411
2412         PR libfortran/36886
2413         * Makefile.am:  Added $(i_cshift0_c).
2414         Added $(i_cshift0_c) to gfor_built_specific_src.
2415         Add rule to build from cshift0.m4.
2416         * Makefile.in:  Regenerated.
2417         * libgfortran.h:  Addedd prototypes for cshift0_i1,
2418         cshift0_i2, cshift0_i4, cshift0_i8, cshift0_i16,
2419         cshift0_r4, cshift0_r8, cshift0_r10, cshift0_r16,
2420         cshift0_c4, cshift0_c8, cshift0_c10, cshift0_c16.
2421         Define Macros GFC_UNALIGNED_C4 and GFC_UNALIGNED_C8.
2422         * intrinsics/cshift0.c:  Remove helper functions for
2423         the innter shift loop.
2424         (cshift0):  Call specific functions depending on type
2425         of array argument.  Only call specific functions for
2426         correct alignment for other types.
2427         * m4/cshift0.m4:  New file.
2428         * generated/cshift0_i1.c:  New file.
2429         * generated/cshift0_i2.c:  New file.
2430         * generated/cshift0_i4.c:  New file.
2431         * generated/cshift0_i8:.c  New file.
2432         * generated/cshift0_i16.c:  New file.
2433         * generated/cshift0_r4.c:  New file.
2434         * generated/cshift0_r8.c:  New file.
2435         * generated/cshift0_r10.c:  New file.
2436         * generated/cshift0_r16.c:  New file.
2437         * generated/cshift0_c4.c:  New file.
2438         * generated/cshift0_c8.c:  New file.
2439         * generated/cshift0_c10.c:  New file.
2440         * generated/cshift0_c16.c:  New file.
2441
2442 2008-07-27  Tobias Burnus  <burnus@net-b.de>
2443
2444         PR fortran/36132
2445         PR fortran/29952
2446         PR fortran/36909
2447         * runtime/error.c: New function runtime_error_at.
2448         * gfortran.map: Ditto.
2449         * libgfortran.h: Ditto.
2450
2451 2008-07-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2452
2453         PR fortran/36582
2454         * io/list_read.c: If variable rank is zero, do not adjust the found
2455         namelist object pointer.
2456
2457 2008-07-22  Daniel Kraft  <d@domob.eu>
2458
2459         PR fortran/29835
2460         * io/format.c (struct format_data):  New member error_element.
2461         (unexpected_element):  Added '%c' to message.
2462         (next_char):  Keep track of last parsed character in fmt->error_element.
2463         (format_error):  If the message is unexpected_element, output the
2464         offending character, too.
2465
2466 2008-07-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
2467
2468         PR libfortran/36890
2469         * io/file_pos.c:  Declare READ_CHUNK as signed to avoid
2470         signed/unsigned comparison warning in formatted_backspace.
2471
2472 2008-07-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
2473
2474         PR libfortran/36773
2475         * intrinsics/cshift0.c (cshift0):  Return early if size of array
2476         is zero.
2477         * intrinsics/eoshift0.c (eoshift0):  Return early if size of
2478         return array is zero.
2479         * intrinsics/eoshift2.c (eoshift2):  Likewise.
2480         * m4/eoshift1.m4 (eoshift1):  Return early if size of array
2481         is zero.
2482         * m4/eoshift3.m4 (eoshift3):  Likewise.
2483         * m4/eoshift2.m4 (eoshift2):  Return early if size of return
2484         array is zero.
2485         * m4/eoshift4.m4 (eoshift2):  Return early if size of return
2486         array is zero.
2487         * generated/cshift1_16.c: Regenerated.
2488         * generated/cshift1_4.c: Regenerated.
2489         * generated/cshift1_8.c: Regenerated.
2490         * generated/eoshift1_16.c: Regenerated.
2491         * generated/eoshift1_4.c: Regenerated.
2492         * generated/eoshift1_8.c: Regenerated.
2493         * generated/eoshift3_16.c: Regenerated.
2494         * generated/eoshift3_4.c: Regenerated.
2495         * generated/eoshift3_8.c: Regenerated.
2496
2497 2008-07-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2498
2499         PR fortran/36857
2500         * io/write_float.def: Comment out locale dependent code and fix general
2501         comments.
2502         
2503 2008-07-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
2504
2505         PR fortran/36341
2506         PR fortran/34670
2507         * m4/matmul.m4:  Add bounds checking.
2508         * m4/matmull.m4:  Likewise.
2509         * generated/matmul_c10.c: Regenerated.
2510         * generated/matmul_c16.c: Regenerated.
2511         * generated/matmul_c4.c: Regenerated.
2512         * generated/matmul_c8.c: Regenerated.
2513         * generated/matmul_i1.c: Regenerated.
2514         * generated/matmul_i16.c: Regenerated.
2515         * generated/matmul_i2.c: Regenerated.
2516         * generated/matmul_i4.c: Regenerated.
2517         * generated/matmul_i8.c: Regenerated.
2518         * generated/matmul_l16.c: Regenerated.
2519         * generated/matmul_l4.c: Regenerated.
2520         * generated/matmul_l8.c: Regenerated.
2521         * generated/matmul_r10.c: Regenerated.
2522         * generated/matmul_r16.c: Regenerated.
2523         * generated/matmul_r4.c: Regenerated.
2524         * generated/matmul_r8.c: Regenerated.
2525
2526 2008-07-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2527
2528         * acinclude.m4 (LIBGFOR_CHECK_GTHR_DEFAULT): Fix configure cache
2529         variable name.
2530         * configure: Regenerate.
2531
2532 2008-07-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2533
2534         PR fortran/36676
2535         * io/list_read.c (find_nml_name): Use eat_separator instead of eat_line.
2536         
2537 2008-06-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2538
2539         PR fortran/36657
2540         * io/list_read.c (read_character): Check for '!' along with separators.
2541         (find_nml_name): Likewise and eat the comment if found.
2542
2543 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2544
2545         * configure: Regenerate.
2546
2547 2008-06-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2548
2549         PR fortran/36546
2550         * io/list_read.c (eat_separator): Add tab character to condition
2551         for looping past whitespace.
2552
2553 2008-06-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2554
2555         PR fortran/36515
2556         * libgfortran.h (compile_options_t): Add int range_check to structure.
2557         * runtime/compile_options.c (set_options): Add range_check option.
2558         (init_compile_options): Likewise.
2559         *io/read.c (read_decimal): Change overflow checks to include
2560         range_check.
2561         
2562 2008-06-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2563
2564         PR fortran/36538
2565         * io/list_read.c (namelist_read): Add eat_separator to eliminate leading
2566         tabs.
2567
2568 2008-06-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2569
2570         PR fortran/35863
2571         * libgfortran.h: Change l8_to_l4_offset to big_endian and add endian_off.
2572         * runtime/main.c: Fix error in comment. Change l8_to_l4_offset to
2573         big_endian. (determine_endianness): Add endian_off and set its value
2574         according to big_endian.
2575         * gfortran.map: Add symbol for new _gfortran_transfer_character_wide.
2576         * io/io.h: Add prototype declarations for new functions.
2577         * io/list_read.c (list_formatted_read_scalar): Modify to handle kind=4.
2578         (list_formatted_read): Calculate stride based on kind for character type
2579         and use it when calling list_formatted_read_scalar.
2580         * io/inquire.c (inquire_via_unit): Change l8_to_l4_offset to big_endian.
2581         * io/open.c (st_open): Change l8_to_l4_offset to big_endian.
2582         * io/read.c (read_a_char4): New function to handle formatted read.
2583         * io/write.c: Define GFC_CHAR4(x) to improve readability of code.
2584         (write_a_char4): New function to handle formatted write.
2585         (write_character): Modify to accept the kind parameter and adjust for
2586         endianess of the machine. (list_formatted_write): Calculate the stride
2587         resulting from the kind and adjust the list_formatted_write_scalar call
2588         accordingly. (nml_write_obj): Adjust calls to write_character.
2589         (namelist_write): Likewise.
2590         * io/transfer.c (formatted_transfer_scaler): Rename 'len' argument to
2591         'kind' argument to better describe what it is. Add calls to new
2592         functions for kind == 4. (formatted_transfer): Modify to handle the case
2593         of type character and kind equals 4 to pass in the kind to the transfer
2594         routines. (transfer_character_wide): Add this new function.
2595         (transfer_array): Don't set kind to the character string length. Adjust
2596         strides bases on character kind.
2597         (unformatted_read): Adjust size based on kind for character types.
2598         (unformatted_write): Likewise. (data_transfer_init): Change
2599         l8_to_l4_offset to big_endian.
2600         io/fbuf.c (fbuf_seek): Add cast to eliminate warning.
2601
2602 2008-06-13  Tobias Burnus  <burnus@net-b.de>
2603
2604         * configure.ac (AM_CFLAGS): Remove -Werror again.
2605         * configure: Regenerate.
2606
2607 2008-06-13  Tobias Burnus  <burnus@net-b.de>
2608
2609         PR libgfortran/36518
2610         * configure.ac (AM_CFLAGS): Add -Werror.
2611         * configure: Regenerate.
2612         * m4/ifunction_logical.m4: Cast "n" to "(int)".
2613         * generated/any_l16.c: Regenerate.
2614         * generated/any_l2.c: Regenerate.
2615         * generated/all_l1.c: Regenerate.
2616         * generated/all_l2.c: Regenerate.
2617         * generated/all_l16.c: Regenerate.
2618         * generated/any_l4.c: Regenerate.
2619         * generated/count_4_l.c: Regenerate.
2620         * generated/count_8_l.c: Regenerate.
2621         * generated/all_l4.c: Regenerate.
2622         * generated/count_1_l.c: Regenerate.
2623         * generated/count_16_l.c: Regenerate.
2624         * generated/any_l8.c: Regenerate.
2625         * generated/count_2_l.c: Regenerate.
2626         * generated/any_l1.c: Regenerate.
2627         * generated/all_l8.c: Regenerate.
2628
2629 2008-06-13  Tobias Burnus  <burnus@net-b.de>
2630
2631         PR fortran/36495
2632         * configure.ac (AM_FCFLAGS): Add "-Werror -fimplicit-none".
2633         * configure: (generated) ditto.
2634         * intrinsics/dprod_r8.f90: Add "implicit none".
2635
2636 2008-06-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2637
2638         PR libfortran/36420
2639         PR libfortran/36421
2640         PR libfortran/36422
2641         * io/io.h: Add prototype for write_real.
2642         * io/transfer.c (formatted_transfer_scalar): For FMT_G and width zero,
2643         use write_real.
2644         * io/format.c: Add zero width error message. (parse_format_list): Use
2645         error message for FMT_A if followed by FMT_ZERO. Use zero width error
2646         message for FMT_G if mode is READ or if -std=f95 or f2003. (fmormat0):
2647         Fix typo in comment.
2648         * io/write.c(write_a): Set wlen to len if FMT_G and length is zero.
2649         (write_l): Add wlen variable and use it if FMT_G and width is zero.
2650         (write_decimal): If FMT_G, set m to -1 to flag processor dependent
2651         formatting. (write_real): Remove static declaration.
2652
2653 2008-05-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2654
2655         PR fortran/36319
2656         * intrinsics/string_intrinsics_inc.c (string_index): Return
2657         correct value for zero-length substring.
2658         * intrinsics/cshift0.c: Add _char4 variant.
2659         * intrinsics/eoshift0.c (eoshift0): Allow filler to be a pattern
2660         wider than a single byte. Add _char4 variant and use above
2661         functionality.
2662         * intrinsics/eoshift2.c (eoshift2): Likewise.
2663         * m4/eoshift1.m4: Likewise.
2664         * m4/eoshift3.m4: Likewise.
2665         * m4/cshift1.m4: Add _char4 variants.
2666         * gfortran.map (GFORTRAN_1.1): Add _gfortran_cshift0_1_char4,
2667         _gfortran_cshift0_2_char4, _gfortran_cshift0_4_char4,
2668         _gfortran_cshift0_8_char4, _gfortran_cshift1_16_char4,
2669         _gfortran_cshift1_4_char4, _gfortran_cshift1_8_char4,
2670         _gfortran_eoshift0_1_char4, _gfortran_eoshift0_2_char4,
2671         _gfortran_eoshift0_4_char4, _gfortran_eoshift0_8_char4,
2672         _gfortran_eoshift1_16_char4, _gfortran_eoshift1_4_char4,
2673         _gfortran_eoshift1_8_char4, _gfortran_eoshift2_1_char4,
2674         _gfortran_eoshift2_2_char4, _gfortran_eoshift2_4_char4,
2675         _gfortran_eoshift2_8_char4, _gfortran_eoshift3_16_char4,
2676         _gfortran_eoshift3_4_char4 and _gfortran_eoshift3_8_char4.
2677         * generated/eoshift3_4.c: Regenerate.
2678         * generated/eoshift1_8.c: Regenerate.
2679         * generated/eoshift1_16.c: Regenerate.
2680         * generated/cshift1_4.c: Regenerate.
2681         * generated/eoshift1_4.c: Regenerate.
2682         * generated/eoshift3_8.c: Regenerate.
2683         * generated/eoshift3_16.c: Regenerate.
2684         * generated/cshift1_8.c: Regenerate.
2685         * generated/cshift1_16.c: Regenerate.
2686
2687 2008-05-25  Tobias Burnus  <burnus@net-b.de>
2688
2689         PR fortran/32600
2690         * intrinsics/iso_c_binding.c (c_f_procpointer): Remove.
2691         * intrinsics/iso_c_binding.h (c_f_procpointer): Remove.
2692         * gfortran.map (c_f_procpointer): Remove.
2693
2694 2008-05-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
2695
2696         PR libgfortran/36302
2697         * gfortran.map (GFORTRAN_1.1): Add _gfortran_eoshift0_16,
2698         _gfortran_eoshift0_16_char, _gfortran_eoshift2_16,
2699         _gfortran_eoshift2_16_char,_gfortran_cshift0_16,
2700         _gfortran_cshift0_16_char.  Sort alphabetically.
2701         * intrinsics/eoshift0.c:  Add function for kind=16 integer.
2702         * intrinsics/eoshift2.c:  Likewise.
2703         * intrinsics/cshift0.c:  Likewise.
2704
2705 2008-05-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
2706
2707         * m4/in_pack.m4 (internal_pack_'rtype_code`):  Destination
2708         pointer is restrict.
2709         * m4/transpose.m4 (transpose_'rtype_code`):  Likewise.
2710         * m4/pack.m4 (pack_'rtype_code`):  Likewise.
2711         * m4/spread.m4 (spread_'rtype_code`):  Likewise.
2712         (spread_scalar_'rtype_code`): Likewise.
2713         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Likewise.
2714         * m4/eoshift1.m4 (eoshift1):  Likewise.
2715         * m4/eoshift3.m4 (eoshift3):  Likewise.
2716         * m4/in_unpack.m4 (internal_unpack_'rtype_ccode`):  Likewise.
2717         * m4/unpack.m4 (unpack0_'rtype_code`):  Likewise.
2718         (unpack1_'rtype_code`):  Likewise.
2719         * intrinsics/pack_generic.c (pack_generic.c):  Likewise.
2720         * intrinsics/unpack_generic.c (unpack_internal):  Likewise.
2721         * intrinsics/eoshift0.c (eoshift0):  Likewise.
2722         * intrinsics/eoshift2.c (eoshift2):  Likewise.
2723         * intrinsics/reshape_generic.c (reshape_internal):  Likewise.
2724         * intrinsics/reshape_packed.c (reshape_packed):  Likewise.
2725         * generated/eoshift1_16.c: Regenerated.
2726         * generated/eoshift1_4.c: Regenerated.
2727         * generated/eoshift1_8.c: Regenerated.
2728         * generated/eoshift3_16.c: Regenerated.
2729         * generated/eoshift3_4.c: Regenerated.
2730         * generated/eoshift3_8.c: Regenerated.
2731         * generated/in_pack_c10.c: Regenerated.
2732         * generated/in_pack_c16.c: Regenerated.
2733         * generated/in_pack_c4.c: Regenerated.
2734         * generated/in_pack_c8.c: Regenerated.
2735         * generated/in_pack_i1.c: Regenerated.
2736         * generated/in_pack_i16.c: Regenerated.
2737         * generated/in_pack_i2.c: Regenerated.
2738         * generated/in_pack_i4.c: Regenerated.
2739         * generated/in_pack_i8.c: Regenerated.
2740         * generated/in_pack_r10.c: Regenerated.
2741         * generated/in_pack_r16.c: Regenerated.
2742         * generated/in_pack_r4.c: Regenerated.
2743         * generated/in_pack_r8.c: Regenerated.
2744         * generated/in_unpack_c10.c: Regenerated.
2745         * generated/in_unpack_c16.c: Regenerated.
2746         * generated/in_unpack_c4.c: Regenerated.
2747         * generated/in_unpack_c8.c: Regenerated.
2748         * generated/in_unpack_i1.c: Regenerated.
2749         * generated/in_unpack_i16.c: Regenerated.
2750         * generated/in_unpack_i2.c: Regenerated.
2751         * generated/in_unpack_i4.c: Regenerated.
2752         * generated/in_unpack_i8.c: Regenerated.
2753         * generated/in_unpack_r10.c: Regenerated.
2754         * generated/in_unpack_r16.c: Regenerated.
2755         * generated/in_unpack_r4.c: Regenerated.
2756         * generated/in_unpack_r8.c: Regenerated.
2757         * generated/maxloc0_16_i1.c: Regenerated.
2758         * generated/maxloc0_16_i16.c: Regenerated.
2759         * generated/maxloc0_16_i2.c: Regenerated.
2760         * generated/maxloc0_16_i4.c: Regenerated.
2761         * generated/maxloc0_16_i8.c: Regenerated.
2762         * generated/maxloc0_16_r10.c: Regenerated.
2763         * generated/maxloc0_16_r16.c: Regenerated.
2764         * generated/maxloc0_16_r4.c: Regenerated.
2765         * generated/maxloc0_16_r8.c: Regenerated.
2766         * generated/maxloc0_4_i1.c: Regenerated.
2767         * generated/maxloc0_4_i16.c: Regenerated.
2768         * generated/maxloc0_4_i2.c: Regenerated.
2769         * generated/maxloc0_4_i4.c: Regenerated.
2770         * generated/maxloc0_4_i8.c: Regenerated.
2771         * generated/maxloc0_4_r10.c: Regenerated.
2772         * generated/maxloc0_4_r16.c: Regenerated.
2773         * generated/maxloc0_4_r4.c: Regenerated.
2774         * generated/maxloc0_4_r8.c: Regenerated.
2775         * generated/maxloc0_8_i1.c: Regenerated.
2776         * generated/maxloc0_8_i16.c: Regenerated.
2777         * generated/maxloc0_8_i2.c: Regenerated.
2778         * generated/maxloc0_8_i4.c: Regenerated.
2779         * generated/maxloc0_8_i8.c: Regenerated.
2780         * generated/maxloc0_8_r10.c: Regenerated.
2781         * generated/maxloc0_8_r16.c: Regenerated.
2782         * generated/maxloc0_8_r4.c: Regenerated.
2783         * generated/maxloc0_8_r8.c: Regenerated.
2784         * generated/minloc0_16_i1.c: Regenerated.
2785         * generated/minloc0_16_i16.c: Regenerated.
2786         * generated/minloc0_16_i2.c: Regenerated.
2787         * generated/minloc0_16_i4.c: Regenerated.
2788         * generated/minloc0_16_i8.c: Regenerated.
2789         * generated/minloc0_16_r10.c: Regenerated.
2790         * generated/minloc0_16_r16.c: Regenerated.
2791         * generated/minloc0_16_r4.c: Regenerated.
2792         * generated/minloc0_16_r8.c: Regenerated.
2793         * generated/minloc0_4_i1.c: Regenerated.
2794         * generated/minloc0_4_i16.c: Regenerated.
2795         * generated/minloc0_4_i2.c: Regenerated.
2796         * generated/minloc0_4_i4.c: Regenerated.
2797         * generated/minloc0_4_i8.c: Regenerated.
2798         * generated/minloc0_4_r10.c: Regenerated.
2799         * generated/minloc0_4_r16.c: Regenerated.
2800         * generated/minloc0_4_r4.c: Regenerated.
2801         * generated/minloc0_4_r8.c: Regenerated.
2802         * generated/minloc0_8_i1.c: Regenerated.
2803         * generated/minloc0_8_i16.c: Regenerated.
2804         * generated/minloc0_8_i2.c: Regenerated.
2805         * generated/minloc0_8_i4.c: Regenerated.
2806         * generated/minloc0_8_i8.c: Regenerated.
2807         * generated/minloc0_8_r10.c: Regenerated.
2808         * generated/minloc0_8_r16.c: Regenerated.
2809         * generated/minloc0_8_r4.c: Regenerated.
2810         * generated/minloc0_8_r8.c: Regenerated.
2811         * generated/pack_c10.c: Regenerated.
2812         * generated/pack_c16.c: Regenerated.
2813         * generated/pack_c4.c: Regenerated.
2814         * generated/pack_c8.c: Regenerated.
2815         * generated/pack_i1.c: Regenerated.
2816         * generated/pack_i16.c: Regenerated.
2817         * generated/pack_i2.c: Regenerated.
2818         * generated/pack_i4.c: Regenerated.
2819         * generated/pack_i8.c: Regenerated.
2820         * generated/pack_r10.c: Regenerated.
2821         * generated/pack_r16.c: Regenerated.
2822         * generated/pack_r4.c: Regenerated.
2823         * generated/pack_r8.c: Regenerated.
2824         * generated/spread_c10.c: Regenerated.
2825         * generated/spread_c16.c: Regenerated.
2826         * generated/spread_c4.c: Regenerated.
2827         * generated/spread_c8.c: Regenerated.
2828         * generated/spread_i1.c: Regenerated.
2829         * generated/spread_i16.c: Regenerated.
2830         * generated/spread_i2.c: Regenerated.
2831         * generated/spread_i4.c: Regenerated.
2832         * generated/spread_i8.c: Regenerated.
2833         * generated/spread_r10.c: Regenerated.
2834         * generated/spread_r16.c: Regenerated.
2835         * generated/spread_r4.c: Regenerated.
2836         * generated/spread_r8.c: Regenerated.
2837         * generated/transpose_c10.c: Regenerated.
2838         * generated/transpose_c16.c: Regenerated.
2839         * generated/transpose_c4.c: Regenerated.
2840         * generated/transpose_c8.c: Regenerated.
2841         * generated/transpose_i16.c: Regenerated.
2842         * generated/transpose_i4.c: Regenerated.
2843         * generated/transpose_i8.c: Regenerated.
2844         * generated/transpose_r10.c: Regenerated.
2845         * generated/transpose_r16.c: Regenerated.
2846         * generated/transpose_r4.c: Regenerated.
2847         * generated/transpose_r8.c: Regenerated.
2848         * generated/unpack_c10.c: Regenerated.
2849         * generated/unpack_c16.c: Regenerated.
2850         * generated/unpack_c4.c: Regenerated.
2851         * generated/unpack_c8.c: Regenerated.
2852         * generated/unpack_i1.c: Regenerated.
2853         * generated/unpack_i16.c: Regenerated.
2854         * generated/unpack_i2.c: Regenerated.
2855         * generated/unpack_i4.c: Regenerated.
2856         * generated/unpack_i8.c: Regenerated.
2857         * generated/unpack_r10.c: Regenerated.
2858         * generated/unpack_r16.c: Regenerated.
2859         * generated/unpack_r4.c: Regenerated.
2860         * generated/unpack_r8.c: Regenerated.
2861
2862 2008-05-18  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2863
2864         * runtime/select.c: Moved content to select_inc.c. Include it. 
2865         Add macros for different character types.
2866         * runtime/select_inc.c: New file.
2867         * runtime/convert_char.c: New file.
2868         * intrinsics/pack_generic.c (pack_char4, pack_s_char4): New
2869         functions.
2870         * intrinsics/transpose_generic.c (transpose_char4): New function.
2871         * intrinsics/spread_generic.c (spread_char4, spread_char4_scalar):
2872         New functions.
2873         * intrinsics/unpack_generic.c (unpack1_char4, unpack0_char4): 
2874         New functions.
2875         * intrinsics/reshape_generic.c (reshape_char): Use
2876         gfc_charlen_type as type for length variables.
2877         (reshape_char4): New function.
2878         * gfortran.map (GFORTRAN_1.1): Add _gfortran_select_string_char4,
2879         _gfortran_convert_char1_to_char4, _gfortran_convert_char4_to_char1,
2880         _gfortran_transpose_char4, _gfortran_spread_char4,
2881         _gfortran_spread_char4_scalar, _gfortran_reshape_char4,
2882         _gfortran_pack_char4, _gfortran_pack_s_char4,
2883         _gfortran_unpack0_char4 and _gfortran_unpack1_char4.
2884         * Makefile.am: Add runtime/convert_char.c.
2885         * Makefile.in: Regenerate.
2886
2887 2008-05-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
2888
2889         * io/list_read.c (list_formatted_read_scalar):  Declare
2890         type as volatile to shut up compiler warning.
2891
2892 2008-05-16  Janne Blomqvist  <jb@gcc.gnu.org>
2893
2894         PR libfortran/25561
2895         * io/io.h (struct fbuf): Change pointer to position offset.
2896         * io/fbuf.c (fbuf_init): Reduce default size of buffer, ptr=>pos
2897         changes.
2898         (fbuf_reset): ptr=>pos changes.
2899         (fbuf_alloc): If the request doesn't fit, don't waste memory by
2900         keeping flushed bytes. ptr=>pos changes.
2901         (fbuf_flush): ptr=>pos changes.
2902         (fbuf_seek): Don't seek past the left tab limit, don't update active
2903         byte count.
2904         * io/open.c (new_unit): If RECL has been specified, used that as
2905         initial buffer size.
2906
2907 2008-05-16  Janne Blomqvist  <jb@gcc.gnu.org>
2908
2909         PR libfortran/35632
2910         * io/open.c (new_unit): Set stream position to correct value.
2911
2912 2008-05-15  Janne Blomqvist  <jb@gcc.gnu.org>
2913
2914         PR libfortran/25561
2915         * Makefile.am: Add fbuf.c to gfor_io_src.
2916         * Makefile.in: Regenerate.
2917         * io/io.h (read_block): Remove.
2918         (struct stream): Remove alloc_r_at function pointer.
2919         (salloc_r): Remove.
2920         (salloc_r_at): Remove.
2921         (salloc_w_at): Remove.
2922         (salloc_w): Remove offset argument.
2923         (struct fbuf): New struct for format buffer.
2924         (struct gfc_unit): Add fbuf.
2925         (read_block_form): New prototype.
2926         (fbuf_init): Likewise.
2927         (fbuf_destroy): Likewise.
2928         (fbuf_reset): Likewise.
2929         (fbuf_alloc): Likewise.
2930         (fbuf_flush): Likewise.
2931         (fbuf_seek): Likewise.
2932         * io/file_pos.c (formatted_backspace): Change to use sread.
2933         (unformatted_backspace): Likewise.
2934         (st_backspace): Flush format buffer.
2935         (st_rewind): Likewise.
2936         * io/list_read.c (next_char): Likewise.
2937         (nml_query): Tidying, flush format buffer.
2938         * io/open.c (new_unit): Init format buffer.
2939         * io/read.c (read_l): Change to use read_block_form.
2940         (read_a): Likewise.
2941         (read_decimal): Likewise.
2942         (read_radix): Likewise.
2943         (read_f): Likewise.
2944         (read_x): Empty reads also for stream I/O.
2945         * io/transfer.c (read_sf): Change to use sread.
2946         (read_block): Rename to read_block_form, change prototype, use sread.
2947         (read_block_direct): Don't seek stream files.
2948         (write_block): Change to use fbuf if external file, don't seek stream
2949         files.
2950         (write_buf): Don't seek stream files.
2951         (formatted_transfer_scalar): Use fbuf for external files.
2952         (us_read): Change to use sread.
2953         (pre_position): Do nothing for stream I/O.
2954         (data_transfer_init): Flush fbuf when switching from write to read, if
2955         POS is specified, seek stream file to correct offset.
2956         (skip_record): Change to use sread.
2957         (min_off): New function.
2958         (next_record_r): Change to use sread.
2959         (next_record_w): Change to use sset/sseek, flush fbuf.
2960         (finalize_transfer): Flush fbuf.
2961         * io/unit.c (init_units): Init fbuf for stdout, stderr.
2962         (close_unit_1): Destroy fbuf.
2963         (finish_last_advance_record): Flush fbuf, no need to seek.
2964         * io/unix.c (fd_alloc_r_at): Remove unused where argument.
2965         (fd_alloc_w_at): Likewise.
2966         (fd_read): Remove third argument to fd_alloc_r_at.
2967         (fd_write): Remove third argument to fd_alloc_w_at.
2968         (fd_sset): Likewise.
2969         (fd_open): Don't set alloc_r_at.
2970         (mem_alloc_r_at): Remove unused where argument.
2971         (mem_alloc_w_at): Likewise.
2972         (mem_read): Don't incorrectly return previous errno, remove unused
2973         third argument to alloc function.
2974         (mem_write): Likewise.
2975         (mem_set): Likewise.
2976         (open_internal): Don't set alloc_r_at pointer.
2977         * io/fbuf.c: New file.
2978
2979 2008-05-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2980
2981         * libgfortran.h (gfc_char4_t): New type.
2982         (GFC_SIZE_OF_CHAR_KIND): New macro.
2983         (compare_string): Adjust prototype.
2984         (compare_string_char4): New prototype.
2985         * gfortran.map (GFORTRAN_1.1): Add _gfortran_adjustl_char4,
2986         _gfortran_adjustr_char4, _gfortran_compare_string_char4,
2987         _gfortran_concat_string_char4, _gfortran_string_index_char4,
2988         _gfortran_string_len_trim_char4, _gfortran_string_minmax_char4,
2989         _gfortran_string_scan_char4, _gfortran_string_trim_char4 and
2990         _gfortran_string_verify_char4.
2991         * intrinsics/string_intrinsics_inc.c: New file from content of
2992         string_intrinsics.c with types replaced by macros.
2993         * intrinsics/string_intrinsics.c: Move content to
2994         string_intrinsics_inc.c.
2995
2996 2008-05-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2997
2998         PR libfortran/36202
2999         * io/list_read (eat_separator): Handle the CR-LF case correctly.
3000
3001 2008-05-09  Julian Brown  <julian@codesourcery.com>
3002
3003         * Makefile.am (LTLDFLAGS): New.
3004         (libgfortran_la_LDFLAGS): Use above.
3005         * Makefile.in: Regenerate.
3006
3007 2008-05-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3008
3009         PR libfortran/36131
3010         * io/transfer.c (formatted_transfer_scalar): Revert patch for PR34974.
3011         (next_record_w): Likewise.
3012
3013 2008-05-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
3014
3015         PR libfortran/35995
3016         * m4/ifunction_logical.m4:  If the extent of "array"
3017         is less than zero, set it to zero.  Use an explicit
3018         flag for breaking out of the main loop to avoid, because
3019         the data pointer for "array" may be NULL for an empty
3020         array.
3021         * m4/ifunction.m4:  Likewise.
3022         * generated/all_l1.c: Regenerated.
3023         * generated/all_l16.c: Regenerated.
3024         * generated/all_l2.c: Regenerated.
3025         * generated/all_l4.c: Regenerated.
3026         * generated/all_l8.c: Regenerated.
3027         * generated/any_l1.c: Regenerated.
3028         * generated/any_l16.c: Regenerated.
3029         * generated/any_l2.c: Regenerated.
3030         * generated/any_l4.c: Regenerated.
3031         * generated/any_l8.c: Regenerated.
3032         * generated/count_16_l.c: Regenerated.
3033         * generated/count_1_l.c: Regenerated.
3034         * generated/count_2_l.c: Regenerated.
3035         * generated/count_4_l.c: Regenerated.
3036         * generated/count_8_l.c: Regenerated.
3037         * generated/maxloc1_16_i1.c: Regenerated.
3038         * generated/maxloc1_16_i16.c: Regenerated.
3039         * generated/maxloc1_16_i2.c: Regenerated.
3040         * generated/maxloc1_16_i4.c: Regenerated.
3041         * generated/maxloc1_16_i8.c: Regenerated.
3042         * generated/maxloc1_16_r10.c: Regenerated.
3043         * generated/maxloc1_16_r16.c: Regenerated.
3044         * generated/maxloc1_16_r4.c: Regenerated.
3045         * generated/maxloc1_16_r8.c: Regenerated.
3046         * generated/maxloc1_4_i1.c: Regenerated.
3047         * generated/maxloc1_4_i16.c: Regenerated.
3048         * generated/maxloc1_4_i2.c: Regenerated.
3049         * generated/maxloc1_4_i4.c: Regenerated.
3050         * generated/maxloc1_4_i8.c: Regenerated.
3051         * generated/maxloc1_4_r10.c: Regenerated.
3052         * generated/maxloc1_4_r16.c: Regenerated.
3053         * generated/maxloc1_4_r4.c: Regenerated.
3054         * generated/maxloc1_4_r8.c: Regenerated.
3055         * generated/maxloc1_8_i1.c: Regenerated.
3056         * generated/maxloc1_8_i16.c: Regenerated.
3057         * generated/maxloc1_8_i2.c: Regenerated.
3058         * generated/maxloc1_8_i4.c: Regenerated.
3059         * generated/maxloc1_8_i8.c: Regenerated.
3060         * generated/maxloc1_8_r10.c: Regenerated.
3061         * generated/maxloc1_8_r16.c: Regenerated.
3062         * generated/maxloc1_8_r4.c: Regenerated.
3063         * generated/maxloc1_8_r8.c: Regenerated.
3064         * generated/maxval_i1.c: Regenerated.
3065         * generated/maxval_i16.c: Regenerated.
3066         * generated/maxval_i2.c: Regenerated.
3067         * generated/maxval_i4.c: Regenerated.
3068         * generated/maxval_i8.c: Regenerated.
3069         * generated/maxval_r10.c: Regenerated.
3070         * generated/maxval_r16.c: Regenerated.
3071         * generated/maxval_r4.c: Regenerated.
3072         * generated/maxval_r8.c: Regenerated.
3073         * generated/minloc1_16_i1.c: Regenerated.
3074         * generated/minloc1_16_i16.c: Regenerated.
3075         * generated/minloc1_16_i2.c: Regenerated.
3076         * generated/minloc1_16_i4.c: Regenerated.
3077         * generated/minloc1_16_i8.c: Regenerated.
3078         * generated/minloc1_16_r10.c: Regenerated.
3079         * generated/minloc1_16_r16.c: Regenerated.
3080         * generated/minloc1_16_r4.c: Regenerated.
3081         * generated/minloc1_16_r8.c: Regenerated.
3082         * generated/minloc1_4_i1.c: Regenerated.
3083         * generated/minloc1_4_i16.c: Regenerated.
3084         * generated/minloc1_4_i2.c: Regenerated.
3085         * generated/minloc1_4_i4.c: Regenerated.
3086         * generated/minloc1_4_i8.c: Regenerated.
3087         * generated/minloc1_4_r10.c: Regenerated.
3088         * generated/minloc1_4_r16.c: Regenerated.
3089         * generated/minloc1_4_r4.c: Regenerated.
3090         * generated/minloc1_4_r8.c: Regenerated.
3091         * generated/minloc1_8_i1.c: Regenerated.
3092         * generated/minloc1_8_i16.c: Regenerated.
3093         * generated/minloc1_8_i2.c: Regenerated.
3094         * generated/minloc1_8_i4.c: Regenerated.
3095         * generated/minloc1_8_i8.c: Regenerated.
3096         * generated/minloc1_8_r10.c: Regenerated.
3097         * generated/minloc1_8_r16.c: Regenerated.
3098         * generated/minloc1_8_r4.c: Regenerated.
3099         * generated/minloc1_8_r8.c: Regenerated.
3100         * generated/minval_i1.c: Regenerated.
3101         * generated/minval_i16.c: Regenerated.
3102         * generated/minval_i2.c: Regenerated.
3103         * generated/minval_i4.c: Regenerated.
3104         * generated/minval_i8.c: Regenerated.
3105         * generated/minval_r10.c: Regenerated.
3106         * generated/minval_r16.c: Regenerated.
3107         * generated/minval_r4.c: Regenerated.
3108         * generated/minval_r8.c: Regenerated.
3109         * generated/product_c10.c: Regenerated.
3110         * generated/product_c16.c: Regenerated.
3111         * generated/product_c4.c: Regenerated.
3112         * generated/product_c8.c: Regenerated.
3113         * generated/product_i1.c: Regenerated.
3114         * generated/product_i16.c: Regenerated.
3115         * generated/product_i2.c: Regenerated.
3116         * generated/product_i4.c: Regenerated.
3117         * generated/product_i8.c: Regenerated.
3118         * generated/product_r10.c: Regenerated.
3119         * generated/product_r16.c: Regenerated.
3120         * generated/product_r4.c: Regenerated.
3121         * generated/product_r8.c: Regenerated.
3122         * generated/sum_c10.c: Regenerated.
3123         * generated/sum_c16.c: Regenerated.
3124         * generated/sum_c4.c: Regenerated.
3125         * generated/sum_c8.c: Regenerated.
3126         * generated/sum_i1.c: Regenerated.
3127         * generated/sum_i16.c: Regenerated.
3128         * generated/sum_i2.c: Regenerated.
3129         * generated/sum_i4.c: Regenerated.
3130         * generated/sum_i8.c: Regenerated.
3131         * generated/sum_r10.c: Regenerated.
3132         * generated/sum_r16.c: Regenerated.
3133         * generated/sum_r4.c: Regenerated.
3134         * generated/sum_r8.c: Regenerated.
3135
3136 2008-05-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
3137
3138         PR libfortran/35990
3139         * intrinsics/pack_generic.c:  Really commit.
3140
3141 2008-05-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
3142
3143         PR libfortran/35990
3144         * intrinsics/pack_generic.c:  If an extent of the source
3145         array is less then zero, set it to zero.  Set the source
3146         pointer to NULL if the source size is zero.  Set the total
3147         number of elements to zero if the vector has an extent
3148         less or equal to zero.
3149         * m4/pack.m4:  Set the source pointer to NULL if the
3150         source array is zero-sized.  Set the total number of
3151         elemements to zero if the vector has an extent less or
3152         equal to zero.
3153         * generated/pack_i1.c:  Regenerated.
3154         * generated/pack_i2.c:  Regenerated.
3155         * generated/pack_i4.c:  Regenerated.
3156         * generated/pack_i8.c:  Regenerated.
3157         * generated/pack_i16.c:  Regenerated.
3158         * generated/pack_r4.c:  Regenerated.
3159         * generated/pack_r8.c:  Regenerated.
3160         * generated/pack_r10.c:  Regenerated.
3161         * generated/pack_r16.c:  Regenerated.
3162         * generated/pack_c4.c:  Regenerated.
3163         * generated/pack_c8.c:  Regenerated.
3164         * generated/pack_c10.c:  Regenerated.
3165         * generated/pack_c16.c:  Regenerated.
3166
3167 2008-05-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3168
3169         PR libfortran/36094
3170         * runtime/error.c (show_locus): Provide modified error message when
3171         filename has not yet been associated with a unit number.
3172         * io/open.c (encoding_opt[]): Comment out "utf-8" option and add TODO.
3173
3174 2008-04-30  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3175
3176         * intrinsics/selected_char_kind.c: New file.
3177         * gfortran.map (GFORTRAN_1.1): Add _gfortran_selected_char_kind.
3178         * Makefile.am: Add intrinsics/selected_char_kind.c.
3179         * Makefile.in: Regenerate.
3180
3181 2008-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
3182
3183         PR libfortran/35993
3184         * ifunction.m4 (SCALAR_ARRAY_FUNCTION):  Use correct
3185         implementation for multi-dimensional return arrays when
3186         the mask is .false.
3187         * generated/maxloc1_16_i1.c: Regenerated.
3188         * generated/maxloc1_16_i16.c: Regenerated.
3189         * generated/maxloc1_16_i2.c: Regenerated.
3190         * generated/maxloc1_16_i4.c: Regenerated.
3191         * generated/maxloc1_16_i8.c: Regenerated.
3192         * generated/maxloc1_16_r10.c: Regenerated.
3193         * generated/maxloc1_16_r16.c: Regenerated.
3194         * generated/maxloc1_16_r4.c: Regenerated.
3195         * generated/maxloc1_16_r8.c: Regenerated.
3196         * generated/maxloc1_4_i1.c: Regenerated.
3197         * generated/maxloc1_4_i16.c: Regenerated.
3198         * generated/maxloc1_4_i2.c: Regenerated.
3199         * generated/maxloc1_4_i4.c: Regenerated.
3200         * generated/maxloc1_4_i8.c: Regenerated.
3201         * generated/maxloc1_4_r10.c: Regenerated.
3202         * generated/maxloc1_4_r16.c: Regenerated.
3203         * generated/maxloc1_4_r4.c: Regenerated.
3204         * generated/maxloc1_4_r8.c: Regenerated.
3205         * generated/maxloc1_8_i1.c: Regenerated.
3206         * generated/maxloc1_8_i16.c: Regenerated.
3207         * generated/maxloc1_8_i2.c: Regenerated.
3208         * generated/maxloc1_8_i4.c: Regenerated.
3209         * generated/maxloc1_8_i8.c: Regenerated.
3210         * generated/maxloc1_8_r10.c: Regenerated.
3211         * generated/maxloc1_8_r16.c: Regenerated.
3212         * generated/maxloc1_8_r4.c: Regenerated.
3213         * generated/maxloc1_8_r8.c: Regenerated.
3214         * generated/maxval_i1.c: Regenerated.
3215         * generated/maxval_i16.c: Regenerated.
3216         * generated/maxval_i2.c: Regenerated.
3217         * generated/maxval_i4.c: Regenerated.
3218         * generated/maxval_i8.c: Regenerated.
3219         * generated/maxval_r10.c: Regenerated.
3220         * generated/maxval_r16.c: Regenerated.
3221         * generated/maxval_r4.c: Regenerated.
3222         * generated/maxval_r8.c: Regenerated.
3223         * generated/minloc1_16_i1.c: Regenerated.
3224         * generated/minloc1_16_i16.c: Regenerated.
3225         * generated/minloc1_16_i2.c: Regenerated.
3226         * generated/minloc1_16_i4.c: Regenerated.
3227         * generated/minloc1_16_i8.c: Regenerated.
3228         * generated/minloc1_16_r10.c: Regenerated.
3229         * generated/minloc1_16_r16.c: Regenerated.
3230         * generated/minloc1_16_r4.c: Regenerated.
3231         * generated/minloc1_16_r8.c: Regenerated.
3232         * generated/minloc1_4_i1.c: Regenerated.
3233         * generated/minloc1_4_i16.c: Regenerated.
3234         * generated/minloc1_4_i2.c: Regenerated.
3235         * generated/minloc1_4_i4.c: Regenerated.
3236         * generated/minloc1_4_i8.c: Regenerated.
3237         * generated/minloc1_4_r10.c: Regenerated.
3238         * generated/minloc1_4_r16.c: Regenerated.
3239         * generated/minloc1_4_r4.c: Regenerated.
3240         * generated/minloc1_4_r8.c: Regenerated.
3241         * generated/minloc1_8_i1.c: Regenerated.
3242         * generated/minloc1_8_i16.c: Regenerated.
3243         * generated/minloc1_8_i2.c: Regenerated.
3244         * generated/minloc1_8_i4.c: Regenerated.
3245         * generated/minloc1_8_i8.c: Regenerated.
3246         * generated/minloc1_8_r10.c: Regenerated.
3247         * generated/minloc1_8_r16.c: Regenerated.
3248         * generated/minloc1_8_r4.c: Regenerated.
3249         * generated/minloc1_8_r8.c: Regenerated.
3250         * generated/minval_i1.c: Regenerated.
3251         * generated/minval_i16.c: Regenerated.
3252         * generated/minval_i2.c: Regenerated.
3253         * generated/minval_i4.c: Regenerated.
3254         * generated/minval_i8.c: Regenerated.
3255         * generated/minval_r10.c: Regenerated.
3256         * generated/minval_r16.c: Regenerated.
3257         * generated/minval_r4.c: Regenerated.
3258         * generated/minval_r8.c: Regenerated.
3259         * generated/product_c10.c: Regenerated.
3260         * generated/product_c16.c: Regenerated.
3261         * generated/product_c4.c: Regenerated.
3262         * generated/product_c8.c: Regenerated.
3263         * generated/product_i1.c: Regenerated.
3264         * generated/product_i16.c: Regenerated.
3265         * generated/product_i2.c: Regenerated.
3266         * generated/product_i4.c: Regenerated.
3267         * generated/product_i8.c: Regenerated.
3268         * generated/product_r10.c: Regenerated.
3269         * generated/product_r16.c: Regenerated.
3270         * generated/product_r4.c: Regenerated.
3271         * generated/product_r8.c: Regenerated.
3272         * generated/sum_c10.c: Regenerated.
3273         * generated/sum_c16.c: Regenerated.
3274         * generated/sum_c4.c: Regenerated.
3275         * generated/sum_c8.c: Regenerated.
3276         * generated/sum_i1.c: Regenerated.
3277         * generated/sum_i16.c: Regenerated.
3278         * generated/sum_i2.c: Regenerated.
3279         * generated/sum_i4.c: Regenerated.
3280         * generated/sum_i8.c: Regenerated.
3281         * generated/sum_r10.c: Regenerated.
3282         * generated/sum_r16.c: Regenerated.
3283         * generated/sum_r4.c: Regenerated.
3284         * generated/sum_r8.c: Regenerated.
3285
3286 2008-04-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
3287
3288         PR libfortran/35960
3289         * m4/reshape.m4:  Fix typo in last commit.
3290         * generated/reshape_i4.c:  Regererated.
3291         * generated/reshape_i8.c:  Regenerated.
3292         * generated/reshape_i16.c:  Regenerated.
3293         * generated/reshape_r4.c:  Regenerated.
3294         * generated/reshape_r8.c:  Regenerated.
3295         * generated/reshape_r10.c:  Regenerated.
3296         * generated/reshape_r16.c:  Regenerated.
3297         * generated/reshape_c4.c:  Regenerated.
3298         * generated/reshape_c8.c:  Regenerated.
3299         * generated/reshape_c10.c:  Regenerated.
3300         * generated/reshape_c16.c:  Regenerated.
3301
3302 2008-04-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3303
3304         * intrinsics/time_1.h (__time_1): Remove unused variable.
3305
3306 2008-04-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
3307
3308         PR libfortran/35988
3309         * m4/matmul.m4:  Only issue a runtime error if extents are
3310         non-zero.
3311         * generated/matmul_i1.c:  Regenerated.
3312         * generated/matmul_i2.c:  Regenerated.
3313         * generated/matmul_i4.c:  Regenerated.
3314         * generated/matmul_i8.c:  Regenerated.
3315         * generated/matmul_i16.c:  Regenerated.
3316         * generated/matmul_r4.c:  Regenerated.
3317         * generated/matmul_r8.c:  Regenerated.
3318         * generated/matmul_r10.c:  Regenerated.
3319         * generated/matmul_r16.c:  Regenerated.
3320         * generated/matmul_c4.c:  Regenerated.
3321         * generated/matmul_c8.c:  Regenerated.
3322         * generated/matmul_c10.c:  Regenerated.
3323         * generated/matmul_c16.c:  Regenerated.
3324
3325 2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3326
3327         * acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY)
3328         (LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT)
3329         (LIBGFOR_CHECK_ATTRIBUTE_ALIAS, LIBGFOR_CHECK_SYNC_FETCH_AND_ADD)
3330         (LIBGFOR_GTHREAD_WEAK, LIBGFOR_CHECK_UNLINK_OPEN_FILE)
3331         (LIBGFOR_CHECK_CRLF, LIBGFOR_CHECK_FOR_BROKEN_ISFINITE)
3332         (LIBGFOR_CHECK_FOR_BROKEN_ISNAN)
3333         (LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY, LIBGFOR_CHECK_WORKING_STAT)
3334         (LIBGFOR_CHECK_FPSETMASK, LIBGFOR_CHECK_MINGW_SNPRINTF):
3335         Fix cache variable names.
3336         * configure, Makefile.in: Regenerate.
3337
3338 2008-04-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3339
3340         PR fortran/35991
3341         * intrinsics/cshift0.c (cshift0): Avoid divide by zero.
3342
3343 2008-04-20  Thomas Koenig  <tkoenig@gcc.gnu.org>
3344
3345         PR libfortran/35960
3346         * intrinsics/reshape_generic.c (reshape_internal): If the size
3347         of the resized array is zero, as determined by the SHAPE
3348         argument, return early.
3349         * m4/reshape.m4:  Likewise.
3350         * generated/reshape_i4.c:  Regererated.
3351         * generated/reshape_i8.c:  Regenerated.
3352         * generated/reshape_i16.c:  Regenerated.
3353         * generated/reshape_r4.c:  Regenerated.
3354         * generated/reshape_r8.c:  Regenerated.
3355         * generated/reshape_r10.c:  Regenerated.
3356         * generated/reshape_r16.c:  Regenerated.
3357         * generated/reshape_c4.c:  Regenerated.
3358         * generated/reshape_c8.c:  Regenerated.
3359         * generated/reshape_c10.c:  Regenerated.
3360         * generated/reshape_c16.c:  Regenerated.
3361
3362 2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
3363
3364         PR bootstrap/35457
3365         * aclocal.m4: Regenerate.
3366         * configure: Regenerate.
3367
3368 2008-04-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
3369
3370         PR libfortran/32972
3371         * intrinsics/spread_generic.c (spread):  Use spread_i2()
3372         for GFC_DTYPE_DERIVED_2 (fix typo from previous commit).
3373
3374 2008-04-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
3375         Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3376
3377         PR libfortran/32972
3378         PR libfortran/32512
3379         configure.ac:  Add test for uintptr_t.
3380         configure:  Regenerated.
3381         config.h.in:  Regenerated.
3382         * libgfortran.h: GFC_DTYPE_DERIVED_1:  New macro.
3383         GFC_DTYPE_DERIVED_2:  New macro.
3384         GFC_DTYPE_DERIVED_4:  New macro.
3385         GFC_DTYPE_DERIVED_8:  New macro.
3386         GFC_DTYPE_DERIVED_16:  New macro.
3387         GFC_UNALIGNED_2:  New macro.
3388         GFC_UNALIGNED_4:  New macro.
3389         GFC_UNALIGNED_8:  New macro.
3390         GFC_UNALIGNED_16:  New macro.
3391         intptr_t:  Define if we don't have it.
3392         uintptr_t:  Likewise.
3393         * runtime/backtrace.c (show_backtrace):  Use intptr_t.
3394         * intrinsics/signal.c (signal_sub):  Likewise.
3395         (signal_sub_int):  Likewise.
3396         (alarm_sub_int_i4):  Likewise.
3397         * intrinsics/spread_generic.c (spread):  Use the integer
3398         routines for handling derived types of sizes 1, 2, 4, 8 and 16
3399         if the alignment of all pointers is correct.
3400         (spread_scalar):  Likewise.
3401         * intrinsics/pack_generic.c (pack):  Likewise.
3402         Use GFD_DTYPE_TYPE_SIZE to avoid nested switch statements.
3403         * intrinsics/unpack_generic.c (unpack1):  Likewise.
3404         (unpack0):  Likewise.
3405         * runtime/in_pack_generic.c (internal_pack):  Likewise.
3406         * runtime/in_unpack_generic.c (internal_unpack):  Likewise.
3407
3408 2008-04-09  Jakub Jelinek  <jakub@redhat.com>
3409
3410         * io/list_read.c (snprintf): Define if HAVE_SNPRINTF isn't defined.
3411         (nml_read_obj): Add nml_err_msg_size argument.  Pass it down to
3412         recursive call.  Use snprintf instead of sprintf when %s nl->var_name
3413         is used.
3414         (nml_get_obj_data): Add nml_err_msg_size argument.  Pass it down to
3415         nml_read_obj call.  Use snprintf instead of sprintf when %s
3416         nl->var_name is used.  Pass nml_err_msg to nml_parse_qualifier instead
3417         of parse_err_msg array.  Append " for namelist variable " and
3418         nl->var_name to it.
3419         (namelist_read): Increase size of nml_err_msg array to 200.  Pass
3420         sizeof nml_err_msg as extra argument to nml_get_obj_data.
3421
3422 2008-04-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3423
3424         PR fortran/25829 28655
3425         * io/open.c (edit_modes): Set flags.async. (new_unit) Set flags.async
3426         and flags.status. (st_open): Initialize flags.async.
3427         * io/list_read.c (read_charactor): Use delim_status instead of
3428         flags.delim.
3429         * io/read.c (read_x): Use pad_status instead of flags.pad.
3430         * io/inquire.c (inquire_via_unit): Add new checks.
3431         (inquire_via_filename): Likewise.
3432         * io/io.h (st_parameter_inquire): Add new flags.
3433         (st_parameter_dt): Likewise.
3434         * io/unit.c (get_internal_unit): Set flags.async. (init_units): Set
3435         flags.async.
3436         * io/transfer.c: Add delim and pad option arrays. (read_sf): Use
3437         pad_status instead of flags.pad. (read_block): Likewise.
3438         (data_transfer_init): Set flags.async and add checks.
3439         * io/write.c (write_character): Use delim_status.
3440         (list_formatted_write_scalar): Likewise. (nml_write_obj): Likewise.
3441         (namelist_write): Likewise.
3442
3443 2008-04-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3444
3445         PR fortran/25829 28655
3446         * gfortran.map: Add new symbol, _gfortran_st_wait.
3447         * libgfortran.h (st_paramter_common): Add new I/O parameters.
3448         * open.c (st_option decimal_opt[], st_option encoding_opt[],
3449         st_option round_opt[], st_option sign_opt[], st_option async_opt[]): New
3450         parameter option arrays. (edit_modes): Add checks for new parameters.
3451         (new_unit): Likewise. (st_open): Likewise.
3452         * list_read.c (CASE_SEPERATORS): Add ';' as a valid separator.
3453         (eat_separator): Handle deimal comma. (read_logical): Fix whitespace.
3454         (parse_real): Handle decimal comma. (read_real): Handle decimal comma.
3455         * read.c (read_a): Use decimal status flag to allow comma in place of a
3456         decimal point. (read_f): Allow comma as acceptable character in float.
3457         According to decimal flag, substitute a period for a comma.
3458         (read_x): If decimal status flag is comma, disable the read_comma flag,
3459         not allowing comma as a delimiter, an extension otherwise.
3460         * io.h: (unit_decimal, unit_encoding, unit_round, unit_sign,
3461         unit_async): New enumerators. Add all new I/O parameters.
3462         * unix.c (unix_stream, int_stream): Add io_mode asychronous I/O control.
3463         (move_pos_offset, fd_alloc_w_at): Fix some whitespace.
3464         (fd_sfree): Use new enumerator. (fd_read): Likewise.
3465         (fd_write): Likewise. (fd_close): Fix whitespace.
3466         (fd_open): Use new enumertors. (tempfile, regular_file,
3467         open_external): Fix whitespace. (output_stream, error_stream): Set
3468         method. (stream_offset): Fix whitespace.
3469         * transfer.c: (st_option decimal_opt[], sign_opt[], blank_opt[]): New
3470         option arrays.  (formatted_transfer_scalar): Set sf_read_comma flag
3471         based on new decimal_status flag. (data_transfer_init): Initialize new
3472         parameters. Add checks for decimal, sign, and blank. (st_wait): New stub.
3473         * format.c: (format_lex): Add format specifiers DP, DC, and D.
3474         (parse_format_list): Parse the new specifiers.
3475         * write.c (write_decimal): Use new sign enumerators to set the sign.
3476         (write_complex): Handle decimal comma and semi-colon separator.
3477         (nml_write_obj): Likewise.
3478         * write_float.def: Revise sign enumerators. (calculate_sign): Use new
3479         sign enumerators. (output_float): Likewise. Use new decimal_status flag
3480         to set the decimal character to a point or a comma.
3481         
3482 2008-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
3483
3484         PR libfortran/32972
3485         PR libfortran/32512
3486         * Makefile.am:  Add new variable, i_spread_c, containing
3487         pack_i1.c, pack_i2.c, pack_i4.c, pack_i8.c, spread_i16.c,
3488         spread_r4.c, spread_r8.c, spread_r10.c, spread_r16.c,
3489         spread_c4.c, spread_c8.c, spread_c10.c, spread_c16.c.
3490         * Makefile.in:  Regenerated.
3491         * libgfortran.h:  Add prototypes for spread_i1, spread_i2,
3492         spread_i4, spread_i8, spread_i16, spread_r4, spread_r8,
3493         spread_c4, spread_c8, spread_c10, spread_c16,
3494         spread_scalar_i1, spread_scalar_i2, spread_scalar_i4,
3495         spread_scalar_i8, spread_scalar_i16, spread_scalar_r4
3496         spread_scalar_r8, spread_scalar_c4, spread_scalar_c8,
3497         spread_scalar_c10 and spread_scalar_c16.
3498         Add macros to isolate both type and size information
3499         from array descriptors with a single mask operation.
3500         * intrinsics/spread_generic.c:  Add calls to specific
3501         spread functions.
3502         * m4/spread.m4:  New file.
3503         * generated/spread_i1.c:  New file.
3504         * generated/spread_i2.c:  New file.
3505         * generated/spread_i4.c:  New file.
3506         * generated/spread_i8.c:  New file.
3507         * generated/spread_i16.c:  New file.
3508         * generated/spread_r4.c:  New file.
3509         * generated/spread_r8.c:  New file.
3510         * generated/spread_r10.c:  New file.
3511         * generated/spread_r16.c:  New file.
3512         * generated/spread_c4.c:  New file.
3513         * generated/spread_c8.c:  New file.
3514         * generated/spread_c10.c:  New file.
3515         * generated/spread_c16.c:  New file.
3516
3517 2008-03-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3518
3519         PR libfortran/35699
3520         * io/transfer.c (write_buf):  Don't pad the record, just return if the
3521         data is NULL.  (next_record_w): If there are bytes left in the record
3522         for unformatted direct I/O, pad out the record with zero bytes.
3523
3524 2008-03-28  Tobias Burnus  <burnus@net-b.de>
3525
3526         PR fortran/35721
3527         * intrinsics/associated.c (associated): Ignore different
3528         stride of pointer vs. target if only one element is referred.
3529
3530 2008-03-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3531
3532         * io/unix.c (fd_close):  Do not close STDIN.
3533
3534 2007-03-23  Thomas Koenig  <tkoenig@gcc.gnu.org
3535
3536         PR libfortran/32972
3537         * Makefile.am:  Add new variable, i_unpack_c, containing
3538         unpack_i1.c, unpack_i2.c, unpack_i4.c, unpack_i8.c,
3539         unpack_i16.c, unpack_r4.c, unpack_r8.c, unpack_r10.c,
3540         unpack_r16.c, unpack_c4.c, unpack_c8.c, unpack_c10.c
3541         and unpack_c16.c
3542         Add i_unpack_c to gfor_built_src.
3543         Add rule to generate i_unpack_c from m4/unpack.m4.
3544         * Makefile.in:  Regenerated.
3545         * libgfortran.h: Add prototypes for unpack0_i1, unpack0_i2,
3546         unpack0_i4, unpack0_i8, unpack0_i16, unpack0_r4, unpack0_r8,
3547         unpack0_r10, unpack0_r16, unpack0_c4, unpack0_c8, unpack0_c10,
3548         unpack0_c16, unpack1_i1, unpack1_i2, unpack1_i4, unpack1_i8,
3549         unpack1_i16, unpack1_r4, unpack1_r8, unpack1_r10, unpack1_r16,
3550         unpack1_c4, unpack1_c8, unpack1_c10 and unpack1_c16.
3551         * intrinsics/pack_generic.c (unpack1):  Add calls to specific
3552         unpack1 functions.
3553         (unpack0):  Add calls to specific unpack0 functions.
3554         * m4/unpack.m4:  New file.
3555         * generated/unpack_i1.c:  New file.
3556         * generated/unpack_i2.c:  New file.
3557         * generated/unpack_i4.c:  New file.
3558         * generated/unpack_i8.c:  New file.
3559         * generated/unpack_i16.c:  New file.
3560         * generated/unpack_r4.c:  New file.
3561         * generated/unpack_r8.c:  New file.
3562         * generated/unpack_r10.c:  New file.
3563         * generated/unpack_r16.c:  New file.
3564         * generated/unpack_c4.c:  New file.
3565         * generated/unpack_c8.c:  New file.
3566         * generated/unpack_c10.c:  New file.
3567         * generated/unpack_c16.c:  New file.
3568
3569 2008-03-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3570
3571         PR libfortran/35632
3572         * io/transfer.c (data_transfer_init):  Fix whitespace.
3573         (next_record_w): Truncate the file only if the stream
3574         position is short of the file end.
3575
3576 2008-03-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3577
3578         * intrinsics/pack_generic.c:  Fix typo.
3579
3580 2008-03-21  Janne Blomqvist  <jb@gcc.gnu.org>
3581
3582         * gfortran.map: Move erfc_scaled symbols to new symbol node
3583         GFORTRAN_1.1, thereby fixing ABI bug introduced in r132846.
3584
3585 2008-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
3586
3587         PR libfortran/32972
3588         * runtime/in_pack_generic.c (internal_pack):  Call correct
3589         function, pack_i16, for GFC_INTEGER_16.
3590
3591 2008-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
3592
3593         PR libfortran/32972
3594         * Makefile.am:  Add new variable, i_pack_c, containing
3595         pack_i1.c, pack_i2.c, pack_i4.c, pack_i8.c, pack_i16.c,
3596         pack_r4.c, pack_r8.c, pack_r10.c, pack_r16.c, pack_c4.c,
3597         pack_c8.c, pack_c10.c, pack_c16.c.
3598         Add m4/pack.m4 to m4_files.
3599         Add i_pack_c to gfor_built_src.
3600         Add rule to generate i_pack_c from m4/pack.m4.
3601         * Makefile.in:  Regenerated.
3602         * libgfortran.h: Add prototypes for pack_i1, pack_i2, pack_i4,
3603         pack_i8, pack_i16, pack_r4, pack_r8, pack_c4, pack_c8,
3604         pack_c10, pack_c16.
3605         * intrinsics/pack_generic.c:  Add calls to specific
3606         pack functions.
3607         * m4/pack.m4:  New file.
3608         * generated/pack_i1.c:  New file.
3609         * generated/pack_i2.c:  New file.
3610         * generated/pack_i4.c:  New file.
3611         * generated/pack_i8.c:  New file.
3612         * generated/pack_i16.c:  New file.
3613         * generated/pack_r4.c:  New file.
3614         * generated/pack_r8.c:  New file.
3615         * generated/pack_r10.c:  New file.
3616         * generated/pack_r16.c:  New file.
3617         * generated/pack_c4.c:  New file.
3618         * generated/pack_c8.c:  New file.
3619         * generated/pack_c10.c:  New file.
3620         * generated/pack_c16.c:  New file.
3621
3622 2008-03-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3623
3624         PR libfortran/35627
3625         * io/list_read.c (free_line): Clear the line buffer enable flag and
3626         reset the index into line_buffer, aka item_count.
3627         (next_char): Cleanup whitespace.
3628         (read_logical): Use unget_char to assure that the first character of the
3629         bad logical is saved in case it is part of an object name. Remove the
3630         clearing of index and flag that is now in free_line.
3631         (read_real): Likewise.
3632
3633 2008-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
3634
3635         PR libfortran/32972
3636         * runtime/in_pack_generic.c (internal_pack):  Fix typo in
3637         last commit.
3638
3639 2008-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
3640
3641         PR libfortran/32972
3642         * Makefile.am (in_pack_c): Add in_pack_i1.c, in_pack_i2.c,
3643         in_pack_r4.c, in_pack_r8.c, in_pack_r10.c and in_pack_r16.c.
3644         (in_unpack_c): Add in_unpack_i1.c, in_unpack_i2.c,
3645         in_unpack_r4.c, in_unpack_r8.c, in_unpack_r10.c and
3646         in_unpack_r16.c.
3647         * Makefile.in: Regenerate.
3648         * libgfortran.h:  Add prototypes for internal_pack_1,
3649         internal_pack_2, internal_pack_16, internal_pack_r4,
3650         internal_pack_r8, internal_pack_r10, internal_pack_r16,
3651         internal_pack_c10 and internal_pack_c16.  Add prototypes for
3652         internal_unpack_1, internal_unpack_2, internal_unpack_16,
3653         internal_unpack_r4, internal_unpack_r8, internal_unpack_r10,
3654         internal_unpack_r16, internal_unpack_c10 and
3655         internal_unpack_c16.
3656         * runtime/in_pack_generic.c (internal_pack): Use sizeof instead
3657         of hardwired sizes.
3658         Add calls to internal_pack_1, internal_pack_2,
3659         internal_pack_16, internal_pack_r4, internal_pack_r8,
3660         internal_pack_r10, internal_pack_r16, internal_pack_c10 and
3661         internal_pack_c16.
3662         * runtime/in_unpack_generic.c (internal_unpack):  Use sizeof
3663         instead of hardwired sizes.
3664         Add calls to internal_unpack_1, internal_unpack_2,
3665         internal_unpack_16, internal_unpack_r4, internal_unpack_r8,
3666         internal_unpack_r10, internal_unpack_r16, internal_unpack_c10
3667         and internal_unpack_c16.
3668         * generated/in_pack_r4.c:  New file.
3669         * generated/in_pack_i2.c:  New file.
3670         * generated/in_unpack_i1.c:  New file.
3671         * generated/in_pack_r10.c:  New file.
3672         * generated/in_unpack_r4.c:  New file.
3673         * generated/in_unpack_i2.c:  New file.
3674         * generated/in_unpack_r16.c:  New file.
3675         * generated/in_pack_r8.c:  New file.
3676         * generated/in_unpack_r10.c:  New file.
3677         * generated/in_unpack_r8.c:  New file.
3678         * generated/in_pack_r16.c:  New file.
3679         * generated/in_pack_i1.c:  New file.
3680
3681 2008-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3682
3683         PR libfortran/35617
3684         * io/list_read.c (eat_separator): If next character after eatline is '!'
3685         then eatline again. 
3686
3687 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3688
3689         * aclocal.m4: Regenerate.
3690         * configure: Likewise.
3691         * Makefile.in: Likewise.
3692
3693 2008-03-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3694
3695         PR libfortran/35524
3696         * intrinsics/erfc_scaled_inc.c: Only define the long double
3697         variant of erfc_scaled if expl is available.
3698
3699 2008-03-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3700
3701         PR libfortran/32812
3702         * intrinsics/random.c (scramble_seed, unscramble_seed): New
3703         functions.
3704         (random_seed_i4): Scramble the seed the user gives us before
3705         storing it, and unscramble it when we return it back later.
3706
3707 2008-03-05  Hans-Peter Nilsson  <hp@axis.com>
3708
3709         PR libfortran/35293
3710         * io/unix.c (fd_truncate): Fold s->special_file case into
3711         success case of ftruncate/chsize call instead of the failure case.
3712         Make failure case actually return failure.  Properly update stream
3713         pointers on failure.  Call runtime_error for targets without
3714         neither ftruncate nor chsize where such a call would be needed.
3715
3716 2008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3717
3718         PR fortran/33197
3719         * intrinsics/erfc_scaled_inc.c: New file.
3720         * intrinsics/erfc_scaled.c: New file.
3721         * gfortran.map (GFORTRAN_1.0): Add _gfortran_erfc_scaled_r*.
3722         * Makefile.am: Add intrinsics/erfc_scaled.c.
3723         * config.h.in: Regenerate.
3724         * configure: Regenerate.
3725         * Makefile.in: Regenerate.
3726
3727 2008-03-01  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3728
3729         PR libfortran/35355
3730         * intrinsics/time_1.h (__time_1): Fix calculation of user_usec
3731         for mingw.
3732
3733 2008-03-01  Janne Blomqvist  <jb@gcc.gnu.org>
3734
3735         PR libfortran/35063
3736         * io/unit.c (destroy_unit_mutex): Call __gthread_mutex_destroy
3737         instead of macro kludge.
3738         
3739 2008-02-25  Janne Blomqvist  <jb@gcc.gnu.org>
3740
3741         PR fortran/29549
3742         * Makefile.am: Add -fcx-fortran-rules to AM_CFLAGS for all of
3743         libgfortran.
3744         * Makefile.in: Regenerated.
3745
3746 2008-02-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3747
3748         * m4/ifunction_logical.m4: Add casts to get rid of warnings.
3749         * generated/all_l1.c: Regenerate.
3750         * generated/all_l2.c: Regenerate.
3751         * generated/all_l4.c: Regenerate.
3752         * generated/all_l8.c: Regenerate.
3753         * generated/all_l16.c: Regenerate.
3754         * generated/any_l1.c: Regenerate.
3755         * generated/any_l2.c: Regenerate.
3756         * generated/any_l4.c: Regenerate.
3757         * generated/any_l8.c: Regenerate.
3758         * generated/any_l16.c: Regenerate.
3759         * generated/count_1_l.c: Regenerate.
3760         * generated/count_2_l.c: Regenerate.
3761         * generated/count_4_l.c: Regenerate.
3762         * generated/count_8_l.c: Regenerate.
3763         * generated/count_16_l.c: Regenerate.
3764
3765 2008-02-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
3766
3767         PR libfortran/32841
3768         * acinclude.m4: Don't use HAVE_MATH_H.
3769         * configure: Regenerate.
3770
3771 2008-02-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3772
3773         PR libfortran/35132
3774         * io/transfer.c (next_record_w): Truncate after the last record for
3775         STREAM I/O.
3776
3777         PR libfortran/34954
3778         * io/transfer.c (data_transfer_init): Initialize dtp->rec if writing.
3779
3780         PR libfortran/34974
3781         * io/transfer.c (formatted_transfer_scalar): Flush the buffer if skips
3782         is less than zero. (next_record_w): Use sseek to position the file to
3783         the max position reached.
3784
3785 2008-02-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3786
3787         PR libfortran/35036
3788         * write_float.def (output_float):  Add error checks for zero digits
3789         after decimal point in E and D format specifiers.
3790         
3791 2008-02-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3792
3793         PR libfortran/35063
3794         * io/unit.c (destroy_unit_mutex): New function that uses
3795         __gthread_mutex_destroy_function or pthread_mutex_destroy after
3796         unlocking and before free_mem for final closure of I/O unit.
3797         (delete_root): Use new function.
3798         (free_internal_unit): Likewise.
3799         (close_unit_1): Likewise.
3800
3801 2008-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
3802
3803         PR libfortran/35001
3804         * m4/shape.m4:  Return 0 for extents <= 0.
3805         * generated/shape_i4.c:  Regenerated.
3806         * generated/shape_i8.c:  Regenerated.
3807         * generated/shape_i16.c:  Regenerated.
3808
3809 2008-01-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
3810
3811         PR libfortran/34980
3812         * m4/shape.m4:  If return array is empty, return early.
3813         * generated/shape_i4.c:  Regenerated.
3814         * generated/shape_i8.c:  Regenerated.
3815         * generated/shape_i16.c:  Regenerated.
3816
3817 2008-01-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
3818
3819         PR libfofortran/34887
3820         * io/transfer.c (next_record_w): Always move to the farthest
3821         position when completing the record (also when we are
3822         processing a slash edit descriptor).
3823
3824 2008-01-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3825
3826         PR libfortran/34876
3827         * io/transfer.c (write_buf): Handle case of zero sized array.
3828         (transfer_array): Set data pointer to NULL and size to zero.  Then
3829         make a data transfer and return.
3830         
3831 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
3832
3833         * configure: Regenerate.
3834
3835 2008-01-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3836
3837         PR libfortran/34795
3838         * io/inquire.c (inquire_via_unit): If a unit is opened, return values
3839         according to the open action for DIRECT, FORMATTED, and UNFORMATTED.
3840         (inquire_via_filename): Return "UNKNOWN" for SEQUENTIAL, DIRECT,
3841         FORAMATTED, and UNFORMATTED inquiries.
3842         * io/unix.c (inquire_sequential): Return "UNKNOWN" when appropriate
3843         for files that are not opened. (inquire_direct): Same.
3844         (inquire_formatted): Same.
3845         
3846 2008-01-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3847
3848         PR libfortran/34782
3849         * io/transfer.c (formatted_transfer_scalar): Set max_pos to the greater
3850         of the current max_pos or the newly calculated position.
3851
3852 2008-01-18  Tobias Burnus  <burnus@net-b.de>
3853
3854         * io/write.c (write_real): Increase default precision
3855         for REAL(16) by one.
3856
3857 2008-01-16  Steven Bosscher  <steven@gcc.gnu.org>
3858
3859         PR libfortran/34669
3860         * mk-kinds-h.sh: Compile with -S to avoid calling the assembler,
3861         to avoid piping the -fdump-parse-tree output to the assembler
3862         when configuring with -pipe.
3863         * mk-sik-inc.sh: Likewise.
3864         * mk-srk-inc.sh: Likewise.
3865
3866 2008-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
3867
3868         PR libfortran/34671
3869         * gfortran.am: Added _gfortran_all_l1, _gfortran_all_l2,
3870         _gfortran_any_l1, _gfortran_any_l2, -28,15 _gfortran_count_1_l,
3871         _gfortran_count_16_l, _gfortran_count_2_l, _gfortran_count_4_l and
3872         _gfortran_count_8_l Removed _gfortran_count_16_l16,
3873         _gfortran_count_16_l4, _gfortran_count_16_l8,
3874         _gfortran_count_4_l16, _gfortran_count_4_l4, _gfortran_count_4_l8,
3875         _gfortran_count_8_l16, _gfortran_count_8_l4 and
3876         _gfortran_count_8_l8.
3877         * Makefile.am: Added generated/any_l1.c and generated/any_l2.c to
3878         i_any_c.  Added generated/all_l1. and generated/all_l2.c to
3879         i_all_c.  Removed generated/count_4_l4.c, generated/count_8_l4.c,
3880         generated/count_16_l4.c, generated/count_4_l8.c,
3881         generated/count_8_l8.c, generated/count_16_l8.c,
3882         generated/count_4_l16.c, generated/count_8_l16.c, and
3883         generated/count_16_l16.c from i_count_c.  Added count_1_l.c,
3884         count_2_l.c, count_4_l.c, count_8_l.c and count_16_l.c to
3885         i_count_c.  I_M4_DEPS2 depends on ifunction_logical.m4, for
3886         any of the files generated from all.m4, any.m4 and count.m4.
3887         * Makefile.in:  Regenerated.
3888         * m4/ifunction_logical.m4:  New file.  Use
3889         GFC_LOGICAL_1 pointer for access to source arrays.
3890         * m4/any.m4:  Include ifunction_logical.m4 instead of
3891         ifunction.m4.  Don't check atype_name.
3892         * m4/all.m4:  Likewise.
3893         * m4/count.m4:  Likewise.
3894         * generated/any_l1.c:  New file.
3895         * generated/any_l2.c:  New file.
3896         * generated/all_l1.c:  New file.
3897         * generated/count_1_l.c:  New file.
3898         * generated/count_2_l.c:  New file.
3899         * generated/count_4_l.c:  New file.
3900         * generated/count_8_l.c:  New file.
3901         * generated/count_16_l.c:  New file.
3902         * generated/any_l4.c:  Regenerated.
3903         * generated/any_l8.c:  Regenerated.
3904         * generated/any_l16.c:  Regenerated.
3905         * generated/all_l4.c: Regenerated.
3906         * generated/all_l8.c: Regenerated.
3907         * generated/all_l16.c: Regenerated.
3908         * generated/count_4_l4.c:  Removed.
3909         * generated/count_4_l8.c:  Removed.
3910         * generated/count_4_l16.c:  Removed.
3911         * generated/count_8_l4.c:  Removed.
3912         * generated/count_8_l8.c:  Removed.
3913         * generated/count_8_l16.c:  Removed.
3914         * generated/count_16_l4.c:  Removed.
3915         * generated/count_16_l8.c:  Removed.
3916         * generated/count_16_l16.c:  Removed.
3917
3918 2008-01-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
3919
3920         PR libfortran/34746
3921         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Use %ld
3922         in printf format for all bounds checking; cast all
3923         integer-like arguments to runtime_error() to long int.
3924         (`m'name`'rtype_qual`_'atype_code):  Likewise.
3925         (`s'name`'rtype_qual`_'atype_code):  Likewise.
3926         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Likewise.
3927         (`m'name`'rtype_qual`_'atype_code):  Likewise.
3928         (`s'name`'rtype_qual`_'atype_code):  Likewise.
3929         * generated/all_l16.c: Regenerated.
3930         * generated/all_l4.c: Regenerated.
3931         * generated/all_l8.c: Regenerated.
3932         * generated/any_l16.c: Regenerated.
3933         * generated/any_l4.c: Regenerated.
3934         * generated/any_l8.c: Regenerated.
3935         * generated/count_16_l16.c: Regenerated.
3936         * generated/count_16_l4.c: Regenerated.
3937         * generated/count_16_l8.c: Regenerated.
3938         * generated/count_4_l16.c: Regenerated.
3939         * generated/count_4_l4.c: Regenerated.
3940         * generated/count_4_l8.c: Regenerated.
3941         * generated/count_8_l16.c: Regenerated.
3942         * generated/count_8_l4.c: Regenerated.
3943         * generated/count_8_l8.c: Regenerated.
3944         * generated/maxloc0_16_i1.c: Regenerated.
3945         * generated/maxloc0_16_i16.c: Regenerated.
3946         * generated/maxloc0_16_i2.c: Regenerated.
3947         * generated/maxloc0_16_i4.c: Regenerated.
3948         * generated/maxloc0_16_i8.c: Regenerated.
3949         * generated/maxloc0_16_r10.c: Regenerated.
3950         * generated/maxloc0_16_r16.c: Regenerated.
3951         * generated/maxloc0_16_r4.c: Regenerated.
3952         * generated/maxloc0_16_r8.c: Regenerated.
3953         * generated/maxloc0_4_i1.c: Regenerated.
3954         * generated/maxloc0_4_i16.c: Regenerated.
3955         * generated/maxloc0_4_i2.c: Regenerated.
3956         * generated/maxloc0_4_i4.c: Regenerated.
3957         * generated/maxloc0_4_i8.c: Regenerated.
3958         * generated/maxloc0_4_r10.c: Regenerated.
3959         * generated/maxloc0_4_r16.c: Regenerated.
3960         * generated/maxloc0_4_r4.c: Regenerated.
3961         * generated/maxloc0_4_r8.c: Regenerated.
3962         * generated/maxloc0_8_i1.c: Regenerated.
3963         * generated/maxloc0_8_i16.c: Regenerated.
3964         * generated/maxloc0_8_i2.c: Regenerated.
3965         * generated/maxloc0_8_i4.c: Regenerated.
3966         * generated/maxloc0_8_i8.c: Regenerated.
3967         * generated/maxloc0_8_r10.c: Regenerated.
3968         * generated/maxloc0_8_r16.c: Regenerated.
3969         * generated/maxloc0_8_r4.c: Regenerated.
3970         * generated/maxloc0_8_r8.c: Regenerated.
3971         * generated/maxloc1_16_i1.c: Regenerated.
3972         * generated/maxloc1_16_i16.c: Regenerated.
3973         * generated/maxloc1_16_i2.c: Regenerated.
3974         * generated/maxloc1_16_i4.c: Regenerated.
3975         * generated/maxloc1_16_i8.c: Regenerated.
3976         * generated/maxloc1_16_r10.c: Regenerated.
3977         * generated/maxloc1_16_r16.c: Regenerated.
3978         * generated/maxloc1_16_r4.c: Regenerated.
3979         * generated/maxloc1_16_r8.c: Regenerated.
3980         * generated/maxloc1_4_i1.c: Regenerated.
3981         * generated/maxloc1_4_i16.c: Regenerated.
3982         * generated/maxloc1_4_i2.c: Regenerated.
3983         * generated/maxloc1_4_i4.c: Regenerated.
3984         * generated/maxloc1_4_i8.c: Regenerated.
3985         * generated/maxloc1_4_r10.c: Regenerated.
3986         * generated/maxloc1_4_r16.c: Regenerated.
3987         * generated/maxloc1_4_r4.c: Regenerated.
3988         * generated/maxloc1_4_r8.c: Regenerated.
3989         * generated/maxloc1_8_i1.c: Regenerated.
3990         * generated/maxloc1_8_i16.c: Regenerated.
3991         * generated/maxloc1_8_i2.c: Regenerated.
3992         * generated/maxloc1_8_i4.c: Regenerated.
3993         * generated/maxloc1_8_i8.c: Regenerated.
3994         * generated/maxloc1_8_r10.c: Regenerated.
3995         * generated/maxloc1_8_r16.c: Regenerated.
3996         * generated/maxloc1_8_r4.c: Regenerated.
3997         * generated/maxloc1_8_r8.c: Regenerated.
3998         * generated/maxval_i1.c: Regenerated.
3999         * generated/maxval_i16.c: Regenerated.
4000         * generated/maxval_i2.c: Regenerated.
4001         * generated/maxval_i4.c: Regenerated.
4002         * generated/maxval_i8.c: Regenerated.
4003         * generated/maxval_r10.c: Regenerated.
4004         * generated/maxval_r16.c: Regenerated.
4005         * generated/maxval_r4.c: Regenerated.
4006         * generated/maxval_r8.c: Regenerated.
4007         * generated/minloc0_16_i1.c: Regenerated.
4008         * generated/minloc0_16_i16.c: Regenerated.
4009         * generated/minloc0_16_i2.c: Regenerated.
4010         * generated/minloc0_16_i4.c: Regenerated.
4011         * generated/minloc0_16_i8.c: Regenerated.
4012         * generated/minloc0_16_r10.c: Regenerated.
4013         * generated/minloc0_16_r16.c: Regenerated.
4014         * generated/minloc0_16_r4.c: Regenerated.
4015         * generated/minloc0_16_r8.c: Regenerated.
4016         * generated/minloc0_4_i1.c: Regenerated.
4017         * generated/minloc0_4_i16.c: Regenerated.
4018         * generated/minloc0_4_i2.c: Regenerated.
4019         * generated/minloc0_4_i4.c: Regenerated.
4020         * generated/minloc0_4_i8.c: Regenerated.
4021         * generated/minloc0_4_r10.c: Regenerated.
4022         * generated/minloc0_4_r16.c: Regenerated.
4023         * generated/minloc0_4_r4.c: Regenerated.
4024         * generated/minloc0_4_r8.c: Regenerated.
4025         * generated/minloc0_8_i1.c: Regenerated.
4026         * generated/minloc0_8_i16.c: Regenerated.
4027         * generated/minloc0_8_i2.c: Regenerated.
4028         * generated/minloc0_8_i4.c: Regenerated.
4029         * generated/minloc0_8_i8.c: Regenerated.
4030         * generated/minloc0_8_r10.c: Regenerated.
4031         * generated/minloc0_8_r16.c: Regenerated.
4032         * generated/minloc0_8_r4.c: Regenerated.
4033         * generated/minloc0_8_r8.c: Regenerated.
4034         * generated/minloc1_16_i1.c: Regenerated.
4035         * generated/minloc1_16_i16.c: Regenerated.
4036         * generated/minloc1_16_i2.c: Regenerated.
4037         * generated/minloc1_16_i4.c: Regenerated.
4038         * generated/minloc1_16_i8.c: Regenerated.
4039         * generated/minloc1_16_r10.c: Regenerated.
4040         * generated/minloc1_16_r16.c: Regenerated.
4041         * generated/minloc1_16_r4.c: Regenerated.
4042         * generated/minloc1_16_r8.c: Regenerated.
4043         * generated/minloc1_4_i1.c: Regenerated.
4044         * generated/minloc1_4_i16.c: Regenerated.
4045         * generated/minloc1_4_i2.c: Regenerated.
4046         * generated/minloc1_4_i4.c: Regenerated.
4047         * generated/minloc1_4_i8.c: Regenerated.
4048         * generated/minloc1_4_r10.c: Regenerated.
4049         * generated/minloc1_4_r16.c: Regenerated.
4050         * generated/minloc1_4_r4.c: Regenerated.
4051         * generated/minloc1_4_r8.c: Regenerated.
4052         * generated/minloc1_8_i1.c: Regenerated.
4053         * generated/minloc1_8_i16.c: Regenerated.
4054         * generated/minloc1_8_i2.c: Regenerated.
4055         * generated/minloc1_8_i4.c: Regenerated.
4056         * generated/minloc1_8_i8.c: Regenerated.
4057         * generated/minloc1_8_r10.c: Regenerated.
4058         * generated/minloc1_8_r16.c: Regenerated.
4059         * generated/minloc1_8_r4.c: Regenerated.
4060         * generated/minloc1_8_r8.c: Regenerated.
4061         * generated/minval_i1.c: Regenerated.
4062         * generated/minval_i16.c: Regenerated.
4063         * generated/minval_i2.c: Regenerated.
4064         * generated/minval_i4.c: Regenerated.
4065         * generated/minval_i8.c: Regenerated.
4066         * generated/minval_r10.c: Regenerated.
4067         * generated/minval_r16.c: Regenerated.
4068         * generated/minval_r4.c: Regenerated.
4069         * generated/minval_r8.c: Regenerated.
4070         * generated/product_c10.c: Regenerated.
4071         * generated/product_c16.c: Regenerated.
4072         * generated/product_c4.c: Regenerated.
4073         * generated/product_c8.c: Regenerated.
4074         * generated/product_i1.c: Regenerated.
4075         * generated/product_i16.c: Regenerated.
4076         * generated/product_i2.c: Regenerated.
4077         * generated/product_i4.c: Regenerated.
4078         * generated/product_i8.c: Regenerated.
4079         * generated/product_r10.c: Regenerated.
4080         * generated/product_r16.c: Regenerated.
4081         * generated/product_r4.c: Regenerated.
4082         * generated/product_r8.c: Regenerated.
4083         * generated/sum_c10.c: Regenerated.
4084         * generated/sum_c16.c: Regenerated.
4085         * generated/sum_c4.c: Regenerated.
4086         * generated/sum_c8.c: Regenerated.
4087         * generated/sum_i1.c: Regenerated.
4088         * generated/sum_i16.c: Regenerated.
4089         * generated/sum_i2.c: Regenerated.
4090         * generated/sum_i4.c: Regenerated.
4091         * generated/sum_i8.c: Regenerated.
4092         * generated/sum_r10.c: Regenerated.
4093         * generated/sum_r16.c: Regenerated.
4094         * generated/sum_r4.c: Regenerated.
4095         * generated/sum_r8.c: Regenerated.
4096
4097 2008-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
4098
4099         PR libfortran/34670
4100         * m4/iparm.m4 (upcase):  New macro (copied from the m4 manual).
4101         (u_name):  New macro for the upper case name of the intrinsic.
4102         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Add
4103         bounds checking and rank check, depending on
4104         compile_options.bounds_check.
4105         (`m'name`'rtype_qual`_'atype_code):  Likewise.
4106         (`s'name`'rtype_qual`_'atype_code):  Likewise.
4107         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Add
4108         bounds checking and rank check, depending on
4109         compile_options.bounds_check.
4110         (`m'name`'rtype_qual`_'atype_code):  Likewise.
4111         (`s'name`'rtype_qual`_'atype_code):  Likewise.
4112         * generated/all_l16.c: Regenerated.
4113         * generated/all_l4.c: Regenerated.
4114         * generated/all_l8.c: Regenerated.
4115         * generated/any_l16.c: Regenerated.
4116         * generated/any_l4.c: Regenerated.
4117         * generated/any_l8.c: Regenerated.
4118         * generated/count_16_l16.c: Regenerated.
4119         * generated/count_16_l4.c: Regenerated.
4120         * generated/count_16_l8.c: Regenerated.
4121         * generated/count_4_l16.c: Regenerated.
4122         * generated/count_4_l4.c: Regenerated.
4123         * generated/count_4_l8.c: Regenerated.
4124         * generated/count_8_l16.c: Regenerated.
4125         * generated/count_8_l4.c: Regenerated.
4126         * generated/count_8_l8.c: Regenerated.
4127         * generated/maxloc0_16_i1.c: Regenerated.
4128         * generated/maxloc0_16_i16.c: Regenerated.
4129         * generated/maxloc0_16_i2.c: Regenerated.
4130         * generated/maxloc0_16_i4.c: Regenerated.
4131         * generated/maxloc0_16_i8.c: Regenerated.
4132         * generated/maxloc0_16_r10.c: Regenerated.
4133         * generated/maxloc0_16_r16.c: Regenerated.
4134         * generated/maxloc0_16_r4.c: Regenerated.
4135         * generated/maxloc0_16_r8.c: Regenerated.
4136         * generated/maxloc0_4_i1.c: Regenerated.
4137         * generated/maxloc0_4_i16.c: Regenerated.
4138         * generated/maxloc0_4_i2.c: Regenerated.
4139         * generated/maxloc0_4_i4.c: Regenerated.
4140         * generated/maxloc0_4_i8.c: Regenerated.
4141         * generated/maxloc0_4_r10.c: Regenerated.
4142         * generated/maxloc0_4_r16.c: Regenerated.
4143         * generated/maxloc0_4_r4.c: Regenerated.
4144         * generated/maxloc0_4_r8.c: Regenerated.
4145         * generated/maxloc0_8_i1.c: Regenerated.
4146         * generated/maxloc0_8_i16.c: Regenerated.
4147         * generated/maxloc0_8_i2.c: Regenerated.
4148         * generated/maxloc0_8_i4.c: Regenerated.
4149         * generated/maxloc0_8_i8.c: Regenerated.
4150         * generated/maxloc0_8_r10.c: Regenerated.
4151         * generated/maxloc0_8_r16.c: Regenerated.
4152         * generated/maxloc0_8_r4.c: Regenerated.
4153         * generated/maxloc0_8_r8.c: Regenerated.
4154         * generated/maxloc1_16_i1.c: Regenerated.
4155         * generated/maxloc1_16_i16.c: Regenerated.
4156         * generated/maxloc1_16_i2.c: Regenerated.
4157         * generated/maxloc1_16_i4.c: Regenerated.
4158         * generated/maxloc1_16_i8.c: Regenerated.
4159         * generated/maxloc1_16_r10.c: Regenerated.
4160         * generated/maxloc1_16_r16.c: Regenerated.
4161         * generated/maxloc1_16_r4.c: Regenerated.
4162         * generated/maxloc1_16_r8.c: Regenerated.
4163         * generated/maxloc1_4_i1.c: Regenerated.
4164         * generated/maxloc1_4_i16.c: Regenerated.
4165         * generated/maxloc1_4_i2.c: Regenerated.
4166         * generated/maxloc1_4_i4.c: Regenerated.
4167         * generated/maxloc1_4_i8.c: Regenerated.
4168         * generated/maxloc1_4_r10.c: Regenerated.
4169         * generated/maxloc1_4_r16.c: Regenerated.
4170         * generated/maxloc1_4_r4.c: Regenerated.
4171         * generated/maxloc1_4_r8.c: Regenerated.
4172         * generated/maxloc1_8_i1.c: Regenerated.
4173         * generated/maxloc1_8_i16.c: Regenerated.
4174         * generated/maxloc1_8_i2.c: Regenerated.
4175         * generated/maxloc1_8_i4.c: Regenerated.
4176         * generated/maxloc1_8_i8.c: Regenerated.
4177         * generated/maxloc1_8_r10.c: Regenerated.
4178         * generated/maxloc1_8_r16.c: Regenerated.
4179         * generated/maxloc1_8_r4.c: Regenerated.
4180         * generated/maxloc1_8_r8.c: Regenerated.
4181         * generated/maxval_i1.c: Regenerated.
4182         * generated/maxval_i16.c: Regenerated.
4183         * generated/maxval_i2.c: Regenerated.
4184         * generated/maxval_i4.c: Regenerated.
4185         * generated/maxval_i8.c: Regenerated.
4186         * generated/maxval_r10.c: Regenerated.
4187         * generated/maxval_r16.c: Regenerated.
4188         * generated/maxval_r4.c: Regenerated.
4189         * generated/maxval_r8.c: Regenerated.
4190         * generated/minloc0_16_i1.c: Regenerated.
4191         * generated/minloc0_16_i16.c: Regenerated.
4192         * generated/minloc0_16_i2.c: Regenerated.
4193         * generated/minloc0_16_i4.c: Regenerated.
4194         * generated/minloc0_16_i8.c: Regenerated.
4195         * generated/minloc0_16_r10.c: Regenerated.
4196         * generated/minloc0_16_r16.c: Regenerated.
4197         * generated/minloc0_16_r4.c: Regenerated.
4198         * generated/minloc0_16_r8.c: Regenerated.
4199         * generated/minloc0_4_i1.c: Regenerated.
4200         * generated/minloc0_4_i16.c: Regenerated.
4201         * generated/minloc0_4_i2.c: Regenerated.
4202         * generated/minloc0_4_i4.c: Regenerated.
4203         * generated/minloc0_4_i8.c: Regenerated.
4204         * generated/minloc0_4_r10.c: Regenerated.
4205         * generated/minloc0_4_r16.c: Regenerated.
4206         * generated/minloc0_4_r4.c: Regenerated.
4207         * generated/minloc0_4_r8.c: Regenerated.
4208         * generated/minloc0_8_i1.c: Regenerated.
4209         * generated/minloc0_8_i16.c: Regenerated.
4210         * generated/minloc0_8_i2.c: Regenerated.
4211         * generated/minloc0_8_i4.c: Regenerated.
4212         * generated/minloc0_8_i8.c: Regenerated.
4213         * generated/minloc0_8_r10.c: Regenerated.
4214         * generated/minloc0_8_r16.c: Regenerated.
4215         * generated/minloc0_8_r4.c: Regenerated.
4216         * generated/minloc0_8_r8.c: Regenerated.
4217         * generated/minloc1_16_i1.c: Regenerated.
4218         * generated/minloc1_16_i16.c: Regenerated.
4219         * generated/minloc1_16_i2.c: Regenerated.
4220         * generated/minloc1_16_i4.c: Regenerated.
4221         * generated/minloc1_16_i8.c: Regenerated.
4222         * generated/minloc1_16_r10.c: Regenerated.
4223         * generated/minloc1_16_r16.c: Regenerated.
4224         * generated/minloc1_16_r4.c: Regenerated.
4225         * generated/minloc1_16_r8.c: Regenerated.
4226         * generated/minloc1_4_i1.c: Regenerated.
4227         * generated/minloc1_4_i16.c: Regenerated.
4228         * generated/minloc1_4_i2.c: Regenerated.
4229         * generated/minloc1_4_i4.c: Regenerated.
4230         * generated/minloc1_4_i8.c: Regenerated.
4231         * generated/minloc1_4_r10.c: Regenerated.
4232         * generated/minloc1_4_r16.c: Regenerated.
4233         * generated/minloc1_4_r4.c: Regenerated.
4234         * generated/minloc1_4_r8.c: Regenerated.
4235         * generated/minloc1_8_i1.c: Regenerated.
4236         * generated/minloc1_8_i16.c: Regenerated.
4237         * generated/minloc1_8_i2.c: Regenerated.
4238         * generated/minloc1_8_i4.c: Regenerated.
4239         * generated/minloc1_8_i8.c: Regenerated.
4240         * generated/minloc1_8_r10.c: Regenerated.
4241         * generated/minloc1_8_r16.c: Regenerated.
4242         * generated/minloc1_8_r4.c: Regenerated.
4243         * generated/minloc1_8_r8.c: Regenerated.
4244         * generated/minval_i1.c: Regenerated.
4245         * generated/minval_i16.c: Regenerated.
4246         * generated/minval_i2.c: Regenerated.
4247         * generated/minval_i4.c: Regenerated.
4248         * generated/minval_i8.c: Regenerated.
4249         * generated/minval_r10.c: Regenerated.
4250         * generated/minval_r16.c: Regenerated.
4251         * generated/minval_r4.c: Regenerated.
4252         * generated/minval_r8.c: Regenerated.
4253         * generated/product_c10.c: Regenerated.
4254         * generated/product_c16.c: Regenerated.
4255         * generated/product_c4.c: Regenerated.
4256         * generated/product_c8.c: Regenerated.
4257         * generated/product_i1.c: Regenerated.
4258         * generated/product_i16.c: Regenerated.
4259         * generated/product_i2.c: Regenerated.
4260         * generated/product_i4.c: Regenerated.
4261         * generated/product_i8.c: Regenerated.
4262         * generated/product_r10.c: Regenerated.
4263         * generated/product_r16.c: Regenerated.
4264         * generated/product_r4.c: Regenerated.
4265         * generated/product_r8.c: Regenerated.
4266         * generated/sum_c10.c: Regenerated.
4267         * generated/sum_c16.c: Regenerated.
4268         * generated/sum_c4.c: Regenerated.
4269         * generated/sum_c8.c: Regenerated.
4270         * generated/sum_i1.c: Regenerated.
4271         * generated/sum_i16.c: Regenerated.
4272         * generated/sum_i2.c: Regenerated.
4273         * generated/sum_i4.c: Regenerated.
4274         * generated/sum_i8.c: Regenerated.
4275         * generated/sum_r10.c: Regenerated.
4276         * generated/sum_r16.c: Regenerated.
4277         * generated/sum_r4.c: Regenerated.
4278         * generated/sum_r8.c: Regenerated.
4279
4280 2008-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
4281
4282         PR libfortran/34676
4283         * io/list_read.c (next_char): Only save the EOF condition for later if
4284         advance="no".
4285
4286 2008-01-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
4287
4288         PR libfortran/34565
4289         * io/io.h:  Adjust protoypes for open_internal(),
4290         next_array_record() and init_loop_spec().
4291         * io/list_read.c (next_char):  Use argument "finished"
4292         of next_array_record to check for end on internal file.
4293         * io/unit.c:  Calculate the offset for an array
4294         internal file and supply this informatin to open_internal().
4295         * io/unix.c (open_internal):  Set the offset for the internal
4296         file on open.
4297         * io/transfer.c (init_loop_spec):  Calculate the starting
4298         record in case of negative strides.  Return size of 0 for
4299         an empty array.
4300         (next_array_record):  Use an extra flag to signal that the
4301         array is finished.
4302         (next_record_r):  Use the new flag to next_array_record().
4303         (next_record_w):  Likewise.