Mark ChangeLog
[official-gcc.git] / libgfortran / ChangeLog
blob9980e049b89deccc6c1f162c2ad7c7617213e88e
1 2009-04-21  Release Manager
3         * GCC 4.4.0 released.
5 2009-04-09  Nick Clifton  <nickc@redhat.com>
7         * m4/cshift0.m4: Change copyright header to refer to version 3
8         of the GNU General Public License with version 3.1 of the GCC
9         Runtime Library Exception and to point readers at the COPYING3
10         and COPYING3.RUNTIME files and the FSF's license web page.
11         * c99_protos.h: Likewise.
12         * config/fpu-387.h: Likewise.
13         * config/fpu-aix.h: Likewise.
14         * config/fpu-generic.h: Likewise.
15         * config/fpu-glibc.h: Likewise.
16         * config/fpu-sysv.h: Likewise.
17         * intrinsics/abort.c: Likewise.
18         * intrinsics/access.c: Likewise.
19         * intrinsics/args.c: Likewise.
20         * intrinsics/associated.c: Likewise.
21         * intrinsics/c99_functions.c: Likewise.
22         * intrinsics/chdir.c: Likewise.
23         * intrinsics/chmod.c: Likewise.
24         * intrinsics/clock.c: Likewise.
25         * intrinsics/cpu_time.c: Likewise.
26         * intrinsics/cshift0.c: Likewise.
27         * intrinsics/ctime.c: Likewise.
28         * intrinsics/date_and_time.c: Likewise.
29         * intrinsics/dprod_r8.f90: Likewise.
30         * intrinsics/dtime.c: Likewise.
31         * intrinsics/env.c: Likewise.
32         * intrinsics/eoshift0.c: Likewise.
33         * intrinsics/eoshift2.c: Likewise.
34         * intrinsics/erfc_scaled.c: Likewise.
35         * intrinsics/erfc_scaled_inc.c: Likewise.
36         * intrinsics/etime.c: Likewise.
37         * intrinsics/exit.c: Likewise.
38         * intrinsics/f2c_specifics.F90: Likewise.
39         * intrinsics/fnum.c: Likewise.
40         * intrinsics/gerror.c: Likewise.
41         * intrinsics/getXid.c: Likewise.
42         * intrinsics/getcwd.c: Likewise.
43         * intrinsics/getlog.c: Likewise.
44         * intrinsics/hostnm.c: Likewise.
45         * intrinsics/ierrno.c: Likewise.
46         * intrinsics/ishftc.c: Likewise.
47         * intrinsics/iso_c_binding.c: Likewise.
48         * intrinsics/iso_c_binding.h: Likewise.
49         * intrinsics/iso_c_generated_procs.c: Likewise.
50         * intrinsics/kill.c: Likewise.
51         * intrinsics/link.c: Likewise.
52         * intrinsics/malloc.c: Likewise.
53         * intrinsics/move_alloc.c: Likewise.
54         * intrinsics/mvbits.c: Likewise.
55         * intrinsics/pack_generic.c: Likewise.
56         * intrinsics/perror.c: Likewise.
57         * intrinsics/rand.c: Likewise.
58         * intrinsics/random.c: Likewise.
59         * intrinsics/rename.c: Likewise.
60         * intrinsics/reshape_generic.c: Likewise.
61         * intrinsics/reshape_packed.c: Likewise.
62         * intrinsics/selected_char_kind.c: Likewise.
63         * intrinsics/selected_int_kind.f90: Likewise.
64         * intrinsics/selected_real_kind.f90: Likewise.
65         * intrinsics/signal.c: Likewise.
66         * intrinsics/size.c: Likewise.
67         * intrinsics/sleep.c: Likewise.
68         * intrinsics/spread_generic.c: Likewise.
69         * intrinsics/stat.c: Likewise.
70         * intrinsics/string_intrinsics.c: Likewise.
71         * intrinsics/string_intrinsics_inc.c: Likewise.
72         * intrinsics/symlnk.c: Likewise.
73         * intrinsics/system.c: Likewise.
74         * intrinsics/system_clock.c: Likewise.
75         * intrinsics/time.c: Likewise.
76         * intrinsics/time_1.h: Likewise.
77         * intrinsics/transpose_generic.c: Likewise.
78         * intrinsics/umask.c: Likewise.
79         * intrinsics/unlink.c: Likewise.
80         * intrinsics/unpack_generic.c: Likewise.
81         * io/close.c: Likewise.
82         * io/fbuf.c: Likewise.
83         * io/file_pos.c: Likewise.
84         * io/format.c: Likewise.
85         * io/inquire.c: Likewise.
86         * io/intrinsics.c: Likewise.
87         * io/io.h: Likewise.
88         * io/list_read.c: Likewise.
89         * io/lock.c: Likewise.
90         * io/open.c: Likewise.
91         * io/read.c: Likewise.
92         * io/size_from_kind.c: Likewise.
93         * io/transfer.c: Likewise.
94         * io/unit.c: Likewise.
95         * io/unix.c: Likewise.
96         * io/write.c: Likewise.
97         * io/write_float.def: Likewise.
98         * libgfortran.h: Likewise.
99         * m4/all.m4: Likewise.
100         * m4/any.m4: Likewise.
101         * m4/count.m4: Likewise.
102         * m4/cshift1.m4: Likewise.
103         * m4/eoshift1.m4: Likewise.
104         * m4/eoshift3.m4: Likewise.
105         * m4/exponent.m4: Likewise.
106         * m4/fraction.m4: Likewise.
107         * m4/head.m4: Likewise.
108         * m4/in_pack.m4: Likewise.
109         * m4/in_unpack.m4: Likewise.
110         * m4/matmul.m4: Likewise.
111         * m4/matmull.m4: Likewise.
112         * m4/maxloc0.m4: Likewise.
113         * m4/maxloc1.m4: Likewise.
114         * m4/maxval.m4: Likewise.
115         * m4/minloc0.m4: Likewise.
116         * m4/minloc1.m4: Likewise.
117         * m4/minval.m4: Likewise.
118         * m4/nearest.m4: Likewise.
119         * m4/pack.m4: Likewise.
120         * m4/pow.m4: Likewise.
121         * m4/product.m4: Likewise.
122         * m4/reshape.m4: Likewise.
123         * m4/rrspacing.m4: Likewise.
124         * m4/set_exponent.m4: Likewise.
125         * m4/shape.m4: Likewise.
126         * m4/spacing.m4: Likewise.
127         * m4/spread.m4: Likewise.
128         * m4/sum.m4: Likewise.
129         * m4/transpose.m4: Likewise.
130         * m4/unpack.m4: Likewise.
131         * runtime/backtrace.c: Likewise.
132         * runtime/compile_options.c: Likewise.
133         * runtime/convert_char.c: Likewise.
134         * runtime/environ.c: Likewise.
135         * runtime/error.c: Likewise.
136         * runtime/in_pack_generic.c: Likewise.
137         * runtime/in_unpack_generic.c: Likewise.
138         * runtime/main.c: Likewise.
139         * runtime/memory.c: Likewise.
140         * runtime/pause.c: Likewise.
141         * runtime/select.c: Likewise.
142         * runtime/select_inc.c: Likewise.
143         * runtime/stop.c: Likewise.
144         * runtime/string.c: Likewise.
145         * generated/_abs_c10.F90: Regenerate.
146         * generated/_abs_c16.F90: Regenerate.
147         * generated/_abs_c4.F90: Regenerate.
148         * generated/_abs_c8.F90: Regenerate.
149         * generated/_abs_i16.F90: Regenerate.
150         * generated/_abs_i4.F90: Regenerate.
151         * generated/_abs_i8.F90: Regenerate.
152         * generated/_abs_r10.F90: Regenerate.
153         * generated/_abs_r16.F90: Regenerate.
154         * generated/_abs_r4.F90: Regenerate.
155         * generated/_abs_r8.F90: Regenerate.
156         * generated/_acos_r10.F90: Regenerate.
157         * generated/_acos_r16.F90: Regenerate.
158         * generated/_acos_r4.F90: Regenerate.
159         * generated/_acos_r8.F90: Regenerate.
160         * generated/_acosh_r10.F90: Regenerate.
161         * generated/_acosh_r16.F90: Regenerate.
162         * generated/_acosh_r4.F90: Regenerate.
163         * generated/_acosh_r8.F90: Regenerate.
164         * generated/_aimag_c10.F90: Regenerate.
165         * generated/_aimag_c16.F90: Regenerate.
166         * generated/_aimag_c4.F90: Regenerate.
167         * generated/_aimag_c8.F90: Regenerate.
168         * generated/_aint_r10.F90: Regenerate.
169         * generated/_aint_r16.F90: Regenerate.
170         * generated/_aint_r4.F90: Regenerate.
171         * generated/_aint_r8.F90: Regenerate.
172         * generated/_anint_r10.F90: Regenerate.
173         * generated/_anint_r16.F90: Regenerate.
174         * generated/_anint_r4.F90: Regenerate.
175         * generated/_anint_r8.F90: Regenerate.
176         * generated/_asin_r10.F90: Regenerate.
177         * generated/_asin_r16.F90: Regenerate.
178         * generated/_asin_r4.F90: Regenerate.
179         * generated/_asin_r8.F90: Regenerate.
180         * generated/_asinh_r10.F90: Regenerate.
181         * generated/_asinh_r16.F90: Regenerate.
182         * generated/_asinh_r4.F90: Regenerate.
183         * generated/_asinh_r8.F90: Regenerate.
184         * generated/_atan2_r10.F90: Regenerate.
185         * generated/_atan2_r16.F90: Regenerate.
186         * generated/_atan2_r4.F90: Regenerate.
187         * generated/_atan2_r8.F90: Regenerate.
188         * generated/_atan_r10.F90: Regenerate.
189         * generated/_atan_r16.F90: Regenerate.
190         * generated/_atan_r4.F90: Regenerate.
191         * generated/_atan_r8.F90: Regenerate.
192         * generated/_atanh_r10.F90: Regenerate.
193         * generated/_atanh_r16.F90: Regenerate.
194         * generated/_atanh_r4.F90: Regenerate.
195         * generated/_atanh_r8.F90: Regenerate.
196         * generated/_conjg_c10.F90: Regenerate.
197         * generated/_conjg_c16.F90: Regenerate.
198         * generated/_conjg_c4.F90: Regenerate.
199         * generated/_conjg_c8.F90: Regenerate.
200         * generated/_cos_c10.F90: Regenerate.
201         * generated/_cos_c16.F90: Regenerate.
202         * generated/_cos_c4.F90: Regenerate.
203         * generated/_cos_c8.F90: Regenerate.
204         * generated/_cos_r10.F90: Regenerate.
205         * generated/_cos_r16.F90: Regenerate.
206         * generated/_cos_r4.F90: Regenerate.
207         * generated/_cos_r8.F90: Regenerate.
208         * generated/_cosh_r10.F90: Regenerate.
209         * generated/_cosh_r16.F90: Regenerate.
210         * generated/_cosh_r4.F90: Regenerate.
211         * generated/_cosh_r8.F90: Regenerate.
212         * generated/_dim_i16.F90: Regenerate.
213         * generated/_dim_i4.F90: Regenerate.
214         * generated/_dim_i8.F90: Regenerate.
215         * generated/_dim_r10.F90: Regenerate.
216         * generated/_dim_r16.F90: Regenerate.
217         * generated/_dim_r4.F90: Regenerate.
218         * generated/_dim_r8.F90: Regenerate.
219         * generated/_exp_c10.F90: Regenerate.
220         * generated/_exp_c16.F90: Regenerate.
221         * generated/_exp_c4.F90: Regenerate.
222         * generated/_exp_c8.F90: Regenerate.
223         * generated/_exp_r10.F90: Regenerate.
224         * generated/_exp_r16.F90: Regenerate.
225         * generated/_exp_r4.F90: Regenerate.
226         * generated/_exp_r8.F90: Regenerate.
227         * generated/_log10_r10.F90: Regenerate.
228         * generated/_log10_r16.F90: Regenerate.
229         * generated/_log10_r4.F90: Regenerate.
230         * generated/_log10_r8.F90: Regenerate.
231         * generated/_log_c10.F90: Regenerate.
232         * generated/_log_c16.F90: Regenerate.
233         * generated/_log_c4.F90: Regenerate.
234         * generated/_log_c8.F90: Regenerate.
235         * generated/_log_r10.F90: Regenerate.
236         * generated/_log_r16.F90: Regenerate.
237         * generated/_log_r4.F90: Regenerate.
238         * generated/_log_r8.F90: Regenerate.
239         * generated/_mod_i16.F90: Regenerate.
240         * generated/_mod_i4.F90: Regenerate.
241         * generated/_mod_i8.F90: Regenerate.
242         * generated/_mod_r10.F90: Regenerate.
243         * generated/_mod_r16.F90: Regenerate.
244         * generated/_mod_r4.F90: Regenerate.
245         * generated/_mod_r8.F90: Regenerate.
246         * generated/_sign_i16.F90: Regenerate.
247         * generated/_sign_i4.F90: Regenerate.
248         * generated/_sign_i8.F90: Regenerate.
249         * generated/_sign_r10.F90: Regenerate.
250         * generated/_sign_r16.F90: Regenerate.
251         * generated/_sign_r4.F90: Regenerate.
252         * generated/_sign_r8.F90: Regenerate.
253         * generated/_sin_c10.F90: Regenerate.
254         * generated/_sin_c16.F90: Regenerate.
255         * generated/_sin_c4.F90: Regenerate.
256         * generated/_sin_c8.F90: Regenerate.
257         * generated/_sin_r10.F90: Regenerate.
258         * generated/_sin_r16.F90: Regenerate.
259         * generated/_sin_r4.F90: Regenerate.
260         * generated/_sin_r8.F90: Regenerate.
261         * generated/_sinh_r10.F90: Regenerate.
262         * generated/_sinh_r16.F90: Regenerate.
263         * generated/_sinh_r4.F90: Regenerate.
264         * generated/_sinh_r8.F90: Regenerate.
265         * generated/_sqrt_c10.F90: Regenerate.
266         * generated/_sqrt_c16.F90: Regenerate.
267         * generated/_sqrt_c4.F90: Regenerate.
268         * generated/_sqrt_c8.F90: Regenerate.
269         * generated/_sqrt_r10.F90: Regenerate.
270         * generated/_sqrt_r16.F90: Regenerate.
271         * generated/_sqrt_r4.F90: Regenerate.
272         * generated/_sqrt_r8.F90: Regenerate.
273         * generated/_tan_r10.F90: Regenerate.
274         * generated/_tan_r16.F90: Regenerate.
275         * generated/_tan_r4.F90: Regenerate.
276         * generated/_tan_r8.F90: Regenerate.
277         * generated/_tanh_r10.F90: Regenerate.
278         * generated/_tanh_r16.F90: Regenerate.
279         * generated/_tanh_r4.F90: Regenerate.
280         * generated/_tanh_r8.F90: Regenerate.
281         * generated/all_l1.c: Regenerate.
282         * generated/all_l16.c: Regenerate.
283         * generated/all_l2.c: Regenerate.
284         * generated/all_l4.c: Regenerate.
285         * generated/all_l8.c: Regenerate.
286         * generated/any_l1.c: Regenerate.
287         * generated/any_l16.c: Regenerate.
288         * generated/any_l2.c: Regenerate.
289         * generated/any_l4.c: Regenerate.
290         * generated/any_l8.c: Regenerate.
291         * generated/count_16_l.c: Regenerate.
292         * generated/count_1_l.c: Regenerate.
293         * generated/count_2_l.c: Regenerate.
294         * generated/count_4_l.c: Regenerate.
295         * generated/count_8_l.c: Regenerate.
296         * generated/cshift0_c10.c: Regenerate.
297         * generated/cshift0_c16.c: Regenerate.
298         * generated/cshift0_c4.c: Regenerate.
299         * generated/cshift0_c8.c: Regenerate.
300         * generated/cshift0_i1.c: Regenerate.
301         * generated/cshift0_i16.c: Regenerate.
302         * generated/cshift0_i2.c: Regenerate.
303         * generated/cshift0_i4.c: Regenerate.
304         * generated/cshift0_i8.c: Regenerate.
305         * generated/cshift0_r10.c: Regenerate.
306         * generated/cshift0_r16.c: Regenerate.
307         * generated/cshift0_r4.c: Regenerate.
308         * generated/cshift0_r8.c: Regenerate.
309         * generated/cshift1_16.c: Regenerate.
310         * generated/cshift1_4.c: Regenerate.
311         * generated/cshift1_8.c: Regenerate.
312         * generated/eoshift1_16.c: Regenerate.
313         * generated/eoshift1_4.c: Regenerate.
314         * generated/eoshift1_8.c: Regenerate.
315         * generated/eoshift3_16.c: Regenerate.
316         * generated/eoshift3_4.c: Regenerate.
317         * generated/eoshift3_8.c: Regenerate.
318         * generated/exponent_r10.c: Regenerate.
319         * generated/exponent_r16.c: Regenerate.
320         * generated/exponent_r4.c: Regenerate.
321         * generated/exponent_r8.c: Regenerate.
322         * generated/fraction_r10.c: Regenerate.
323         * generated/fraction_r16.c: Regenerate.
324         * generated/fraction_r4.c: Regenerate.
325         * generated/fraction_r8.c: Regenerate.
326         * generated/in_pack_c10.c: Regenerate.
327         * generated/in_pack_c16.c: Regenerate.
328         * generated/in_pack_c4.c: Regenerate.
329         * generated/in_pack_c8.c: Regenerate.
330         * generated/in_pack_i1.c: Regenerate.
331         * generated/in_pack_i16.c: Regenerate.
332         * generated/in_pack_i2.c: Regenerate.
333         * generated/in_pack_i4.c: Regenerate.
334         * generated/in_pack_i8.c: Regenerate.
335         * generated/in_pack_r10.c: Regenerate.
336         * generated/in_pack_r16.c: Regenerate.
337         * generated/in_pack_r4.c: Regenerate.
338         * generated/in_pack_r8.c: Regenerate.
339         * generated/in_unpack_c10.c: Regenerate.
340         * generated/in_unpack_c16.c: Regenerate.
341         * generated/in_unpack_c4.c: Regenerate.
342         * generated/in_unpack_c8.c: Regenerate.
343         * generated/in_unpack_i1.c: Regenerate.
344         * generated/in_unpack_i16.c: Regenerate.
345         * generated/in_unpack_i2.c: Regenerate.
346         * generated/in_unpack_i4.c: Regenerate.
347         * generated/in_unpack_i8.c: Regenerate.
348         * generated/in_unpack_r10.c: Regenerate.
349         * generated/in_unpack_r16.c: Regenerate.
350         * generated/in_unpack_r4.c: Regenerate.
351         * generated/in_unpack_r8.c: Regenerate.
352         * generated/matmul_c10.c: Regenerate.
353         * generated/matmul_c16.c: Regenerate.
354         * generated/matmul_c4.c: Regenerate.
355         * generated/matmul_c8.c: Regenerate.
356         * generated/matmul_i1.c: Regenerate.
357         * generated/matmul_i16.c: Regenerate.
358         * generated/matmul_i2.c: Regenerate.
359         * generated/matmul_i4.c: Regenerate.
360         * generated/matmul_i8.c: Regenerate.
361         * generated/matmul_l16.c: Regenerate.
362         * generated/matmul_l4.c: Regenerate.
363         * generated/matmul_l8.c: Regenerate.
364         * generated/matmul_r10.c: Regenerate.
365         * generated/matmul_r16.c: Regenerate.
366         * generated/matmul_r4.c: Regenerate.
367         * generated/matmul_r8.c: Regenerate.
368         * generated/maxloc0_16_i1.c: Regenerate.
369         * generated/maxloc0_16_i16.c: Regenerate.
370         * generated/maxloc0_16_i2.c: Regenerate.
371         * generated/maxloc0_16_i4.c: Regenerate.
372         * generated/maxloc0_16_i8.c: Regenerate.
373         * generated/maxloc0_16_r10.c: Regenerate.
374         * generated/maxloc0_16_r16.c: Regenerate.
375         * generated/maxloc0_16_r4.c: Regenerate.
376         * generated/maxloc0_16_r8.c: Regenerate.
377         * generated/maxloc0_4_i1.c: Regenerate.
378         * generated/maxloc0_4_i16.c: Regenerate.
379         * generated/maxloc0_4_i2.c: Regenerate.
380         * generated/maxloc0_4_i4.c: Regenerate.
381         * generated/maxloc0_4_i8.c: Regenerate.
382         * generated/maxloc0_4_r10.c: Regenerate.
383         * generated/maxloc0_4_r16.c: Regenerate.
384         * generated/maxloc0_4_r4.c: Regenerate.
385         * generated/maxloc0_4_r8.c: Regenerate.
386         * generated/maxloc0_8_i1.c: Regenerate.
387         * generated/maxloc0_8_i16.c: Regenerate.
388         * generated/maxloc0_8_i2.c: Regenerate.
389         * generated/maxloc0_8_i4.c: Regenerate.
390         * generated/maxloc0_8_i8.c: Regenerate.
391         * generated/maxloc0_8_r10.c: Regenerate.
392         * generated/maxloc0_8_r16.c: Regenerate.
393         * generated/maxloc0_8_r4.c: Regenerate.
394         * generated/maxloc0_8_r8.c: Regenerate.
395         * generated/maxloc1_16_i1.c: Regenerate.
396         * generated/maxloc1_16_i16.c: Regenerate.
397         * generated/maxloc1_16_i2.c: Regenerate.
398         * generated/maxloc1_16_i4.c: Regenerate.
399         * generated/maxloc1_16_i8.c: Regenerate.
400         * generated/maxloc1_16_r10.c: Regenerate.
401         * generated/maxloc1_16_r16.c: Regenerate.
402         * generated/maxloc1_16_r4.c: Regenerate.
403         * generated/maxloc1_16_r8.c: Regenerate.
404         * generated/maxloc1_4_i1.c: Regenerate.
405         * generated/maxloc1_4_i16.c: Regenerate.
406         * generated/maxloc1_4_i2.c: Regenerate.
407         * generated/maxloc1_4_i4.c: Regenerate.
408         * generated/maxloc1_4_i8.c: Regenerate.
409         * generated/maxloc1_4_r10.c: Regenerate.
410         * generated/maxloc1_4_r16.c: Regenerate.
411         * generated/maxloc1_4_r4.c: Regenerate.
412         * generated/maxloc1_4_r8.c: Regenerate.
413         * generated/maxloc1_8_i1.c: Regenerate.
414         * generated/maxloc1_8_i16.c: Regenerate.
415         * generated/maxloc1_8_i2.c: Regenerate.
416         * generated/maxloc1_8_i4.c: Regenerate.
417         * generated/maxloc1_8_i8.c: Regenerate.
418         * generated/maxloc1_8_r10.c: Regenerate.
419         * generated/maxloc1_8_r16.c: Regenerate.
420         * generated/maxloc1_8_r4.c: Regenerate.
421         * generated/maxloc1_8_r8.c: Regenerate.
422         * generated/maxval_i1.c: Regenerate.
423         * generated/maxval_i16.c: Regenerate.
424         * generated/maxval_i2.c: Regenerate.
425         * generated/maxval_i4.c: Regenerate.
426         * generated/maxval_i8.c: Regenerate.
427         * generated/maxval_r10.c: Regenerate.
428         * generated/maxval_r16.c: Regenerate.
429         * generated/maxval_r4.c: Regenerate.
430         * generated/maxval_r8.c: Regenerate.
431         * generated/minloc0_16_i1.c: Regenerate.
432         * generated/minloc0_16_i16.c: Regenerate.
433         * generated/minloc0_16_i2.c: Regenerate.
434         * generated/minloc0_16_i4.c: Regenerate.
435         * generated/minloc0_16_i8.c: Regenerate.
436         * generated/minloc0_16_r10.c: Regenerate.
437         * generated/minloc0_16_r16.c: Regenerate.
438         * generated/minloc0_16_r4.c: Regenerate.
439         * generated/minloc0_16_r8.c: Regenerate.
440         * generated/minloc0_4_i1.c: Regenerate.
441         * generated/minloc0_4_i16.c: Regenerate.
442         * generated/minloc0_4_i2.c: Regenerate.
443         * generated/minloc0_4_i4.c: Regenerate.
444         * generated/minloc0_4_i8.c: Regenerate.
445         * generated/minloc0_4_r10.c: Regenerate.
446         * generated/minloc0_4_r16.c: Regenerate.
447         * generated/minloc0_4_r4.c: Regenerate.
448         * generated/minloc0_4_r8.c: Regenerate.
449         * generated/minloc0_8_i1.c: Regenerate.
450         * generated/minloc0_8_i16.c: Regenerate.
451         * generated/minloc0_8_i2.c: Regenerate.
452         * generated/minloc0_8_i4.c: Regenerate.
453         * generated/minloc0_8_i8.c: Regenerate.
454         * generated/minloc0_8_r10.c: Regenerate.
455         * generated/minloc0_8_r16.c: Regenerate.
456         * generated/minloc0_8_r4.c: Regenerate.
457         * generated/minloc0_8_r8.c: Regenerate.
458         * generated/minloc1_16_i1.c: Regenerate.
459         * generated/minloc1_16_i16.c: Regenerate.
460         * generated/minloc1_16_i2.c: Regenerate.
461         * generated/minloc1_16_i4.c: Regenerate.
462         * generated/minloc1_16_i8.c: Regenerate.
463         * generated/minloc1_16_r10.c: Regenerate.
464         * generated/minloc1_16_r16.c: Regenerate.
465         * generated/minloc1_16_r4.c: Regenerate.
466         * generated/minloc1_16_r8.c: Regenerate.
467         * generated/minloc1_4_i1.c: Regenerate.
468         * generated/minloc1_4_i16.c: Regenerate.
469         * generated/minloc1_4_i2.c: Regenerate.
470         * generated/minloc1_4_i4.c: Regenerate.
471         * generated/minloc1_4_i8.c: Regenerate.
472         * generated/minloc1_4_r10.c: Regenerate.
473         * generated/minloc1_4_r16.c: Regenerate.
474         * generated/minloc1_4_r4.c: Regenerate.
475         * generated/minloc1_4_r8.c: Regenerate.
476         * generated/minloc1_8_i1.c: Regenerate.
477         * generated/minloc1_8_i16.c: Regenerate.
478         * generated/minloc1_8_i2.c: Regenerate.
479         * generated/minloc1_8_i4.c: Regenerate.
480         * generated/minloc1_8_i8.c: Regenerate.
481         * generated/minloc1_8_r10.c: Regenerate.
482         * generated/minloc1_8_r16.c: Regenerate.
483         * generated/minloc1_8_r4.c: Regenerate.
484         * generated/minloc1_8_r8.c: Regenerate.
485         * generated/minval_i1.c: Regenerate.
486         * generated/minval_i16.c: Regenerate.
487         * generated/minval_i2.c: Regenerate.
488         * generated/minval_i4.c: Regenerate.
489         * generated/minval_i8.c: Regenerate.
490         * generated/minval_r10.c: Regenerate.
491         * generated/minval_r16.c: Regenerate.
492         * generated/minval_r4.c: Regenerate.
493         * generated/minval_r8.c: Regenerate.
494         * generated/misc_specifics.F90: Regenerate.
495         * generated/nearest_r10.c: Regenerate.
496         * generated/nearest_r16.c: Regenerate.
497         * generated/nearest_r4.c: Regenerate.
498         * generated/nearest_r8.c: Regenerate.
499         * generated/pack_c10.c: Regenerate.
500         * generated/pack_c16.c: Regenerate.
501         * generated/pack_c4.c: Regenerate.
502         * generated/pack_c8.c: Regenerate.
503         * generated/pack_i1.c: Regenerate.
504         * generated/pack_i16.c: Regenerate.
505         * generated/pack_i2.c: Regenerate.
506         * generated/pack_i4.c: Regenerate.
507         * generated/pack_i8.c: Regenerate.
508         * generated/pack_r10.c: Regenerate.
509         * generated/pack_r16.c: Regenerate.
510         * generated/pack_r4.c: Regenerate.
511         * generated/pack_r8.c: Regenerate.
512         * generated/pow_c10_i16.c: Regenerate.
513         * generated/pow_c10_i4.c: Regenerate.
514         * generated/pow_c10_i8.c: Regenerate.
515         * generated/pow_c16_i16.c: Regenerate.
516         * generated/pow_c16_i4.c: Regenerate.
517         * generated/pow_c16_i8.c: Regenerate.
518         * generated/pow_c4_i16.c: Regenerate.
519         * generated/pow_c4_i4.c: Regenerate.
520         * generated/pow_c4_i8.c: Regenerate.
521         * generated/pow_c8_i16.c: Regenerate.
522         * generated/pow_c8_i4.c: Regenerate.
523         * generated/pow_c8_i8.c: Regenerate.
524         * generated/pow_i16_i16.c: Regenerate.
525         * generated/pow_i16_i4.c: Regenerate.
526         * generated/pow_i16_i8.c: Regenerate.
527         * generated/pow_i4_i16.c: Regenerate.
528         * generated/pow_i4_i4.c: Regenerate.
529         * generated/pow_i4_i8.c: Regenerate.
530         * generated/pow_i8_i16.c: Regenerate.
531         * generated/pow_i8_i4.c: Regenerate.
532         * generated/pow_i8_i8.c: Regenerate.
533         * generated/pow_r10_i16.c: Regenerate.
534         * generated/pow_r10_i8.c: Regenerate.
535         * generated/pow_r16_i16.c: Regenerate.
536         * generated/pow_r16_i8.c: Regenerate.
537         * generated/pow_r4_i16.c: Regenerate.
538         * generated/pow_r4_i8.c: Regenerate.
539         * generated/pow_r8_i16.c: Regenerate.
540         * generated/pow_r8_i8.c: Regenerate.
541         * generated/product_c10.c: Regenerate.
542         * generated/product_c16.c: Regenerate.
543         * generated/product_c4.c: Regenerate.
544         * generated/product_c8.c: Regenerate.
545         * generated/product_i1.c: Regenerate.
546         * generated/product_i16.c: Regenerate.
547         * generated/product_i2.c: Regenerate.
548         * generated/product_i4.c: Regenerate.
549         * generated/product_i8.c: Regenerate.
550         * generated/product_r10.c: Regenerate.
551         * generated/product_r16.c: Regenerate.
552         * generated/product_r4.c: Regenerate.
553         * generated/product_r8.c: Regenerate.
554         * generated/reshape_c10.c: Regenerate.
555         * generated/reshape_c16.c: Regenerate.
556         * generated/reshape_c4.c: Regenerate.
557         * generated/reshape_c8.c: Regenerate.
558         * generated/reshape_i16.c: Regenerate.
559         * generated/reshape_i4.c: Regenerate.
560         * generated/reshape_i8.c: Regenerate.
561         * generated/reshape_r10.c: Regenerate.
562         * generated/reshape_r16.c: Regenerate.
563         * generated/reshape_r4.c: Regenerate.
564         * generated/reshape_r8.c: Regenerate.
565         * generated/rrspacing_r10.c: Regenerate.
566         * generated/rrspacing_r16.c: Regenerate.
567         * generated/rrspacing_r4.c: Regenerate.
568         * generated/rrspacing_r8.c: Regenerate.
569         * generated/set_exponent_r10.c: Regenerate.
570         * generated/set_exponent_r16.c: Regenerate.
571         * generated/set_exponent_r4.c: Regenerate.
572         * generated/set_exponent_r8.c: Regenerate.
573         * generated/shape_i16.c: Regenerate.
574         * generated/shape_i4.c: Regenerate.
575         * generated/shape_i8.c: Regenerate.
576         * generated/spacing_r10.c: Regenerate.
577         * generated/spacing_r16.c: Regenerate.
578         * generated/spacing_r4.c: Regenerate.
579         * generated/spacing_r8.c: Regenerate.
580         * generated/spread_c10.c: Regenerate.
581         * generated/spread_c16.c: Regenerate.
582         * generated/spread_c4.c: Regenerate.
583         * generated/spread_c8.c: Regenerate.
584         * generated/spread_i1.c: Regenerate.
585         * generated/spread_i16.c: Regenerate.
586         * generated/spread_i2.c: Regenerate.
587         * generated/spread_i4.c: Regenerate.
588         * generated/spread_i8.c: Regenerate.
589         * generated/spread_r10.c: Regenerate.
590         * generated/spread_r16.c: Regenerate.
591         * generated/spread_r4.c: Regenerate.
592         * generated/spread_r8.c: Regenerate.
593         * generated/sum_c10.c: Regenerate.
594         * generated/sum_c16.c: Regenerate.
595         * generated/sum_c4.c: Regenerate.
596         * generated/sum_c8.c: Regenerate.
597         * generated/sum_i1.c: Regenerate.
598         * generated/sum_i16.c: Regenerate.
599         * generated/sum_i2.c: Regenerate.
600         * generated/sum_i4.c: Regenerate.
601         * generated/sum_i8.c: Regenerate.
602         * generated/sum_r10.c: Regenerate.
603         * generated/sum_r16.c: Regenerate.
604         * generated/sum_r4.c: Regenerate.
605         * generated/sum_r8.c: Regenerate.
606         * generated/transpose_c10.c: Regenerate.
607         * generated/transpose_c16.c: Regenerate.
608         * generated/transpose_c4.c: Regenerate.
609         * generated/transpose_c8.c: Regenerate.
610         * generated/transpose_i16.c: Regenerate.
611         * generated/transpose_i4.c: Regenerate.
612         * generated/transpose_i8.c: Regenerate.
613         * generated/transpose_r10.c: Regenerate.
614         * generated/transpose_r16.c: Regenerate.
615         * generated/transpose_r4.c: Regenerate.
616         * generated/transpose_r8.c: Regenerate.
617         * generated/unpack_c10.c: Regenerate.
618         * generated/unpack_c16.c: Regenerate.
619         * generated/unpack_c4.c: Regenerate.
620         * generated/unpack_c8.c: Regenerate.
621         * generated/unpack_i1.c: Regenerate.
622         * generated/unpack_i16.c: Regenerate.
623         * generated/unpack_i2.c: Regenerate.
624         * generated/unpack_i4.c: Regenerate.
625         * generated/unpack_i8.c: Regenerate.
626         * generated/unpack_r10.c: Regenerate.
627         * generated/unpack_r16.c: Regenerate.
628         * generated/unpack_r4.c: Regenerate.
629         * generated/unpack_r8.c: Regenerate.
631 2009-03-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
633         PR libfortran/39528
634         * io/list_read.c (list_formatted_read_scalar): Move check for read
635         completion to just after the check for a repeated value.
637 2009-03-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
639         PR libfortran/39402
640         * io/write_float.def (output_float): Handle F0.d formatting correctly
641         for any d when value is 0.0.
643 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
645         * configure: Regenerate.
647 2009-01-21  Daniel Kraft  <d@domob.eu>
649         PR fortran/38887
650         * runtime/in_unpack_generic.c (internal_unpack):  Return instead of
651         abort when called with empty array.
652         * m4/in_unpack.m4:  Ditto.
653         * generated/in_unpack_i1.c:  Regenerated.
654         * generated/in_unpack_i2.c:  Regenerated.
655         * generated/in_unpack_i4.c:  Regenerated.
656         * generated/in_unpack_i8.c:  Regenerated.
657         * generated/in_unpack_i16.c: Regenerated.
658         * generated/in_unpack_r4.c:  Regenerated.
659         * generated/in_unpack_r8.c:  Regenerated.
660         * generated/in_unpack_r10.c: Regenerated.
661         * generated/in_unpack_r16.c: Regenerated.
662         * generated/in_unpack_c4.c:  Regenerated.
663         * generated/in_unpack_c8.c:  Regenerated.
664         * generated/in_unpack_c10.c: Regenerated.
665         * generated/in_unpack_c16.c: Regenerated.
667 2009-01-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
669         PR libfortran/38772
670         * io/read.c (read_f): Clean up loop conditions for BZ/BN,
671         allowing proper digit testing. White space fix.
673 2009-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
675         PR libfortran/38735
676         * io/unit.c (get_internal_unit): Set default BLANK= status to NULL for
677         internal units.
679 2008-12-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
681         PR fortran/31832
682         * acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_POWF): New autoconf check for
683         broken powf.
684         * configure.ac (LIBGFOR_CHECK_FOR_BROKEN_POWF): Use it.
685         * intrinsics/c99_functions.c: Use internal powf implementation if
686         HAVE_BROKEN_POWF is defined.
687         * configure: Rebuilt.
688         * config.h.in: Rebuilt.
690 2008-12-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
692         PR libfortran/37472
693         * io/write_float.def (output_float_FMT_G_): Modify calculation of temp
694         to avoid sensitivity to round-off.
696 2008-12-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
698         PR libfortran/38398
699         * io/io.h (st_parameter_dt): Add new bit to keep track of when to
700         suppress blanks for g0 formatting.
701         * io/transfer.c (formatted_transfer_scalar): Always call write_real_g0
702         for g0 formatting.
703         * io.c (write.c): Do not use ES formatting and use new bit to suppress
704         blanks.
705         * io/write_float.def (output_float): Adjust the location of setting the
706         width so that it can be adjusted when suppressing blanks.  Set number of
707         blanks to zero when dtp->u.p.g0_no_blanks is set. Do some minor code
708         clean-up and add some white space for readability.
709         
710 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
712         * configure: Regenerate.
714 2008-12-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
716         PR libfortran/38504
717         io/write.c (write_decimal): Skip extra sign '-' at beginning of string
718         returned by gfc_itoa.
720 2008-12-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
722         PR libfortran/38430
723         * io/transfer.c (data_transfer_init): Move constraint check for REC=
724         and STREAM access into condition for other REC= constraints to simplify.
725         Comment out this constraint to avoid breaking compatibility with 4.3
726         until later.  Added a TODO for above comment and this one.
727         Fix test for max pos.
729 2008-12-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
731         PR libfortran/38291
732         * io/transfer.c (data_transfer_init): Add fbuf_flush inadvertently
733         ommitted.  Add check for invalid use of REC= with ACCESS="stream".  Fix
734         comment.
736 2008-12-06  Adam Nemet  <anemet@caviumnetworks.com>
738         * runtime/main.c (store_exe_path): Don't crash if argv0 is NULL.
740 2008-12-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
742         PR libfortran/38291
743         * io/transfer.c (data_transfer_init): Add checks for POS= valid range.
744         Add check for unit opened with ACCESS="stream". Flush and seek if
745         current stream position does not match. Check ENDFILE on read.
747 2008-12-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
749         PR fortran/38285
750         * write_float.def (WRITE_FLOAT): Zero the float value for special case
751         only if scale_factor = 0.
752         
753 2008-11-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
755         PR libfortran/38234
756         * intrinsics/reshape_generic.c (reshape_internal):
757         Source can be larger than shape.
758         * m4/reshape.m4:  Likewise.
759         * generated/reshape_c10.c Regenerated.
760         * generated/reshape_c16.c Regenerated.
761         * generated/reshape_c4.c Regenerated.
762         * generated/reshape_c8.c Regenerated.
763         * generated/reshape_i16.c Regenerated.
764         * generated/reshape_i4.c Regenerated.
765         * generated/reshape_i8.c Regenerated.
766         * generated/reshape_r10.c Regenerated.
767         * generated/reshape_r16.c Regenerated.
768         * generated/reshape_r4.c Regenerated.
769         * generated/reshape_r8.c Regenerated.
771 2008-11-22  Danny Smith  <dannysmith@users.sourceforge.net>
773         * libgfortran.h (__mingw_snprintf): Declare with gnu_printf
774         format attribute.
777 2008-11-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
779         PR libfortran/38225
780         * intrinsics/reshape_generic.c (reshape_internal):
781         Use all dimensions of source for bounds checking.
782         * m4/reshape.m4:  Likewise.
783         * generated/reshape_c10.c Regenerated.
784         * generated/reshape_c16.c Regenerated.
785         * generated/reshape_c4.c Regenerated.
786         * generated/reshape_c8.c Regenerated.
787         * generated/reshape_i16.c Regenerated.
788         * generated/reshape_i4.c Regenerated.
789         * generated/reshape_i8.c Regenerated.
790         * generated/reshape_r10.c Regenerated.
791         * generated/reshape_r16.c Regenerated.
792         * generated/reshape_r4.c Regenerated.
793         * generated/reshape_r8.c Regenerated.
795 2008-11-22  Jakub Jelinek  <jakub@redhat.com>
797         PR libfortran/37839
798         * io/io.h (IOPARM_INQUIRE_HAS_ROUND, IOPARM_INQUIRE_HAS_SIGN,
799         IOPARM_INQUIRE_HAS_PENDING): Adjust values.
800         (st_parameter_inquire): Reorder and fix types of round, sign and
801         pending fields.
802         (st_parameter_43, st_parameter_44): Removed.
803         (st_parameter_dt): Put back struct definition directly to u.p
804         declaration.  Change type of u.p.size_used from gfc_offset to
805         GFC_IO_INT.  Decrease back size of u.pad to 16 pointers and
806         32 ints.  Put id, pos, asynchronous, blank, decimal, delim,
807         pad, round and sign fields after the union.
808         * io/inquire.c (inquire_via_unit, inquire_via_filename): Only read
809         flags2 if it is defined.
810         * io/transfer.c (read_sf, read_block_form, write_block): Cast
811         additions to size_used to GFC_IO_INT instead of gfc_offset.
812         (data_transfer_init): Clear whole u.p struct.  Adjust
813         for moving id, pos, asynchronous, blank, decimal, delim, pad,
814         round and sign fields from u.p directly into st_parameter_dt.
815         (finalize_transfer): Don't cast size_used to GFC_IO_INT.
816         * io/file_pos.c (st_endfile): Clear whole u.p struct.
818 2008-11-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
820         PR libfortran/37472
821         * io/write_float.def (output_float_FMT_G_): Adjust conversion of
822         G format specification to F format.
824 2008-11-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
826         PR libfortran/38135
827         * m4/reshape.m4:  Correct bounds checking when PAD is present.
828         Treat PAD as if it were SOURCE when SOURCE is empty.
829         * intrinsics/reshape_generic.c:  Likewise.
830         * generated/reshape_c10.c Regenerated.
831         * generated/reshape_c16.c Regenerated.
832         * generated/reshape_c4.c Regenerated.
833         * generated/reshape_c8.c Regenerated.
834         * generated/reshape_i16.c Regenerated.
835         * generated/reshape_i4.c Regenerated.
836         * generated/reshape_i8.c Regenerated.
837         * generated/reshape_r10.c Regenerated.
838         * generated/reshape_r16.c Regenerated.
839         * generated/reshape_r4.c Regenerated.
840         * generated/reshape_r8.c Regenerated.
842 2008-11-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
844         PR libfortran/38097
845         * io/read.c (read_f): Initialize exponent. Fix comment. Set loop
846         conditions for BZ/BN.
847         * io/unit.c (get_internal_unit): Initialize flags.blank.
848         * io/transfer.c (data_transfer_init): Fix whitespace.
850 2008-11-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
852         PR libfortran/37294
853         * io/write.c (namelist_write_newline): Use array loop specification to
854         advance to next internal array unit record. (namelist_write): Adjust to
855         accomodate the internal array unit behavior.
857 2008-11-01  Dennis Wassel  <dennis.wassel@gmail.com>
859         PR fortran/37159
860         * intrinsics/random.c: Added comment to adapt check.c, should
861         kiss_size change.
862         Few cosmetic changes to existing comments.
864 2008-10-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
866         PR libfortran/37707
867         * io/list_read.c (read_character): Remove code to look ahead in namelist
868         reads to descriminate non-delimited strings from namelist objects.
869         * io/write.c (namelist_write): Delimit character strings with quote or
870         apostrophe, defaulting to quote.
872 2008-10-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
874         PR libfortran/34670
875         * intrinsics/transpose_generic.c:  Implement bounds checking.
876         * m4/transpose.m4:  Likewise.
877         * generated/transpose_c8.c: Regenerated.
878         * generated/transpose_c16.c: Regenerated.
879         * generated/transpose_r10.c: Regenerated.
880         * generated/transpose_i8.c: Regenerated.
881         * generated/transpose_c10.c: Regenerated.
882         * generated/transpose_r4.c: Regenerated.
883         * generated/transpose_c4.c: Regenerated.
884         * generated/transpose_i16.c: Regenerated.
885         * generated/transpose_i4.c: Regenerated.
886         * generated/transpose_r8.c: Regenerated.
887         * generated/transpose_r16.c: Regenerated.
889 2008-10-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org
891         PR libfortran/37834
892         * io/write_float.def (output_float): Emit '0.' for special case of
893         format specifier 'f0.0' and value of zero. Likewise emit '0' for 'f1.0'.
895 2008-10-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org
897         PR libfortran/37863
898         * io/write_float.def (WRITE_FLOAT): Round to 1.0 correctly.
899         * io/io.h (st_parameter_44): Fix id type declaration.
901 2008-10-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
903         * io/file_pos.c (unformatted_backspace): Normal case is
904         GFC_CONVERT_NATIVE.
905         * io/transfer.c (read_sf):  Mark paths leading to generate_error()
906         as unlikely.
907         (readl_block_form):  Likewise.
908         (read_block_direct):  Likewise.
909         (write_block):  Likewise.
910         (write_buf):  Likewise.
911         (us_read):  Likewise.  Normal case is GFC_CONVERT_NATIVE.
912         (next_record_w_unf):  Mark paths leading to generate_error()
913         as unlikely.
915 2008-10-16  Thomas Koenig  <tkoenig@gcc.gnu.org>
917         PR libfortran/34670
918         * generated/spread_r4.c: Regenerated.
920 2008-10-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
922         PR libfortran/34670
923         * intrinsics/reshape_generic.c:  Add bounds checking.
924         * m4/reshape.m4:  Likewise.
925         * generated/reshape_c10.c: Regenerated.
926         * generated/reshape_c16.c: Regenerated.
927         * generated/reshape_c4.c: Regenerated.
928         * generated/reshape_c8.c: Regenerated.
929         * generated/reshape_i16.c: Regenerated.
930         * generated/reshape_i4.c: Regenerated.
931         * generated/reshape_i8.c: Regenerated.
932         * generated/reshape_r10.c: Regenerated.
933         * generated/reshape_r16.c: Regenerated.
934         * generated/reshape_r4.c: Regenerated.
935         * generated/reshape_r8.c: Regenerated.
936         * generated/spread_r4.c: Regenerated.
938 2008-10-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org
940         PR libfortran/37083
941         * io/list_read.c (next_char): Simplify EOF tests and set endfile flag.
942         (finish_list_read): Add EOF check.
944 2008-10-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
946         PR libfortran/37753
947         * io/transfer.c (unformatted_read):  CONVERT_NATIVE
948         is the usual case.  Check for kind==1 for non-byte-reversing
949         operation.
950         (unformatted_write):  Likewise.
952 2008-10-08  Jerry DeLisle  <jvdelisle@gcc.gnu.org
954         PR libfortran/37707
955         * io/list_read.c (nml_get_obj_data): If the first namelist object rank
956         is greater than zero, call nml_object_read with the first object rather
957         than the sub-object.
959 2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
960             Steve Ellcey  <sje@cup.hp.com>
962         * configure: Regenerate for new libtool.
963         * Makefile.in: Ditto.
965 2008-09-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org
967         PR libfortran/37498
968         * list_read.c (eat_separator): Revert previous patch and move
969         delim_status, decimal_status, and pad_status to gfc_unit.
970         (parse_real): Ditto. (read_real): Ditto.
971         * read.c (read_a): Likewise. (read_a_char4): Likewise.
972         (read_f): Likewise.
973         * inquire.c (inquire_via_unit): Add missing check for
974         IOPARM_INQUIRE_HAS_FLAGS2. (inquire_via_filename): Likewise.
975         * io.h (unit_sign_s): Move delim_status, decimal_status, and pad_status
976         to gfc_unit.
977         * transfer.c (read_sf): Ditto. (read_block_form): Ditto.
978         (formatted_transfer_scalar): Ditto. (data_transfer_init): Ditto.
979         * write.c (write_default_char4): Ditto. (write_utf8_char4): Ditto.
980         (write_character): Ditto. (write_real_g0): Ditto.
981         (list_formatted_write_scalar): Ditto. (nml_write_obj): Ditto.
982         (namelist_write): Ditto.
983         * write_float.def (calculate_sign): Ditto. (output_float): Ditto.
985 2008-09-24  Tobias Burnus  <burnus@net-b.de>
987         * runtime/compile_options.c (init_compile_options):
988         Sync flags with front end.
990 2008-09-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org
992         PR libfortran/37498
993         * file_pos (st_endfile): Clear memory only for libfortran 4.3 private
994         area.
995         * list_read.c (eat_separator): Only access F2003 I/O parameters if
996         IOPARM_DT_HAS_F2003 bit is set. (parse_real): Ditto.
997         (read_real): Ditto.
998         * read.c (read_a): Likewise. (read_a_char4): Likewise though not
999         strictly necessary. (read_f): Likewise.
1000         * io.h (unit_sign_s): New enumerator to allow duplication of
1001         st_parameter structures. (IOPARM_DT_HAS_F2003): New mask bit.
1002         (st_parameter_43): New structure copied from 4.3 version of 
1003         st_paramater_dt private section. (st_parameter_44): New structure with
1004         F2003 items added. (st_parameter_dt): Modified to create union of new
1005         and old structures to allow correct memory setting for 4.3 ABI
1006         compatibility. Bumped the pad size.
1007         * transfer.c (read_sf): Do not use F2003 I/O memory areas unless
1008         IOPARM_DT_HAS_F2003 bit has been set. (read_block_form): Ditto.
1009         (formatted_transfer_scalar): Ditto. (data_transfer_init): Ditto and
1010         add comment, fix formatting.
1011         * write.c (write_default_char4): Likewise though not strictly necessary.
1012         (write_utf8_char4): Ditto. (write_character): Ditto.
1013         (write_real_g0): Ditto. (list_formatted_write_scalar): Ditto.
1014         (nml_write_obj): Ditto. (namelist_write): Ditto.
1015         * write_float.def (calculate_sign): Eliminate warning by including all
1016         cases in switch. (output_float): Output only decimal point of F2003 flag
1017         is not set.
1019 2008-09-10  Tobias Burnus  <burnus@net-b.de>
1020             H. J. Lu  <hongjiu.lu@intel.com>
1022         * mk-sik-inc.sh: Make -Wunused-variable proof.
1023         * mk-srk-inc.sh: Make -Wunused-variable proof.
1025 2008-09-10  Tobias Burnus  <burnus@net-b.de>
1027         * mk-kinds-h.sh: Make -Wunused-variable proof.
1029 2008-09-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
1031         PR fortran/37203
1032         * intrinsics/reshape_generic.c:  Add checking on
1033         out-of-bounds and duplicate values of order argument.
1034         * m4/reshape.m4:  Likewise.
1035         * generated/reshape_c10.c: Regenerated.
1036         * generated/reshape_c16.c: Regenerated.
1037         * generated/reshape_c4.c: Regenerated.
1038         * generated/reshape_c8.c: Regenerated.
1039         * generated/reshape_i16.c: Regenerated.
1040         * generated/reshape_i4.c: Regenerated.
1041         * generated/reshape_i8.c: Regenerated.
1042         * generated/reshape_r10.c: Regenerated.
1043         * generated/reshape_r16.c: Regenerated.
1044         * generated/reshape_r4.c: Regenerated.
1045         * generated/reshape_r8.c: Regenerated.
1047 2008-09-06  Tobias Burnus  <burnus@net-b.de>
1049         * libgfortran.h (likely,unlikely): New makros.
1050         (runtime_warning_at,__mingw_snprintf): Add __attribute__(format()).
1051         * m4/spread.m4 (spread_'rtype_code`): Use unlikely for bounds_check.
1052         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Ditto.
1053         * m4/matmull.m4 (matmul_'rtype_code`): Ditto.
1054         * m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code): Ditto.
1055         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Ditto.
1056         * m4/matmul.m4 (matmul_'rtype_code`): Ditto.
1058         * generated/minval_r8.c: Regenerated.
1059         * generated/spread_r10.c: Regenerated.
1060         * generated/minloc1_16_r16.c: Regenerated.
1061         * generated/maxloc1_4_r8.c: Regenerated.
1062         * generated/sum_i8.c: Regenerated.
1063         * generated/any_l16.c: Regenerated.
1064         * generated/spread_i8.c: Regenerated.
1065         * generated/maxval_i2.c: Regenerated.
1066         * generated/any_l2.c: Regenerated.
1067         * generated/product_r4.c: Regenerated.
1068         * generated/maxloc1_8_i4.c: Regenerated.
1069         * generated/maxloc0_4_r4.c: Regenerated.
1070         * generated/all_l1.c: Regenerated.
1071         * generated/matmul_r8.c: Regenerated.
1072         * generated/product_i2.c: Regenerated.
1073         * generated/minloc0_4_r16.c: Regenerated.
1074         * generated/minloc0_4_i1.c: Regenerated.
1075         * generated/maxloc0_4_r16.c: Regenerated.
1076         * generated/maxloc0_4_i2.c: Regenerated.
1077         * generated/minloc1_8_r16.c: Regenerated.
1078         * generated/maxloc1_8_r16.c: Regenerated.
1079         * generated/maxloc0_8_i8.c: Regenerated.
1080         * generated/sum_r16.c: Regenerated.
1081         * generated/sum_i1.c: Regenerated.
1082         * generated/minloc1_4_r8.c: Regenerated.
1083         * generated/maxloc1_16_r16.c: Regenerated.
1084         * generated/minloc1_16_i4.c: Regenerated.
1085         * generated/maxloc1_16_i4.c: Regenerated.
1086         * generated/minloc0_16_i8.c: Regenerated.
1087         * generated/spread_i1.c: Regenerated.
1088         * generated/maxloc0_16_i8.c: Regenerated.
1089         * generated/maxval_r16.c: Regenerated.
1090         * generated/product_c10.c: Regenerated.
1091         * generated/minloc1_8_i4.c: Regenerated.
1092         * generated/minloc0_16_i16.c: Regenerated.
1093         * generated/matmul_r16.c: Regenerated.
1094         * generated/minloc0_4_r4.c: Regenerated.
1095         * generated/all_l2.c: Regenerated.
1096         * generated/product_c4.c: Regenerated.
1097         * generated/sum_r4.c: Regenerated.
1098         * generated/minloc0_4_i2.c: Regenerated.
1099         * generated/spread_c10.c: Regenerated.
1100         * generated/maxloc0_8_i1.c: Regenerated.
1101         * generated/spread_r4.c: Regenerated.
1102         * generated/minloc0_8_i8.c: Regenerated.
1103         * generated/matmul_c8.c: Regenerated.
1104         * generated/all_l16.c: Regenerated.
1105         * generated/minloc1_16_r10.c: Regenerated.
1106         * generated/sum_i2.c: Regenerated.
1107         * generated/minloc0_16_i1.c: Regenerated.
1108         * generated/maxloc0_16_i1.c: Regenerated.
1109         * generated/maxloc1_8_r8.c: Regenerated.
1110         * generated/minval_i16.c: Regenerated.
1111         * generated/spread_i2.c: Regenerated.
1112         * generated/maxval_i4.c: Regenerated.
1113         * generated/minval_i8.c: Regenerated.
1114         * generated/any_l4.c: Regenerated.
1115         * generated/maxloc1_4_i8.c: Regenerated.
1116         * generated/maxloc0_16_i16.c: Regenerated.
1117         * generated/maxloc0_8_r4.c: Regenerated.
1118         * generated/minloc1_4_i16.c: Regenerated.
1119         * generated/maxloc1_4_i16.c: Regenerated.
1120         * generated/minloc0_4_r10.c: Regenerated.
1121         * generated/minloc0_8_i16.c: Regenerated.
1122         * generated/maxloc0_4_r10.c: Regenerated.
1123         * generated/maxloc0_8_i16.c: Regenerated.
1124         * generated/minloc1_8_r10.c: Regenerated.
1125         * generated/product_i4.c: Regenerated.
1126         * generated/minloc0_16_r4.c: Regenerated.
1127         * generated/sum_c16.c: Regenerated.
1128         * generated/maxloc1_8_r10.c: Regenerated.
1129         * generated/maxloc0_16_r4.c: Regenerated.
1130         * generated/minloc1_16_r8.c: Regenerated.
1131         * generated/minloc0_8_i1.c: Regenerated.
1132         * generated/maxloc0_4_i4.c: Regenerated.
1133         * generated/maxloc1_16_r8.c: Regenerated.
1134         * generated/maxloc0_8_i2.c: Regenerated.
1135         * generated/sum_r10.c: Regenerated.
1136         * generated/count_4_l.c: Regenerated.
1137         * generated/sum_c4.c: Regenerated.
1138         * generated/count_8_l.c: Regenerated.
1139         * generated/maxloc1_16_r10.c: Regenerated.
1140         * generated/matmul_i8.c: Regenerated.
1141         * generated/minloc0_16_i2.c: Regenerated.
1142         * generated/minloc1_8_r8.c: Regenerated.
1143         * generated/maxloc0_16_i2.c: Regenerated.
1144         * generated/spread_c4.c: Regenerated.
1145         * generated/matmul_c16.c: Regenerated.
1146         * generated/maxval_r10.c: Regenerated.
1147         * generated/minval_i1.c: Regenerated.
1148         * generated/maxloc1_4_i1.c: Regenerated.
1149         * generated/matmul_r10.c: Regenerated.
1150         * generated/minloc1_4_i8.c: Regenerated.
1151         * generated/minloc0_8_r4.c: Regenerated.
1152         * generated/matmul_l4.c: Regenerated.
1153         * generated/product_i16.c: Regenerated.
1154         * generated/minloc0_16_r16.c: Regenerated.
1155         * generated/all_l4.c: Regenerated.
1156         * generated/minloc0_4_i4.c: Regenerated.
1157         * generated/minloc0_8_i2.c: Regenerated.
1158         * generated/matmul_i1.c: Regenerated.
1159         * generated/minval_r4.c: Regenerated.
1160         * generated/maxloc1_4_r4.c: Regenerated.
1161         * generated/spread_i16.c: Regenerated.
1162         * generated/sum_i4.c: Regenerated.
1163         * generated/maxval_r8.c: Regenerated.
1164         * generated/spread_i4.c: Regenerated.
1165         * generated/minloc1_4_i1.c: Regenerated.
1166         * generated/minval_r16.c: Regenerated.
1167         * generated/minval_i2.c: Regenerated.
1168         * generated/maxloc1_4_i2.c: Regenerated.
1169         * generated/product_r8.c: Regenerated.
1170         * generated/maxloc1_8_i8.c: Regenerated.
1171         * generated/maxloc0_4_r8.c: Regenerated.
1172         * generated/maxloc0_16_r16.c: Regenerated.
1173         * generated/matmul_r4.c: Regenerated.
1174         * generated/sum_c10.c: Regenerated.
1175         * generated/minloc1_4_r16.c: Regenerated.
1176         * generated/maxloc1_4_r16.c: Regenerated.
1177         * generated/minloc0_8_r16.c: Regenerated.
1178         * generated/maxloc0_8_r16.c: Regenerated.
1179         * generated/count_1_l.c: Regenerated.
1180         * generated/maxloc0_8_i4.c: Regenerated.
1181         * generated/matmul_i2.c: Regenerated.
1182         * generated/minloc1_4_r4.c: Regenerated.
1183         * generated/matmul_c10.c: Regenerated.
1184         * generated/minloc0_16_i4.c: Regenerated.
1185         * generated/maxloc0_16_i4.c: Regenerated.
1186         * generated/minloc1_16_i8.c: Regenerated.
1187         * generated/maxloc1_16_i8.c: Regenerated.
1188         * generated/minloc1_4_i2.c: Regenerated.
1189         * generated/matmul_l16.c: Regenerated.
1190         * generated/maxloc1_8_i1.c: Regenerated.
1191         * generated/minloc0_16_r10.c: Regenerated.
1192         * generated/minloc1_8_i8.c: Regenerated.
1193         * generated/minloc0_4_r8.c: Regenerated.
1194         * generated/product_r16.c: Regenerated.
1195         * generated/product_c8.c: Regenerated.
1196         * generated/sum_r8.c: Regenerated.
1197         * generated/minloc0_8_i4.c: Regenerated.
1198         * generated/matmul_c4.c: Regenerated.
1199         * generated/minloc1_16_i16.c: Regenerated.
1200         * generated/spread_r8.c: Regenerated.
1201         * generated/maxloc1_8_r4.c: Regenerated.
1202         * generated/minloc1_16_i1.c: Regenerated.
1203         * generated/maxloc1_16_i1.c: Regenerated.
1204         * generated/spread_r16.c: Regenerated.
1205         * generated/minval_r10.c: Regenerated.
1206         * generated/count_16_l.c: Regenerated.
1207         * generated/minval_i4.c: Regenerated.
1208         * generated/minloc1_8_i1.c: Regenerated.
1209         * generated/maxloc1_4_i4.c: Regenerated.
1210         * generated/maxloc1_8_i2.c: Regenerated.
1211         * generated/maxval_i8.c: Regenerated.
1212         * generated/any_l8.c: Regenerated.
1213         * generated/maxloc0_16_r10.c: Regenerated.
1214         * generated/minloc0_4_i16.c: Regenerated.
1215         * generated/maxloc0_8_r8.c: Regenerated.
1216         * generated/maxloc0_4_i16.c: Regenerated.
1217         * generated/minloc1_4_r10.c: Regenerated.
1218         * generated/minloc1_8_i16.c: Regenerated.
1219         * generated/maxloc1_4_r10.c: Regenerated.
1220         * generated/maxloc1_8_i16.c: Regenerated.
1221         * generated/minloc0_8_r10.c: Regenerated.
1222         * generated/maxloc0_8_r10.c: Regenerated.
1223         * generated/minloc1_16_r4.c: Regenerated.
1224         * generated/maxloc1_16_r4.c: Regenerated.
1225         * generated/minloc0_16_r8.c: Regenerated.
1226         * generated/product_i8.c: Regenerated.
1227         * generated/maxloc0_16_r8.c: Regenerated.
1228         * generated/sum_i16.c: Regenerated.
1229         * generated/count_2_l.c: Regenerated.
1230         * generated/maxloc0_4_i8.c: Regenerated.
1231         * generated/maxloc1_16_i16.c: Regenerated.
1232         * generated/matmul_i4.c: Regenerated.
1233         * generated/minloc1_8_r4.c: Regenerated.
1234         * generated/sum_c8.c: Regenerated.
1235         * generated/minloc1_16_i2.c: Regenerated.
1236         * generated/maxloc1_16_i2.c: Regenerated.
1237         * generated/maxval_i16.c: Regenerated.
1238         * generated/spread_c8.c: Regenerated.
1239         * generated/matmul_i16.c: Regenerated.
1240         * generated/minloc1_4_i4.c: Regenerated.
1241         * generated/maxval_i1.c: Regenerated.
1242         * generated/minloc1_8_i2.c: Regenerated.
1243         * generated/any_l1.c: Regenerated.
1244         * generated/product_c16.c: Regenerated.
1245         * generated/minloc0_8_r8.c: Regenerated.
1246         * generated/matmul_l8.c: Regenerated.
1247         * generated/product_r10.c: Regenerated.
1248         * generated/product_i1.c: Regenerated.
1249         * generated/all_l8.c: Regenerated.
1250         * generated/maxloc0_4_i1.c: Regenerated.
1251         * generated/minloc0_4_i8.c: Regenerated.
1252         * generated/spread_c16.c: Regenerated.
1253         * generated/maxval_r4.c: Regenerated.
1255 2008-09-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1257         PR libfortran/37301
1258         PR libfortran/37228
1259         * io/io.h (write_real_g0): Declare new function to handle g0.d format.
1260         * io/transfer.c (formatted_transfer_scalar): Use new function.
1261         * io/format.c (parse_format_list): Enable g0.d.
1262         * io/write.c (write_a_char4): Delete unused var.
1263         (set_fnode_default): New function to set the default fnode w, d, and e
1264         factored from write_real. (write_real): Use new factored function.
1265         (write_real_g0): New function that sets d to that passed by g0.d format
1266         specifier and set format to ES.  Default values for w and e are used
1267         from the new function, set_fnode_default.
1269 2008-09-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1271         * runtime/error.c: Fix cast for printf.
1273 2008-08-30  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1275         PR libfortran/36895
1276         * io/write.c (namelist_write_newline): New function to correctly mark
1277         next records in both external and internal units.
1278         (nml_write_obj): Use new function.
1279         (namelist_write: Use new function.
1281 2008-08-19  Tobias Burnus  <burnus@net-b.de>
1283         PR libfortran/35863
1284         * io/write.c (write_a_char4): Add missing variable declaration
1285         in HAVE_CRLF block.
1287 2008-08-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1289         PR libfortran/35863
1290         * intrinsics/selected_char_kind.c: Enable iso_10646.
1291         * io/read.c (typedef uchar): New type.
1292         (read_utf8): New function to read a single UTF-8 encoded character.
1293         (read_utf8_char1): New function to read UTF-8 into a KIND=1 string.
1294         (read_default_char1): New functio to read default into KIND=1 string.
1295         (read_utf8_char4): New function to read UTF-8 into a KIND=4 string.
1296         (read_default_char4): New function to read UTF-8 into a KIND=4 string.
1297         (read_a): Modify to use the new functions.
1298         (read_a_char4): Modify to use the new functions.
1299         * io/write.c (error.h): Add include. (typedef uchar): New type.
1300         (write_default_char4): New function to default write KIND=4 string.
1301         (write_utf8_char4): New function to UTF-8 write KIND=4 string.
1302         (write_a_char4): Modify to use new functions.
1303         (write_character): Modify to use new functions.
1305 2008-08-14  H.J. Lu  <hongjiu.lu@intel.com>
1307         PR libfortran/37123
1308         * intrinsics/cshift0.c (cshift0): Fix 2 typos.
1310 2008-08-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
1312         PR libfortran/36886
1313         * Makefile.am:  Added $(i_cshift0_c).
1314         Added $(i_cshift0_c) to gfor_built_specific_src.
1315         Add rule to build from cshift0.m4.
1316         * Makefile.in:  Regenerated.
1317         * libgfortran.h:  Addedd prototypes for cshift0_i1,
1318         cshift0_i2, cshift0_i4, cshift0_i8, cshift0_i16,
1319         cshift0_r4, cshift0_r8, cshift0_r10, cshift0_r16,
1320         cshift0_c4, cshift0_c8, cshift0_c10, cshift0_c16.
1321         Define Macros GFC_UNALIGNED_C4 and GFC_UNALIGNED_C8.
1322         * intrinsics/cshift0.c:  Remove helper functions for
1323         the innter shift loop.
1324         (cshift0):  Call specific functions depending on type
1325         of array argument.  Only call specific functions for
1326         correct alignment for other types.
1327         * m4/cshift0.m4:  New file.
1328         * generated/cshift0_i1.c:  New file.
1329         * generated/cshift0_i2.c:  New file.
1330         * generated/cshift0_i4.c:  New file.
1331         * generated/cshift0_i8:.c  New file.
1332         * generated/cshift0_i16.c:  New file.
1333         * generated/cshift0_r4.c:  New file.
1334         * generated/cshift0_r8.c:  New file.
1335         * generated/cshift0_r10.c:  New file.
1336         * generated/cshift0_r16.c:  New file.
1337         * generated/cshift0_c4.c:  New file.
1338         * generated/cshift0_c8.c:  New file.
1339         * generated/cshift0_c10.c:  New file.
1340         * generated/cshift0_c16.c:  New file.
1342 2008-07-27  Tobias Burnus  <burnus@net-b.de>
1344         PR fortran/36132
1345         PR fortran/29952
1346         PR fortran/36909
1347         * runtime/error.c: New function runtime_error_at.
1348         * gfortran.map: Ditto.
1349         * libgfortran.h: Ditto.
1351 2008-07-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1353         PR fortran/36582
1354         * io/list_read.c: If variable rank is zero, do not adjust the found
1355         namelist object pointer.
1357 2008-07-22  Daniel Kraft  <d@domob.eu>
1359         PR fortran/29835
1360         * io/format.c (struct format_data):  New member error_element.
1361         (unexpected_element):  Added '%c' to message.
1362         (next_char):  Keep track of last parsed character in fmt->error_element.
1363         (format_error):  If the message is unexpected_element, output the
1364         offending character, too.
1366 2008-07-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
1368         PR libfortran/36890
1369         * io/file_pos.c:  Declare READ_CHUNK as signed to avoid
1370         signed/unsigned comparison warning in formatted_backspace.
1372 2008-07-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
1374         PR libfortran/36773
1375         * intrinsics/cshift0.c (cshift0):  Return early if size of array
1376         is zero.
1377         * intrinsics/eoshift0.c (eoshift0):  Return early if size of
1378         return array is zero.
1379         * intrinsics/eoshift2.c (eoshift2):  Likewise.
1380         * m4/eoshift1.m4 (eoshift1):  Return early if size of array
1381         is zero.
1382         * m4/eoshift3.m4 (eoshift3):  Likewise.
1383         * m4/eoshift2.m4 (eoshift2):  Return early if size of return
1384         array is zero.
1385         * m4/eoshift4.m4 (eoshift2):  Return early if size of return
1386         array is zero.
1387         * generated/cshift1_16.c: Regenerated.
1388         * generated/cshift1_4.c: Regenerated.
1389         * generated/cshift1_8.c: Regenerated.
1390         * generated/eoshift1_16.c: Regenerated.
1391         * generated/eoshift1_4.c: Regenerated.
1392         * generated/eoshift1_8.c: Regenerated.
1393         * generated/eoshift3_16.c: Regenerated.
1394         * generated/eoshift3_4.c: Regenerated.
1395         * generated/eoshift3_8.c: Regenerated.
1397 2008-07-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1399         PR fortran/36857
1400         * io/write_float.def: Comment out locale dependent code and fix general
1401         comments.
1402         
1403 2008-07-07  Thomas Koenig  <tkoenig@gcc.gnu.org>
1405         PR fortran/36341
1406         PR fortran/34670
1407         * m4/matmul.m4:  Add bounds checking.
1408         * m4/matmull.m4:  Likewise.
1409         * generated/matmul_c10.c: Regenerated.
1410         * generated/matmul_c16.c: Regenerated.
1411         * generated/matmul_c4.c: Regenerated.
1412         * generated/matmul_c8.c: Regenerated.
1413         * generated/matmul_i1.c: Regenerated.
1414         * generated/matmul_i16.c: Regenerated.
1415         * generated/matmul_i2.c: Regenerated.
1416         * generated/matmul_i4.c: Regenerated.
1417         * generated/matmul_i8.c: Regenerated.
1418         * generated/matmul_l16.c: Regenerated.
1419         * generated/matmul_l4.c: Regenerated.
1420         * generated/matmul_l8.c: Regenerated.
1421         * generated/matmul_r10.c: Regenerated.
1422         * generated/matmul_r16.c: Regenerated.
1423         * generated/matmul_r4.c: Regenerated.
1424         * generated/matmul_r8.c: Regenerated.
1426 2008-07-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1428         * acinclude.m4 (LIBGFOR_CHECK_GTHR_DEFAULT): Fix configure cache
1429         variable name.
1430         * configure: Regenerate.
1432 2008-07-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1434         PR fortran/36676
1435         * io/list_read.c (find_nml_name): Use eat_separator instead of eat_line.
1436         
1437 2008-06-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1439         PR fortran/36657
1440         * io/list_read.c (read_character): Check for '!' along with separators.
1441         (find_nml_name): Likewise and eat the comment if found.
1443 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1445         * configure: Regenerate.
1447 2008-06-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1449         PR fortran/36546
1450         * io/list_read.c (eat_separator): Add tab character to condition
1451         for looping past whitespace.
1453 2008-06-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1455         PR fortran/36515
1456         * libgfortran.h (compile_options_t): Add int range_check to structure.
1457         * runtime/compile_options.c (set_options): Add range_check option.
1458         (init_compile_options): Likewise.
1459         *io/read.c (read_decimal): Change overflow checks to include
1460         range_check.
1461         
1462 2008-06-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1464         PR fortran/36538
1465         * io/list_read.c (namelist_read): Add eat_separator to eliminate leading
1466         tabs.
1468 2008-06-13  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1470         PR fortran/35863
1471         * libgfortran.h: Change l8_to_l4_offset to big_endian and add endian_off.
1472         * runtime/main.c: Fix error in comment. Change l8_to_l4_offset to
1473         big_endian. (determine_endianness): Add endian_off and set its value
1474         according to big_endian.
1475         * gfortran.map: Add symbol for new _gfortran_transfer_character_wide.
1476         * io/io.h: Add prototype declarations for new functions.
1477         * io/list_read.c (list_formatted_read_scalar): Modify to handle kind=4.
1478         (list_formatted_read): Calculate stride based on kind for character type
1479         and use it when calling list_formatted_read_scalar.
1480         * io/inquire.c (inquire_via_unit): Change l8_to_l4_offset to big_endian.
1481         * io/open.c (st_open): Change l8_to_l4_offset to big_endian.
1482         * io/read.c (read_a_char4): New function to handle formatted read.
1483         * io/write.c: Define GFC_CHAR4(x) to improve readability of code.
1484         (write_a_char4): New function to handle formatted write.
1485         (write_character): Modify to accept the kind parameter and adjust for
1486         endianess of the machine. (list_formatted_write): Calculate the stride
1487         resulting from the kind and adjust the list_formatted_write_scalar call
1488         accordingly. (nml_write_obj): Adjust calls to write_character.
1489         (namelist_write): Likewise.
1490         * io/transfer.c (formatted_transfer_scaler): Rename 'len' argument to
1491         'kind' argument to better describe what it is. Add calls to new
1492         functions for kind == 4. (formatted_transfer): Modify to handle the case
1493         of type character and kind equals 4 to pass in the kind to the transfer
1494         routines. (transfer_character_wide): Add this new function.
1495         (transfer_array): Don't set kind to the character string length. Adjust
1496         strides bases on character kind.
1497         (unformatted_read): Adjust size based on kind for character types.
1498         (unformatted_write): Likewise. (data_transfer_init): Change
1499         l8_to_l4_offset to big_endian.
1500         io/fbuf.c (fbuf_seek): Add cast to eliminate warning.
1502 2008-06-13  Tobias Burnus  <burnus@net-b.de>
1504         * configure.ac (AM_CFLAGS): Remove -Werror again.
1505         * configure: Regenerate.
1507 2008-06-13  Tobias Burnus  <burnus@net-b.de>
1509         PR libgfortran/36518
1510         * configure.ac (AM_CFLAGS): Add -Werror.
1511         * configure: Regenerate.
1512         * m4/ifunction_logical.m4: Cast "n" to "(int)".
1513         * generated/any_l16.c: Regenerate.
1514         * generated/any_l2.c: Regenerate.
1515         * generated/all_l1.c: Regenerate.
1516         * generated/all_l2.c: Regenerate.
1517         * generated/all_l16.c: Regenerate.
1518         * generated/any_l4.c: Regenerate.
1519         * generated/count_4_l.c: Regenerate.
1520         * generated/count_8_l.c: Regenerate.
1521         * generated/all_l4.c: Regenerate.
1522         * generated/count_1_l.c: Regenerate.
1523         * generated/count_16_l.c: Regenerate.
1524         * generated/any_l8.c: Regenerate.
1525         * generated/count_2_l.c: Regenerate.
1526         * generated/any_l1.c: Regenerate.
1527         * generated/all_l8.c: Regenerate.
1529 2008-06-13  Tobias Burnus  <burnus@net-b.de>
1531         PR fortran/36495
1532         * configure.ac (AM_FCFLAGS): Add "-Werror -fimplicit-none".
1533         * configure: (generated) ditto.
1534         * intrinsics/dprod_r8.f90: Add "implicit none".
1536 2008-06-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1538         PR libfortran/36420
1539         PR libfortran/36421
1540         PR libfortran/36422
1541         * io/io.h: Add prototype for write_real.
1542         * io/transfer.c (formatted_transfer_scalar): For FMT_G and width zero,
1543         use write_real.
1544         * io/format.c: Add zero width error message. (parse_format_list): Use
1545         error message for FMT_A if followed by FMT_ZERO. Use zero width error
1546         message for FMT_G if mode is READ or if -std=f95 or f2003. (fmormat0):
1547         Fix typo in comment.
1548         * io/write.c(write_a): Set wlen to len if FMT_G and length is zero.
1549         (write_l): Add wlen variable and use it if FMT_G and width is zero.
1550         (write_decimal): If FMT_G, set m to -1 to flag processor dependent
1551         formatting. (write_real): Remove static declaration.
1553 2008-05-28  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1555         PR fortran/36319
1556         * intrinsics/string_intrinsics_inc.c (string_index): Return
1557         correct value for zero-length substring.
1558         * intrinsics/cshift0.c: Add _char4 variant.
1559         * intrinsics/eoshift0.c (eoshift0): Allow filler to be a pattern
1560         wider than a single byte. Add _char4 variant and use above
1561         functionality.
1562         * intrinsics/eoshift2.c (eoshift2): Likewise.
1563         * m4/eoshift1.m4: Likewise.
1564         * m4/eoshift3.m4: Likewise.
1565         * m4/cshift1.m4: Add _char4 variants.
1566         * gfortran.map (GFORTRAN_1.1): Add _gfortran_cshift0_1_char4,
1567         _gfortran_cshift0_2_char4, _gfortran_cshift0_4_char4,
1568         _gfortran_cshift0_8_char4, _gfortran_cshift1_16_char4,
1569         _gfortran_cshift1_4_char4, _gfortran_cshift1_8_char4,
1570         _gfortran_eoshift0_1_char4, _gfortran_eoshift0_2_char4,
1571         _gfortran_eoshift0_4_char4, _gfortran_eoshift0_8_char4,
1572         _gfortran_eoshift1_16_char4, _gfortran_eoshift1_4_char4,
1573         _gfortran_eoshift1_8_char4, _gfortran_eoshift2_1_char4,
1574         _gfortran_eoshift2_2_char4, _gfortran_eoshift2_4_char4,
1575         _gfortran_eoshift2_8_char4, _gfortran_eoshift3_16_char4,
1576         _gfortran_eoshift3_4_char4 and _gfortran_eoshift3_8_char4.
1577         * generated/eoshift3_4.c: Regenerate.
1578         * generated/eoshift1_8.c: Regenerate.
1579         * generated/eoshift1_16.c: Regenerate.
1580         * generated/cshift1_4.c: Regenerate.
1581         * generated/eoshift1_4.c: Regenerate.
1582         * generated/eoshift3_8.c: Regenerate.
1583         * generated/eoshift3_16.c: Regenerate.
1584         * generated/cshift1_8.c: Regenerate.
1585         * generated/cshift1_16.c: Regenerate.
1587 2008-05-25  Tobias Burnus  <burnus@net-b.de>
1589         PR fortran/32600
1590         * intrinsics/iso_c_binding.c (c_f_procpointer): Remove.
1591         * intrinsics/iso_c_binding.h (c_f_procpointer): Remove.
1592         * gfortran.map (c_f_procpointer): Remove.
1594 2008-05-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
1596         PR libgfortran/36302
1597         * gfortran.map (GFORTRAN_1.1): Add _gfortran_eoshift0_16,
1598         _gfortran_eoshift0_16_char, _gfortran_eoshift2_16,
1599         _gfortran_eoshift2_16_char,_gfortran_cshift0_16,
1600         _gfortran_cshift0_16_char.  Sort alphabetically.
1601         * intrinsics/eoshift0.c:  Add function for kind=16 integer.
1602         * intrinsics/eoshift2.c:  Likewise.
1603         * intrinsics/cshift0.c:  Likewise.
1605 2008-05-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
1607         * m4/in_pack.m4 (internal_pack_'rtype_code`):  Destination
1608         pointer is restrict.
1609         * m4/transpose.m4 (transpose_'rtype_code`):  Likewise.
1610         * m4/pack.m4 (pack_'rtype_code`):  Likewise.
1611         * m4/spread.m4 (spread_'rtype_code`):  Likewise.
1612         (spread_scalar_'rtype_code`): Likewise.
1613         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Likewise.
1614         * m4/eoshift1.m4 (eoshift1):  Likewise.
1615         * m4/eoshift3.m4 (eoshift3):  Likewise.
1616         * m4/in_unpack.m4 (internal_unpack_'rtype_ccode`):  Likewise.
1617         * m4/unpack.m4 (unpack0_'rtype_code`):  Likewise.
1618         (unpack1_'rtype_code`):  Likewise.
1619         * intrinsics/pack_generic.c (pack_generic.c):  Likewise.
1620         * intrinsics/unpack_generic.c (unpack_internal):  Likewise.
1621         * intrinsics/eoshift0.c (eoshift0):  Likewise.
1622         * intrinsics/eoshift2.c (eoshift2):  Likewise.
1623         * intrinsics/reshape_generic.c (reshape_internal):  Likewise.
1624         * intrinsics/reshape_packed.c (reshape_packed):  Likewise.
1625         * generated/eoshift1_16.c: Regenerated.
1626         * generated/eoshift1_4.c: Regenerated.
1627         * generated/eoshift1_8.c: Regenerated.
1628         * generated/eoshift3_16.c: Regenerated.
1629         * generated/eoshift3_4.c: Regenerated.
1630         * generated/eoshift3_8.c: Regenerated.
1631         * generated/in_pack_c10.c: Regenerated.
1632         * generated/in_pack_c16.c: Regenerated.
1633         * generated/in_pack_c4.c: Regenerated.
1634         * generated/in_pack_c8.c: Regenerated.
1635         * generated/in_pack_i1.c: Regenerated.
1636         * generated/in_pack_i16.c: Regenerated.
1637         * generated/in_pack_i2.c: Regenerated.
1638         * generated/in_pack_i4.c: Regenerated.
1639         * generated/in_pack_i8.c: Regenerated.
1640         * generated/in_pack_r10.c: Regenerated.
1641         * generated/in_pack_r16.c: Regenerated.
1642         * generated/in_pack_r4.c: Regenerated.
1643         * generated/in_pack_r8.c: Regenerated.
1644         * generated/in_unpack_c10.c: Regenerated.
1645         * generated/in_unpack_c16.c: Regenerated.
1646         * generated/in_unpack_c4.c: Regenerated.
1647         * generated/in_unpack_c8.c: Regenerated.
1648         * generated/in_unpack_i1.c: Regenerated.
1649         * generated/in_unpack_i16.c: Regenerated.
1650         * generated/in_unpack_i2.c: Regenerated.
1651         * generated/in_unpack_i4.c: Regenerated.
1652         * generated/in_unpack_i8.c: Regenerated.
1653         * generated/in_unpack_r10.c: Regenerated.
1654         * generated/in_unpack_r16.c: Regenerated.
1655         * generated/in_unpack_r4.c: Regenerated.
1656         * generated/in_unpack_r8.c: Regenerated.
1657         * generated/maxloc0_16_i1.c: Regenerated.
1658         * generated/maxloc0_16_i16.c: Regenerated.
1659         * generated/maxloc0_16_i2.c: Regenerated.
1660         * generated/maxloc0_16_i4.c: Regenerated.
1661         * generated/maxloc0_16_i8.c: Regenerated.
1662         * generated/maxloc0_16_r10.c: Regenerated.
1663         * generated/maxloc0_16_r16.c: Regenerated.
1664         * generated/maxloc0_16_r4.c: Regenerated.
1665         * generated/maxloc0_16_r8.c: Regenerated.
1666         * generated/maxloc0_4_i1.c: Regenerated.
1667         * generated/maxloc0_4_i16.c: Regenerated.
1668         * generated/maxloc0_4_i2.c: Regenerated.
1669         * generated/maxloc0_4_i4.c: Regenerated.
1670         * generated/maxloc0_4_i8.c: Regenerated.
1671         * generated/maxloc0_4_r10.c: Regenerated.
1672         * generated/maxloc0_4_r16.c: Regenerated.
1673         * generated/maxloc0_4_r4.c: Regenerated.
1674         * generated/maxloc0_4_r8.c: Regenerated.
1675         * generated/maxloc0_8_i1.c: Regenerated.
1676         * generated/maxloc0_8_i16.c: Regenerated.
1677         * generated/maxloc0_8_i2.c: Regenerated.
1678         * generated/maxloc0_8_i4.c: Regenerated.
1679         * generated/maxloc0_8_i8.c: Regenerated.
1680         * generated/maxloc0_8_r10.c: Regenerated.
1681         * generated/maxloc0_8_r16.c: Regenerated.
1682         * generated/maxloc0_8_r4.c: Regenerated.
1683         * generated/maxloc0_8_r8.c: Regenerated.
1684         * generated/minloc0_16_i1.c: Regenerated.
1685         * generated/minloc0_16_i16.c: Regenerated.
1686         * generated/minloc0_16_i2.c: Regenerated.
1687         * generated/minloc0_16_i4.c: Regenerated.
1688         * generated/minloc0_16_i8.c: Regenerated.
1689         * generated/minloc0_16_r10.c: Regenerated.
1690         * generated/minloc0_16_r16.c: Regenerated.
1691         * generated/minloc0_16_r4.c: Regenerated.
1692         * generated/minloc0_16_r8.c: Regenerated.
1693         * generated/minloc0_4_i1.c: Regenerated.
1694         * generated/minloc0_4_i16.c: Regenerated.
1695         * generated/minloc0_4_i2.c: Regenerated.
1696         * generated/minloc0_4_i4.c: Regenerated.
1697         * generated/minloc0_4_i8.c: Regenerated.
1698         * generated/minloc0_4_r10.c: Regenerated.
1699         * generated/minloc0_4_r16.c: Regenerated.
1700         * generated/minloc0_4_r4.c: Regenerated.
1701         * generated/minloc0_4_r8.c: Regenerated.
1702         * generated/minloc0_8_i1.c: Regenerated.
1703         * generated/minloc0_8_i16.c: Regenerated.
1704         * generated/minloc0_8_i2.c: Regenerated.
1705         * generated/minloc0_8_i4.c: Regenerated.
1706         * generated/minloc0_8_i8.c: Regenerated.
1707         * generated/minloc0_8_r10.c: Regenerated.
1708         * generated/minloc0_8_r16.c: Regenerated.
1709         * generated/minloc0_8_r4.c: Regenerated.
1710         * generated/minloc0_8_r8.c: Regenerated.
1711         * generated/pack_c10.c: Regenerated.
1712         * generated/pack_c16.c: Regenerated.
1713         * generated/pack_c4.c: Regenerated.
1714         * generated/pack_c8.c: Regenerated.
1715         * generated/pack_i1.c: Regenerated.
1716         * generated/pack_i16.c: Regenerated.
1717         * generated/pack_i2.c: Regenerated.
1718         * generated/pack_i4.c: Regenerated.
1719         * generated/pack_i8.c: Regenerated.
1720         * generated/pack_r10.c: Regenerated.
1721         * generated/pack_r16.c: Regenerated.
1722         * generated/pack_r4.c: Regenerated.
1723         * generated/pack_r8.c: Regenerated.
1724         * generated/spread_c10.c: Regenerated.
1725         * generated/spread_c16.c: Regenerated.
1726         * generated/spread_c4.c: Regenerated.
1727         * generated/spread_c8.c: Regenerated.
1728         * generated/spread_i1.c: Regenerated.
1729         * generated/spread_i16.c: Regenerated.
1730         * generated/spread_i2.c: Regenerated.
1731         * generated/spread_i4.c: Regenerated.
1732         * generated/spread_i8.c: Regenerated.
1733         * generated/spread_r10.c: Regenerated.
1734         * generated/spread_r16.c: Regenerated.
1735         * generated/spread_r4.c: Regenerated.
1736         * generated/spread_r8.c: Regenerated.
1737         * generated/transpose_c10.c: Regenerated.
1738         * generated/transpose_c16.c: Regenerated.
1739         * generated/transpose_c4.c: Regenerated.
1740         * generated/transpose_c8.c: Regenerated.
1741         * generated/transpose_i16.c: Regenerated.
1742         * generated/transpose_i4.c: Regenerated.
1743         * generated/transpose_i8.c: Regenerated.
1744         * generated/transpose_r10.c: Regenerated.
1745         * generated/transpose_r16.c: Regenerated.
1746         * generated/transpose_r4.c: Regenerated.
1747         * generated/transpose_r8.c: Regenerated.
1748         * generated/unpack_c10.c: Regenerated.
1749         * generated/unpack_c16.c: Regenerated.
1750         * generated/unpack_c4.c: Regenerated.
1751         * generated/unpack_c8.c: Regenerated.
1752         * generated/unpack_i1.c: Regenerated.
1753         * generated/unpack_i16.c: Regenerated.
1754         * generated/unpack_i2.c: Regenerated.
1755         * generated/unpack_i4.c: Regenerated.
1756         * generated/unpack_i8.c: Regenerated.
1757         * generated/unpack_r10.c: Regenerated.
1758         * generated/unpack_r16.c: Regenerated.
1759         * generated/unpack_r4.c: Regenerated.
1760         * generated/unpack_r8.c: Regenerated.
1762 2008-05-18  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1764         * runtime/select.c: Moved content to select_inc.c. Include it. 
1765         Add macros for different character types.
1766         * runtime/select_inc.c: New file.
1767         * runtime/convert_char.c: New file.
1768         * intrinsics/pack_generic.c (pack_char4, pack_s_char4): New
1769         functions.
1770         * intrinsics/transpose_generic.c (transpose_char4): New function.
1771         * intrinsics/spread_generic.c (spread_char4, spread_char4_scalar):
1772         New functions.
1773         * intrinsics/unpack_generic.c (unpack1_char4, unpack0_char4): 
1774         New functions.
1775         * intrinsics/reshape_generic.c (reshape_char): Use
1776         gfc_charlen_type as type for length variables.
1777         (reshape_char4): New function.
1778         * gfortran.map (GFORTRAN_1.1): Add _gfortran_select_string_char4,
1779         _gfortran_convert_char1_to_char4, _gfortran_convert_char4_to_char1,
1780         _gfortran_transpose_char4, _gfortran_spread_char4,
1781         _gfortran_spread_char4_scalar, _gfortran_reshape_char4,
1782         _gfortran_pack_char4, _gfortran_pack_s_char4,
1783         _gfortran_unpack0_char4 and _gfortran_unpack1_char4.
1784         * Makefile.am: Add runtime/convert_char.c.
1785         * Makefile.in: Regenerate.
1787 2008-05-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
1789         * io/list_read.c (list_formatted_read_scalar):  Declare
1790         type as volatile to shut up compiler warning.
1792 2008-05-16  Janne Blomqvist  <jb@gcc.gnu.org>
1794         PR libfortran/25561
1795         * io/io.h (struct fbuf): Change pointer to position offset.
1796         * io/fbuf.c (fbuf_init): Reduce default size of buffer, ptr=>pos
1797         changes.
1798         (fbuf_reset): ptr=>pos changes.
1799         (fbuf_alloc): If the request doesn't fit, don't waste memory by
1800         keeping flushed bytes. ptr=>pos changes.
1801         (fbuf_flush): ptr=>pos changes.
1802         (fbuf_seek): Don't seek past the left tab limit, don't update active
1803         byte count.
1804         * io/open.c (new_unit): If RECL has been specified, used that as
1805         initial buffer size.
1807 2008-05-16  Janne Blomqvist  <jb@gcc.gnu.org>
1809         PR libfortran/35632
1810         * io/open.c (new_unit): Set stream position to correct value.
1812 2008-05-15  Janne Blomqvist  <jb@gcc.gnu.org>
1814         PR libfortran/25561
1815         * Makefile.am: Add fbuf.c to gfor_io_src.
1816         * Makefile.in: Regenerate.
1817         * io/io.h (read_block): Remove.
1818         (struct stream): Remove alloc_r_at function pointer.
1819         (salloc_r): Remove.
1820         (salloc_r_at): Remove.
1821         (salloc_w_at): Remove.
1822         (salloc_w): Remove offset argument.
1823         (struct fbuf): New struct for format buffer.
1824         (struct gfc_unit): Add fbuf.
1825         (read_block_form): New prototype.
1826         (fbuf_init): Likewise.
1827         (fbuf_destroy): Likewise.
1828         (fbuf_reset): Likewise.
1829         (fbuf_alloc): Likewise.
1830         (fbuf_flush): Likewise.
1831         (fbuf_seek): Likewise.
1832         * io/file_pos.c (formatted_backspace): Change to use sread.
1833         (unformatted_backspace): Likewise.
1834         (st_backspace): Flush format buffer.
1835         (st_rewind): Likewise.
1836         * io/list_read.c (next_char): Likewise.
1837         (nml_query): Tidying, flush format buffer.
1838         * io/open.c (new_unit): Init format buffer.
1839         * io/read.c (read_l): Change to use read_block_form.
1840         (read_a): Likewise.
1841         (read_decimal): Likewise.
1842         (read_radix): Likewise.
1843         (read_f): Likewise.
1844         (read_x): Empty reads also for stream I/O.
1845         * io/transfer.c (read_sf): Change to use sread.
1846         (read_block): Rename to read_block_form, change prototype, use sread.
1847         (read_block_direct): Don't seek stream files.
1848         (write_block): Change to use fbuf if external file, don't seek stream
1849         files.
1850         (write_buf): Don't seek stream files.
1851         (formatted_transfer_scalar): Use fbuf for external files.
1852         (us_read): Change to use sread.
1853         (pre_position): Do nothing for stream I/O.
1854         (data_transfer_init): Flush fbuf when switching from write to read, if
1855         POS is specified, seek stream file to correct offset.
1856         (skip_record): Change to use sread.
1857         (min_off): New function.
1858         (next_record_r): Change to use sread.
1859         (next_record_w): Change to use sset/sseek, flush fbuf.
1860         (finalize_transfer): Flush fbuf.
1861         * io/unit.c (init_units): Init fbuf for stdout, stderr.
1862         (close_unit_1): Destroy fbuf.
1863         (finish_last_advance_record): Flush fbuf, no need to seek.
1864         * io/unix.c (fd_alloc_r_at): Remove unused where argument.
1865         (fd_alloc_w_at): Likewise.
1866         (fd_read): Remove third argument to fd_alloc_r_at.
1867         (fd_write): Remove third argument to fd_alloc_w_at.
1868         (fd_sset): Likewise.
1869         (fd_open): Don't set alloc_r_at.
1870         (mem_alloc_r_at): Remove unused where argument.
1871         (mem_alloc_w_at): Likewise.
1872         (mem_read): Don't incorrectly return previous errno, remove unused
1873         third argument to alloc function.
1874         (mem_write): Likewise.
1875         (mem_set): Likewise.
1876         (open_internal): Don't set alloc_r_at pointer.
1877         * io/fbuf.c: New file.
1879 2008-05-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1881         * libgfortran.h (gfc_char4_t): New type.
1882         (GFC_SIZE_OF_CHAR_KIND): New macro.
1883         (compare_string): Adjust prototype.
1884         (compare_string_char4): New prototype.
1885         * gfortran.map (GFORTRAN_1.1): Add _gfortran_adjustl_char4,
1886         _gfortran_adjustr_char4, _gfortran_compare_string_char4,
1887         _gfortran_concat_string_char4, _gfortran_string_index_char4,
1888         _gfortran_string_len_trim_char4, _gfortran_string_minmax_char4,
1889         _gfortran_string_scan_char4, _gfortran_string_trim_char4 and
1890         _gfortran_string_verify_char4.
1891         * intrinsics/string_intrinsics_inc.c: New file from content of
1892         string_intrinsics.c with types replaced by macros.
1893         * intrinsics/string_intrinsics.c: Move content to
1894         string_intrinsics_inc.c.
1896 2008-05-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1898         PR libfortran/36202
1899         * io/list_read (eat_separator): Handle the CR-LF case correctly.
1901 2008-05-09  Julian Brown  <julian@codesourcery.com>
1903         * Makefile.am (LTLDFLAGS): New.
1904         (libgfortran_la_LDFLAGS): Use above.
1905         * Makefile.in: Regenerate.
1907 2008-05-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
1909         PR libfortran/36131
1910         * io/transfer.c (formatted_transfer_scalar): Revert patch for PR34974.
1911         (next_record_w): Likewise.
1913 2008-05-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
1915         PR libfortran/35995
1916         * m4/ifunction_logical.m4:  If the extent of "array"
1917         is less than zero, set it to zero.  Use an explicit
1918         flag for breaking out of the main loop to avoid, because
1919         the data pointer for "array" may be NULL for an empty
1920         array.
1921         * m4/ifunction.m4:  Likewise.
1922         * generated/all_l1.c: Regenerated.
1923         * generated/all_l16.c: Regenerated.
1924         * generated/all_l2.c: Regenerated.
1925         * generated/all_l4.c: Regenerated.
1926         * generated/all_l8.c: Regenerated.
1927         * generated/any_l1.c: Regenerated.
1928         * generated/any_l16.c: Regenerated.
1929         * generated/any_l2.c: Regenerated.
1930         * generated/any_l4.c: Regenerated.
1931         * generated/any_l8.c: Regenerated.
1932         * generated/count_16_l.c: Regenerated.
1933         * generated/count_1_l.c: Regenerated.
1934         * generated/count_2_l.c: Regenerated.
1935         * generated/count_4_l.c: Regenerated.
1936         * generated/count_8_l.c: Regenerated.
1937         * generated/maxloc1_16_i1.c: Regenerated.
1938         * generated/maxloc1_16_i16.c: Regenerated.
1939         * generated/maxloc1_16_i2.c: Regenerated.
1940         * generated/maxloc1_16_i4.c: Regenerated.
1941         * generated/maxloc1_16_i8.c: Regenerated.
1942         * generated/maxloc1_16_r10.c: Regenerated.
1943         * generated/maxloc1_16_r16.c: Regenerated.
1944         * generated/maxloc1_16_r4.c: Regenerated.
1945         * generated/maxloc1_16_r8.c: Regenerated.
1946         * generated/maxloc1_4_i1.c: Regenerated.
1947         * generated/maxloc1_4_i16.c: Regenerated.
1948         * generated/maxloc1_4_i2.c: Regenerated.
1949         * generated/maxloc1_4_i4.c: Regenerated.
1950         * generated/maxloc1_4_i8.c: Regenerated.
1951         * generated/maxloc1_4_r10.c: Regenerated.
1952         * generated/maxloc1_4_r16.c: Regenerated.
1953         * generated/maxloc1_4_r4.c: Regenerated.
1954         * generated/maxloc1_4_r8.c: Regenerated.
1955         * generated/maxloc1_8_i1.c: Regenerated.
1956         * generated/maxloc1_8_i16.c: Regenerated.
1957         * generated/maxloc1_8_i2.c: Regenerated.
1958         * generated/maxloc1_8_i4.c: Regenerated.
1959         * generated/maxloc1_8_i8.c: Regenerated.
1960         * generated/maxloc1_8_r10.c: Regenerated.
1961         * generated/maxloc1_8_r16.c: Regenerated.
1962         * generated/maxloc1_8_r4.c: Regenerated.
1963         * generated/maxloc1_8_r8.c: Regenerated.
1964         * generated/maxval_i1.c: Regenerated.
1965         * generated/maxval_i16.c: Regenerated.
1966         * generated/maxval_i2.c: Regenerated.
1967         * generated/maxval_i4.c: Regenerated.
1968         * generated/maxval_i8.c: Regenerated.
1969         * generated/maxval_r10.c: Regenerated.
1970         * generated/maxval_r16.c: Regenerated.
1971         * generated/maxval_r4.c: Regenerated.
1972         * generated/maxval_r8.c: Regenerated.
1973         * generated/minloc1_16_i1.c: Regenerated.
1974         * generated/minloc1_16_i16.c: Regenerated.
1975         * generated/minloc1_16_i2.c: Regenerated.
1976         * generated/minloc1_16_i4.c: Regenerated.
1977         * generated/minloc1_16_i8.c: Regenerated.
1978         * generated/minloc1_16_r10.c: Regenerated.
1979         * generated/minloc1_16_r16.c: Regenerated.
1980         * generated/minloc1_16_r4.c: Regenerated.
1981         * generated/minloc1_16_r8.c: Regenerated.
1982         * generated/minloc1_4_i1.c: Regenerated.
1983         * generated/minloc1_4_i16.c: Regenerated.
1984         * generated/minloc1_4_i2.c: Regenerated.
1985         * generated/minloc1_4_i4.c: Regenerated.
1986         * generated/minloc1_4_i8.c: Regenerated.
1987         * generated/minloc1_4_r10.c: Regenerated.
1988         * generated/minloc1_4_r16.c: Regenerated.
1989         * generated/minloc1_4_r4.c: Regenerated.
1990         * generated/minloc1_4_r8.c: Regenerated.
1991         * generated/minloc1_8_i1.c: Regenerated.
1992         * generated/minloc1_8_i16.c: Regenerated.
1993         * generated/minloc1_8_i2.c: Regenerated.
1994         * generated/minloc1_8_i4.c: Regenerated.
1995         * generated/minloc1_8_i8.c: Regenerated.
1996         * generated/minloc1_8_r10.c: Regenerated.
1997         * generated/minloc1_8_r16.c: Regenerated.
1998         * generated/minloc1_8_r4.c: Regenerated.
1999         * generated/minloc1_8_r8.c: Regenerated.
2000         * generated/minval_i1.c: Regenerated.
2001         * generated/minval_i16.c: Regenerated.
2002         * generated/minval_i2.c: Regenerated.
2003         * generated/minval_i4.c: Regenerated.
2004         * generated/minval_i8.c: Regenerated.
2005         * generated/minval_r10.c: Regenerated.
2006         * generated/minval_r16.c: Regenerated.
2007         * generated/minval_r4.c: Regenerated.
2008         * generated/minval_r8.c: Regenerated.
2009         * generated/product_c10.c: Regenerated.
2010         * generated/product_c16.c: Regenerated.
2011         * generated/product_c4.c: Regenerated.
2012         * generated/product_c8.c: Regenerated.
2013         * generated/product_i1.c: Regenerated.
2014         * generated/product_i16.c: Regenerated.
2015         * generated/product_i2.c: Regenerated.
2016         * generated/product_i4.c: Regenerated.
2017         * generated/product_i8.c: Regenerated.
2018         * generated/product_r10.c: Regenerated.
2019         * generated/product_r16.c: Regenerated.
2020         * generated/product_r4.c: Regenerated.
2021         * generated/product_r8.c: Regenerated.
2022         * generated/sum_c10.c: Regenerated.
2023         * generated/sum_c16.c: Regenerated.
2024         * generated/sum_c4.c: Regenerated.
2025         * generated/sum_c8.c: Regenerated.
2026         * generated/sum_i1.c: Regenerated.
2027         * generated/sum_i16.c: Regenerated.
2028         * generated/sum_i2.c: Regenerated.
2029         * generated/sum_i4.c: Regenerated.
2030         * generated/sum_i8.c: Regenerated.
2031         * generated/sum_r10.c: Regenerated.
2032         * generated/sum_r16.c: Regenerated.
2033         * generated/sum_r4.c: Regenerated.
2034         * generated/sum_r8.c: Regenerated.
2036 2008-05-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
2038         PR libfortran/35990
2039         * intrinsics/pack_generic.c:  Really commit.
2041 2008-05-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
2043         PR libfortran/35990
2044         * intrinsics/pack_generic.c:  If an extent of the source
2045         array is less then zero, set it to zero.  Set the source
2046         pointer to NULL if the source size is zero.  Set the total
2047         number of elements to zero if the vector has an extent
2048         less or equal to zero.
2049         * m4/pack.m4:  Set the source pointer to NULL if the
2050         source array is zero-sized.  Set the total number of
2051         elemements to zero if the vector has an extent less or
2052         equal to zero.
2053         * generated/pack_i1.c:  Regenerated.
2054         * generated/pack_i2.c:  Regenerated.
2055         * generated/pack_i4.c:  Regenerated.
2056         * generated/pack_i8.c:  Regenerated.
2057         * generated/pack_i16.c:  Regenerated.
2058         * generated/pack_r4.c:  Regenerated.
2059         * generated/pack_r8.c:  Regenerated.
2060         * generated/pack_r10.c:  Regenerated.
2061         * generated/pack_r16.c:  Regenerated.
2062         * generated/pack_c4.c:  Regenerated.
2063         * generated/pack_c8.c:  Regenerated.
2064         * generated/pack_c10.c:  Regenerated.
2065         * generated/pack_c16.c:  Regenerated.
2067 2008-05-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2069         PR libfortran/36094
2070         * runtime/error.c (show_locus): Provide modified error message when
2071         filename has not yet been associated with a unit number.
2072         * io/open.c (encoding_opt[]): Comment out "utf-8" option and add TODO.
2074 2008-04-30  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2076         * intrinsics/selected_char_kind.c: New file.
2077         * gfortran.map (GFORTRAN_1.1): Add _gfortran_selected_char_kind.
2078         * Makefile.am: Add intrinsics/selected_char_kind.c.
2079         * Makefile.in: Regenerate.
2081 2008-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
2083         PR libfortran/35993
2084         * ifunction.m4 (SCALAR_ARRAY_FUNCTION):  Use correct
2085         implementation for multi-dimensional return arrays when
2086         the mask is .false.
2087         * generated/maxloc1_16_i1.c: Regenerated.
2088         * generated/maxloc1_16_i16.c: Regenerated.
2089         * generated/maxloc1_16_i2.c: Regenerated.
2090         * generated/maxloc1_16_i4.c: Regenerated.
2091         * generated/maxloc1_16_i8.c: Regenerated.
2092         * generated/maxloc1_16_r10.c: Regenerated.
2093         * generated/maxloc1_16_r16.c: Regenerated.
2094         * generated/maxloc1_16_r4.c: Regenerated.
2095         * generated/maxloc1_16_r8.c: Regenerated.
2096         * generated/maxloc1_4_i1.c: Regenerated.
2097         * generated/maxloc1_4_i16.c: Regenerated.
2098         * generated/maxloc1_4_i2.c: Regenerated.
2099         * generated/maxloc1_4_i4.c: Regenerated.
2100         * generated/maxloc1_4_i8.c: Regenerated.
2101         * generated/maxloc1_4_r10.c: Regenerated.
2102         * generated/maxloc1_4_r16.c: Regenerated.
2103         * generated/maxloc1_4_r4.c: Regenerated.
2104         * generated/maxloc1_4_r8.c: Regenerated.
2105         * generated/maxloc1_8_i1.c: Regenerated.
2106         * generated/maxloc1_8_i16.c: Regenerated.
2107         * generated/maxloc1_8_i2.c: Regenerated.
2108         * generated/maxloc1_8_i4.c: Regenerated.
2109         * generated/maxloc1_8_i8.c: Regenerated.
2110         * generated/maxloc1_8_r10.c: Regenerated.
2111         * generated/maxloc1_8_r16.c: Regenerated.
2112         * generated/maxloc1_8_r4.c: Regenerated.
2113         * generated/maxloc1_8_r8.c: Regenerated.
2114         * generated/maxval_i1.c: Regenerated.
2115         * generated/maxval_i16.c: Regenerated.
2116         * generated/maxval_i2.c: Regenerated.
2117         * generated/maxval_i4.c: Regenerated.
2118         * generated/maxval_i8.c: Regenerated.
2119         * generated/maxval_r10.c: Regenerated.
2120         * generated/maxval_r16.c: Regenerated.
2121         * generated/maxval_r4.c: Regenerated.
2122         * generated/maxval_r8.c: Regenerated.
2123         * generated/minloc1_16_i1.c: Regenerated.
2124         * generated/minloc1_16_i16.c: Regenerated.
2125         * generated/minloc1_16_i2.c: Regenerated.
2126         * generated/minloc1_16_i4.c: Regenerated.
2127         * generated/minloc1_16_i8.c: Regenerated.
2128         * generated/minloc1_16_r10.c: Regenerated.
2129         * generated/minloc1_16_r16.c: Regenerated.
2130         * generated/minloc1_16_r4.c: Regenerated.
2131         * generated/minloc1_16_r8.c: Regenerated.
2132         * generated/minloc1_4_i1.c: Regenerated.
2133         * generated/minloc1_4_i16.c: Regenerated.
2134         * generated/minloc1_4_i2.c: Regenerated.
2135         * generated/minloc1_4_i4.c: Regenerated.
2136         * generated/minloc1_4_i8.c: Regenerated.
2137         * generated/minloc1_4_r10.c: Regenerated.
2138         * generated/minloc1_4_r16.c: Regenerated.
2139         * generated/minloc1_4_r4.c: Regenerated.
2140         * generated/minloc1_4_r8.c: Regenerated.
2141         * generated/minloc1_8_i1.c: Regenerated.
2142         * generated/minloc1_8_i16.c: Regenerated.
2143         * generated/minloc1_8_i2.c: Regenerated.
2144         * generated/minloc1_8_i4.c: Regenerated.
2145         * generated/minloc1_8_i8.c: Regenerated.
2146         * generated/minloc1_8_r10.c: Regenerated.
2147         * generated/minloc1_8_r16.c: Regenerated.
2148         * generated/minloc1_8_r4.c: Regenerated.
2149         * generated/minloc1_8_r8.c: Regenerated.
2150         * generated/minval_i1.c: Regenerated.
2151         * generated/minval_i16.c: Regenerated.
2152         * generated/minval_i2.c: Regenerated.
2153         * generated/minval_i4.c: Regenerated.
2154         * generated/minval_i8.c: Regenerated.
2155         * generated/minval_r10.c: Regenerated.
2156         * generated/minval_r16.c: Regenerated.
2157         * generated/minval_r4.c: Regenerated.
2158         * generated/minval_r8.c: Regenerated.
2159         * generated/product_c10.c: Regenerated.
2160         * generated/product_c16.c: Regenerated.
2161         * generated/product_c4.c: Regenerated.
2162         * generated/product_c8.c: Regenerated.
2163         * generated/product_i1.c: Regenerated.
2164         * generated/product_i16.c: Regenerated.
2165         * generated/product_i2.c: Regenerated.
2166         * generated/product_i4.c: Regenerated.
2167         * generated/product_i8.c: Regenerated.
2168         * generated/product_r10.c: Regenerated.
2169         * generated/product_r16.c: Regenerated.
2170         * generated/product_r4.c: Regenerated.
2171         * generated/product_r8.c: Regenerated.
2172         * generated/sum_c10.c: Regenerated.
2173         * generated/sum_c16.c: Regenerated.
2174         * generated/sum_c4.c: Regenerated.
2175         * generated/sum_c8.c: Regenerated.
2176         * generated/sum_i1.c: Regenerated.
2177         * generated/sum_i16.c: Regenerated.
2178         * generated/sum_i2.c: Regenerated.
2179         * generated/sum_i4.c: Regenerated.
2180         * generated/sum_i8.c: Regenerated.
2181         * generated/sum_r10.c: Regenerated.
2182         * generated/sum_r16.c: Regenerated.
2183         * generated/sum_r4.c: Regenerated.
2184         * generated/sum_r8.c: Regenerated.
2186 2008-04-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
2188         PR libfortran/35960
2189         * m4/reshape.m4:  Fix typo in last commit.
2190         * generated/reshape_i4.c:  Regererated.
2191         * generated/reshape_i8.c:  Regenerated.
2192         * generated/reshape_i16.c:  Regenerated.
2193         * generated/reshape_r4.c:  Regenerated.
2194         * generated/reshape_r8.c:  Regenerated.
2195         * generated/reshape_r10.c:  Regenerated.
2196         * generated/reshape_r16.c:  Regenerated.
2197         * generated/reshape_c4.c:  Regenerated.
2198         * generated/reshape_c8.c:  Regenerated.
2199         * generated/reshape_c10.c:  Regenerated.
2200         * generated/reshape_c16.c:  Regenerated.
2202 2008-04-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2204         * intrinsics/time_1.h (__time_1): Remove unused variable.
2206 2008-04-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
2208         PR libfortran/35988
2209         * m4/matmul.m4:  Only issue a runtime error if extents are
2210         non-zero.
2211         * generated/matmul_i1.c:  Regenerated.
2212         * generated/matmul_i2.c:  Regenerated.
2213         * generated/matmul_i4.c:  Regenerated.
2214         * generated/matmul_i8.c:  Regenerated.
2215         * generated/matmul_i16.c:  Regenerated.
2216         * generated/matmul_r4.c:  Regenerated.
2217         * generated/matmul_r8.c:  Regenerated.
2218         * generated/matmul_r10.c:  Regenerated.
2219         * generated/matmul_r16.c:  Regenerated.
2220         * generated/matmul_c4.c:  Regenerated.
2221         * generated/matmul_c8.c:  Regenerated.
2222         * generated/matmul_c10.c:  Regenerated.
2223         * generated/matmul_c16.c:  Regenerated.
2225 2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2227         * acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY)
2228         (LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT)
2229         (LIBGFOR_CHECK_ATTRIBUTE_ALIAS, LIBGFOR_CHECK_SYNC_FETCH_AND_ADD)
2230         (LIBGFOR_GTHREAD_WEAK, LIBGFOR_CHECK_UNLINK_OPEN_FILE)
2231         (LIBGFOR_CHECK_CRLF, LIBGFOR_CHECK_FOR_BROKEN_ISFINITE)
2232         (LIBGFOR_CHECK_FOR_BROKEN_ISNAN)
2233         (LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY, LIBGFOR_CHECK_WORKING_STAT)
2234         (LIBGFOR_CHECK_FPSETMASK, LIBGFOR_CHECK_MINGW_SNPRINTF):
2235         Fix cache variable names.
2236         * configure, Makefile.in: Regenerate.
2238 2008-04-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2240         PR fortran/35991
2241         * intrinsics/cshift0.c (cshift0): Avoid divide by zero.
2243 2008-04-20  Thomas Koenig  <tkoenig@gcc.gnu.org>
2245         PR libfortran/35960
2246         * intrinsics/reshape_generic.c (reshape_internal): If the size
2247         of the resized array is zero, as determined by the SHAPE
2248         argument, return early.
2249         * m4/reshape.m4:  Likewise.
2250         * generated/reshape_i4.c:  Regererated.
2251         * generated/reshape_i8.c:  Regenerated.
2252         * generated/reshape_i16.c:  Regenerated.
2253         * generated/reshape_r4.c:  Regenerated.
2254         * generated/reshape_r8.c:  Regenerated.
2255         * generated/reshape_r10.c:  Regenerated.
2256         * generated/reshape_r16.c:  Regenerated.
2257         * generated/reshape_c4.c:  Regenerated.
2258         * generated/reshape_c8.c:  Regenerated.
2259         * generated/reshape_c10.c:  Regenerated.
2260         * generated/reshape_c16.c:  Regenerated.
2262 2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
2264         PR bootstrap/35457
2265         * aclocal.m4: Regenerate.
2266         * configure: Regenerate.
2268 2008-04-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
2270         PR libfortran/32972
2271         * intrinsics/spread_generic.c (spread):  Use spread_i2()
2272         for GFC_DTYPE_DERIVED_2 (fix typo from previous commit).
2274 2008-04-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
2275         Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2277         PR libfortran/32972
2278         PR libfortran/32512
2279         configure.ac:  Add test for uintptr_t.
2280         configure:  Regenerated.
2281         config.h.in:  Regenerated.
2282         * libgfortran.h: GFC_DTYPE_DERIVED_1:  New macro.
2283         GFC_DTYPE_DERIVED_2:  New macro.
2284         GFC_DTYPE_DERIVED_4:  New macro.
2285         GFC_DTYPE_DERIVED_8:  New macro.
2286         GFC_DTYPE_DERIVED_16:  New macro.
2287         GFC_UNALIGNED_2:  New macro.
2288         GFC_UNALIGNED_4:  New macro.
2289         GFC_UNALIGNED_8:  New macro.
2290         GFC_UNALIGNED_16:  New macro.
2291         intptr_t:  Define if we don't have it.
2292         uintptr_t:  Likewise.
2293         * runtime/backtrace.c (show_backtrace):  Use intptr_t.
2294         * intrinsics/signal.c (signal_sub):  Likewise.
2295         (signal_sub_int):  Likewise.
2296         (alarm_sub_int_i4):  Likewise.
2297         * intrinsics/spread_generic.c (spread):  Use the integer
2298         routines for handling derived types of sizes 1, 2, 4, 8 and 16
2299         if the alignment of all pointers is correct.
2300         (spread_scalar):  Likewise.
2301         * intrinsics/pack_generic.c (pack):  Likewise.
2302         Use GFD_DTYPE_TYPE_SIZE to avoid nested switch statements.
2303         * intrinsics/unpack_generic.c (unpack1):  Likewise.
2304         (unpack0):  Likewise.
2305         * runtime/in_pack_generic.c (internal_pack):  Likewise.
2306         * runtime/in_unpack_generic.c (internal_unpack):  Likewise.
2308 2008-04-09  Jakub Jelinek  <jakub@redhat.com>
2310         * io/list_read.c (snprintf): Define if HAVE_SNPRINTF isn't defined.
2311         (nml_read_obj): Add nml_err_msg_size argument.  Pass it down to
2312         recursive call.  Use snprintf instead of sprintf when %s nl->var_name
2313         is used.
2314         (nml_get_obj_data): Add nml_err_msg_size argument.  Pass it down to
2315         nml_read_obj call.  Use snprintf instead of sprintf when %s
2316         nl->var_name is used.  Pass nml_err_msg to nml_parse_qualifier instead
2317         of parse_err_msg array.  Append " for namelist variable " and
2318         nl->var_name to it.
2319         (namelist_read): Increase size of nml_err_msg array to 200.  Pass
2320         sizeof nml_err_msg as extra argument to nml_get_obj_data.
2322 2008-04-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2324         PR fortran/25829 28655
2325         * io/open.c (edit_modes): Set flags.async. (new_unit) Set flags.async
2326         and flags.status. (st_open): Initialize flags.async.
2327         * io/list_read.c (read_charactor): Use delim_status instead of
2328         flags.delim.
2329         * io/read.c (read_x): Use pad_status instead of flags.pad.
2330         * io/inquire.c (inquire_via_unit): Add new checks.
2331         (inquire_via_filename): Likewise.
2332         * io/io.h (st_parameter_inquire): Add new flags.
2333         (st_parameter_dt): Likewise.
2334         * io/unit.c (get_internal_unit): Set flags.async. (init_units): Set
2335         flags.async.
2336         * io/transfer.c: Add delim and pad option arrays. (read_sf): Use
2337         pad_status instead of flags.pad. (read_block): Likewise.
2338         (data_transfer_init): Set flags.async and add checks.
2339         * io/write.c (write_character): Use delim_status.
2340         (list_formatted_write_scalar): Likewise. (nml_write_obj): Likewise.
2341         (namelist_write): Likewise.
2343 2008-04-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2345         PR fortran/25829 28655
2346         * gfortran.map: Add new symbol, _gfortran_st_wait.
2347         * libgfortran.h (st_paramter_common): Add new I/O parameters.
2348         * open.c (st_option decimal_opt[], st_option encoding_opt[],
2349         st_option round_opt[], st_option sign_opt[], st_option async_opt[]): New
2350         parameter option arrays. (edit_modes): Add checks for new parameters.
2351         (new_unit): Likewise. (st_open): Likewise.
2352         * list_read.c (CASE_SEPERATORS): Add ';' as a valid separator.
2353         (eat_separator): Handle deimal comma. (read_logical): Fix whitespace.
2354         (parse_real): Handle decimal comma. (read_real): Handle decimal comma.
2355         * read.c (read_a): Use decimal status flag to allow comma in place of a
2356         decimal point. (read_f): Allow comma as acceptable character in float.
2357         According to decimal flag, substitute a period for a comma.
2358         (read_x): If decimal status flag is comma, disable the read_comma flag,
2359         not allowing comma as a delimiter, an extension otherwise.
2360         * io.h: (unit_decimal, unit_encoding, unit_round, unit_sign,
2361         unit_async): New enumerators. Add all new I/O parameters.
2362         * unix.c (unix_stream, int_stream): Add io_mode asychronous I/O control.
2363         (move_pos_offset, fd_alloc_w_at): Fix some whitespace.
2364         (fd_sfree): Use new enumerator. (fd_read): Likewise.
2365         (fd_write): Likewise. (fd_close): Fix whitespace.
2366         (fd_open): Use new enumertors. (tempfile, regular_file,
2367         open_external): Fix whitespace. (output_stream, error_stream): Set
2368         method. (stream_offset): Fix whitespace.
2369         * transfer.c: (st_option decimal_opt[], sign_opt[], blank_opt[]): New
2370         option arrays.  (formatted_transfer_scalar): Set sf_read_comma flag
2371         based on new decimal_status flag. (data_transfer_init): Initialize new
2372         parameters. Add checks for decimal, sign, and blank. (st_wait): New stub.
2373         * format.c: (format_lex): Add format specifiers DP, DC, and D.
2374         (parse_format_list): Parse the new specifiers.
2375         * write.c (write_decimal): Use new sign enumerators to set the sign.
2376         (write_complex): Handle decimal comma and semi-colon separator.
2377         (nml_write_obj): Likewise.
2378         * write_float.def: Revise sign enumerators. (calculate_sign): Use new
2379         sign enumerators. (output_float): Likewise. Use new decimal_status flag
2380         to set the decimal character to a point or a comma.
2381         
2382 2008-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
2384         PR libfortran/32972
2385         PR libfortran/32512
2386         * Makefile.am:  Add new variable, i_spread_c, containing
2387         pack_i1.c, pack_i2.c, pack_i4.c, pack_i8.c, spread_i16.c,
2388         spread_r4.c, spread_r8.c, spread_r10.c, spread_r16.c,
2389         spread_c4.c, spread_c8.c, spread_c10.c, spread_c16.c.
2390         * Makefile.in:  Regenerated.
2391         * libgfortran.h:  Add prototypes for spread_i1, spread_i2,
2392         spread_i4, spread_i8, spread_i16, spread_r4, spread_r8,
2393         spread_c4, spread_c8, spread_c10, spread_c16,
2394         spread_scalar_i1, spread_scalar_i2, spread_scalar_i4,
2395         spread_scalar_i8, spread_scalar_i16, spread_scalar_r4
2396         spread_scalar_r8, spread_scalar_c4, spread_scalar_c8,
2397         spread_scalar_c10 and spread_scalar_c16.
2398         Add macros to isolate both type and size information
2399         from array descriptors with a single mask operation.
2400         * intrinsics/spread_generic.c:  Add calls to specific
2401         spread functions.
2402         * m4/spread.m4:  New file.
2403         * generated/spread_i1.c:  New file.
2404         * generated/spread_i2.c:  New file.
2405         * generated/spread_i4.c:  New file.
2406         * generated/spread_i8.c:  New file.
2407         * generated/spread_i16.c:  New file.
2408         * generated/spread_r4.c:  New file.
2409         * generated/spread_r8.c:  New file.
2410         * generated/spread_r10.c:  New file.
2411         * generated/spread_r16.c:  New file.
2412         * generated/spread_c4.c:  New file.
2413         * generated/spread_c8.c:  New file.
2414         * generated/spread_c10.c:  New file.
2415         * generated/spread_c16.c:  New file.
2417 2008-03-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2419         PR libfortran/35699
2420         * io/transfer.c (write_buf):  Don't pad the record, just return if the
2421         data is NULL.  (next_record_w): If there are bytes left in the record
2422         for unformatted direct I/O, pad out the record with zero bytes.
2424 2008-03-28  Tobias Burnus  <burnus@net-b.de>
2426         PR fortran/35721
2427         * intrinsics/associated.c (associated): Ignore different
2428         stride of pointer vs. target if only one element is referred.
2430 2008-03-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2432         * io/unix.c (fd_close):  Do not close STDIN.
2434 2007-03-23  Thomas Koenig  <tkoenig@gcc.gnu.org
2436         PR libfortran/32972
2437         * Makefile.am:  Add new variable, i_unpack_c, containing
2438         unpack_i1.c, unpack_i2.c, unpack_i4.c, unpack_i8.c,
2439         unpack_i16.c, unpack_r4.c, unpack_r8.c, unpack_r10.c,
2440         unpack_r16.c, unpack_c4.c, unpack_c8.c, unpack_c10.c
2441         and unpack_c16.c
2442         Add i_unpack_c to gfor_built_src.
2443         Add rule to generate i_unpack_c from m4/unpack.m4.
2444         * Makefile.in:  Regenerated.
2445         * libgfortran.h: Add prototypes for unpack0_i1, unpack0_i2,
2446         unpack0_i4, unpack0_i8, unpack0_i16, unpack0_r4, unpack0_r8,
2447         unpack0_r10, unpack0_r16, unpack0_c4, unpack0_c8, unpack0_c10,
2448         unpack0_c16, unpack1_i1, unpack1_i2, unpack1_i4, unpack1_i8,
2449         unpack1_i16, unpack1_r4, unpack1_r8, unpack1_r10, unpack1_r16,
2450         unpack1_c4, unpack1_c8, unpack1_c10 and unpack1_c16.
2451         * intrinsics/pack_generic.c (unpack1):  Add calls to specific
2452         unpack1 functions.
2453         (unpack0):  Add calls to specific unpack0 functions.
2454         * m4/unpack.m4:  New file.
2455         * generated/unpack_i1.c:  New file.
2456         * generated/unpack_i2.c:  New file.
2457         * generated/unpack_i4.c:  New file.
2458         * generated/unpack_i8.c:  New file.
2459         * generated/unpack_i16.c:  New file.
2460         * generated/unpack_r4.c:  New file.
2461         * generated/unpack_r8.c:  New file.
2462         * generated/unpack_r10.c:  New file.
2463         * generated/unpack_r16.c:  New file.
2464         * generated/unpack_c4.c:  New file.
2465         * generated/unpack_c8.c:  New file.
2466         * generated/unpack_c10.c:  New file.
2467         * generated/unpack_c16.c:  New file.
2469 2008-03-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2471         PR libfortran/35632
2472         * io/transfer.c (data_transfer_init):  Fix whitespace.
2473         (next_record_w): Truncate the file only if the stream
2474         position is short of the file end.
2476 2008-03-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2478         * intrinsics/pack_generic.c:  Fix typo.
2480 2008-03-21  Janne Blomqvist  <jb@gcc.gnu.org>
2482         * gfortran.map: Move erfc_scaled symbols to new symbol node
2483         GFORTRAN_1.1, thereby fixing ABI bug introduced in r132846.
2485 2008-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
2487         PR libfortran/32972
2488         * runtime/in_pack_generic.c (internal_pack):  Call correct
2489         function, pack_i16, for GFC_INTEGER_16.
2491 2008-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
2493         PR libfortran/32972
2494         * Makefile.am:  Add new variable, i_pack_c, containing
2495         pack_i1.c, pack_i2.c, pack_i4.c, pack_i8.c, pack_i16.c,
2496         pack_r4.c, pack_r8.c, pack_r10.c, pack_r16.c, pack_c4.c,
2497         pack_c8.c, pack_c10.c, pack_c16.c.
2498         Add m4/pack.m4 to m4_files.
2499         Add i_pack_c to gfor_built_src.
2500         Add rule to generate i_pack_c from m4/pack.m4.
2501         * Makefile.in:  Regenerated.
2502         * libgfortran.h: Add prototypes for pack_i1, pack_i2, pack_i4,
2503         pack_i8, pack_i16, pack_r4, pack_r8, pack_c4, pack_c8,
2504         pack_c10, pack_c16.
2505         * intrinsics/pack_generic.c:  Add calls to specific
2506         pack functions.
2507         * m4/pack.m4:  New file.
2508         * generated/pack_i1.c:  New file.
2509         * generated/pack_i2.c:  New file.
2510         * generated/pack_i4.c:  New file.
2511         * generated/pack_i8.c:  New file.
2512         * generated/pack_i16.c:  New file.
2513         * generated/pack_r4.c:  New file.
2514         * generated/pack_r8.c:  New file.
2515         * generated/pack_r10.c:  New file.
2516         * generated/pack_r16.c:  New file.
2517         * generated/pack_c4.c:  New file.
2518         * generated/pack_c8.c:  New file.
2519         * generated/pack_c10.c:  New file.
2520         * generated/pack_c16.c:  New file.
2522 2008-03-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2524         PR libfortran/35627
2525         * io/list_read.c (free_line): Clear the line buffer enable flag and
2526         reset the index into line_buffer, aka item_count.
2527         (next_char): Cleanup whitespace.
2528         (read_logical): Use unget_char to assure that the first character of the
2529         bad logical is saved in case it is part of an object name. Remove the
2530         clearing of index and flag that is now in free_line.
2531         (read_real): Likewise.
2533 2008-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
2535         PR libfortran/32972
2536         * runtime/in_pack_generic.c (internal_pack):  Fix typo in
2537         last commit.
2539 2008-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
2541         PR libfortran/32972
2542         * Makefile.am (in_pack_c): Add in_pack_i1.c, in_pack_i2.c,
2543         in_pack_r4.c, in_pack_r8.c, in_pack_r10.c and in_pack_r16.c.
2544         (in_unpack_c): Add in_unpack_i1.c, in_unpack_i2.c,
2545         in_unpack_r4.c, in_unpack_r8.c, in_unpack_r10.c and
2546         in_unpack_r16.c.
2547         * Makefile.in: Regenerate.
2548         * libgfortran.h:  Add prototypes for internal_pack_1,
2549         internal_pack_2, internal_pack_16, internal_pack_r4,
2550         internal_pack_r8, internal_pack_r10, internal_pack_r16,
2551         internal_pack_c10 and internal_pack_c16.  Add prototypes for
2552         internal_unpack_1, internal_unpack_2, internal_unpack_16,
2553         internal_unpack_r4, internal_unpack_r8, internal_unpack_r10,
2554         internal_unpack_r16, internal_unpack_c10 and
2555         internal_unpack_c16.
2556         * runtime/in_pack_generic.c (internal_pack): Use sizeof instead
2557         of hardwired sizes.
2558         Add calls to internal_pack_1, internal_pack_2,
2559         internal_pack_16, internal_pack_r4, internal_pack_r8,
2560         internal_pack_r10, internal_pack_r16, internal_pack_c10 and
2561         internal_pack_c16.
2562         * runtime/in_unpack_generic.c (internal_unpack):  Use sizeof
2563         instead of hardwired sizes.
2564         Add calls to internal_unpack_1, internal_unpack_2,
2565         internal_unpack_16, internal_unpack_r4, internal_unpack_r8,
2566         internal_unpack_r10, internal_unpack_r16, internal_unpack_c10
2567         and internal_unpack_c16.
2568         * generated/in_pack_r4.c:  New file.
2569         * generated/in_pack_i2.c:  New file.
2570         * generated/in_unpack_i1.c:  New file.
2571         * generated/in_pack_r10.c:  New file.
2572         * generated/in_unpack_r4.c:  New file.
2573         * generated/in_unpack_i2.c:  New file.
2574         * generated/in_unpack_r16.c:  New file.
2575         * generated/in_pack_r8.c:  New file.
2576         * generated/in_unpack_r10.c:  New file.
2577         * generated/in_unpack_r8.c:  New file.
2578         * generated/in_pack_r16.c:  New file.
2579         * generated/in_pack_i1.c:  New file.
2581 2008-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2583         PR libfortran/35617
2584         * io/list_read.c (eat_separator): If next character after eatline is '!'
2585         then eatline again. 
2587 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2589         * aclocal.m4: Regenerate.
2590         * configure: Likewise.
2591         * Makefile.in: Likewise.
2593 2008-03-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2595         PR libfortran/35524
2596         * intrinsics/erfc_scaled_inc.c: Only define the long double
2597         variant of erfc_scaled if expl is available.
2599 2008-03-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2601         PR libfortran/32812
2602         * intrinsics/random.c (scramble_seed, unscramble_seed): New
2603         functions.
2604         (random_seed_i4): Scramble the seed the user gives us before
2605         storing it, and unscramble it when we return it back later.
2607 2008-03-05  Hans-Peter Nilsson  <hp@axis.com>
2609         PR libfortran/35293
2610         * io/unix.c (fd_truncate): Fold s->special_file case into
2611         success case of ftruncate/chsize call instead of the failure case.
2612         Make failure case actually return failure.  Properly update stream
2613         pointers on failure.  Call runtime_error for targets without
2614         neither ftruncate nor chsize where such a call would be needed.
2616 2008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2618         PR fortran/33197
2619         * intrinsics/erfc_scaled_inc.c: New file.
2620         * intrinsics/erfc_scaled.c: New file.
2621         * gfortran.map (GFORTRAN_1.0): Add _gfortran_erfc_scaled_r*.
2622         * Makefile.am: Add intrinsics/erfc_scaled.c.
2623         * config.h.in: Regenerate.
2624         * configure: Regenerate.
2625         * Makefile.in: Regenerate.
2627 2008-03-01  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2629         PR libfortran/35355
2630         * intrinsics/time_1.h (__time_1): Fix calculation of user_usec
2631         for mingw.
2633 2008-03-01  Janne Blomqvist  <jb@gcc.gnu.org>
2635         PR libfortran/35063
2636         * io/unit.c (destroy_unit_mutex): Call __gthread_mutex_destroy
2637         instead of macro kludge.
2638         
2639 2008-02-25  Janne Blomqvist  <jb@gcc.gnu.org>
2641         PR fortran/29549
2642         * Makefile.am: Add -fcx-fortran-rules to AM_CFLAGS for all of
2643         libgfortran.
2644         * Makefile.in: Regenerated.
2646 2008-02-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2648         * m4/ifunction_logical.m4: Add casts to get rid of warnings.
2649         * generated/all_l1.c: Regenerate.
2650         * generated/all_l2.c: Regenerate.
2651         * generated/all_l4.c: Regenerate.
2652         * generated/all_l8.c: Regenerate.
2653         * generated/all_l16.c: Regenerate.
2654         * generated/any_l1.c: Regenerate.
2655         * generated/any_l2.c: Regenerate.
2656         * generated/any_l4.c: Regenerate.
2657         * generated/any_l8.c: Regenerate.
2658         * generated/any_l16.c: Regenerate.
2659         * generated/count_1_l.c: Regenerate.
2660         * generated/count_2_l.c: Regenerate.
2661         * generated/count_4_l.c: Regenerate.
2662         * generated/count_8_l.c: Regenerate.
2663         * generated/count_16_l.c: Regenerate.
2665 2008-02-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2667         PR libfortran/32841
2668         * acinclude.m4: Don't use HAVE_MATH_H.
2669         * configure: Regenerate.
2671 2008-02-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2673         PR libfortran/35132
2674         * io/transfer.c (next_record_w): Truncate after the last record for
2675         STREAM I/O.
2677         PR libfortran/34954
2678         * io/transfer.c (data_transfer_init): Initialize dtp->rec if writing.
2680         PR libfortran/34974
2681         * io/transfer.c (formatted_transfer_scalar): Flush the buffer if skips
2682         is less than zero. (next_record_w): Use sseek to position the file to
2683         the max position reached.
2685 2008-02-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2687         PR libfortran/35036
2688         * write_float.def (output_float):  Add error checks for zero digits
2689         after decimal point in E and D format specifiers.
2690         
2691 2008-02-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2693         PR libfortran/35063
2694         * io/unit.c (destroy_unit_mutex): New function that uses
2695         __gthread_mutex_destroy_function or pthread_mutex_destroy after
2696         unlocking and before free_mem for final closure of I/O unit.
2697         (delete_root): Use new function.
2698         (free_internal_unit): Likewise.
2699         (close_unit_1): Likewise.
2701 2008-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
2703         PR libfortran/35001
2704         * m4/shape.m4:  Return 0 for extents <= 0.
2705         * generated/shape_i4.c:  Regenerated.
2706         * generated/shape_i8.c:  Regenerated.
2707         * generated/shape_i16.c:  Regenerated.
2709 2008-01-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
2711         PR libfortran/34980
2712         * m4/shape.m4:  If return array is empty, return early.
2713         * generated/shape_i4.c:  Regenerated.
2714         * generated/shape_i8.c:  Regenerated.
2715         * generated/shape_i16.c:  Regenerated.
2717 2008-01-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
2719         PR libfofortran/34887
2720         * io/transfer.c (next_record_w): Always move to the farthest
2721         position when completing the record (also when we are
2722         processing a slash edit descriptor).
2724 2008-01-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2726         PR libfortran/34876
2727         * io/transfer.c (write_buf): Handle case of zero sized array.
2728         (transfer_array): Set data pointer to NULL and size to zero.  Then
2729         make a data transfer and return.
2730         
2731 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
2733         * configure: Regenerate.
2735 2008-01-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2737         PR libfortran/34795
2738         * io/inquire.c (inquire_via_unit): If a unit is opened, return values
2739         according to the open action for DIRECT, FORMATTED, and UNFORMATTED.
2740         (inquire_via_filename): Return "UNKNOWN" for SEQUENTIAL, DIRECT,
2741         FORAMATTED, and UNFORMATTED inquiries.
2742         * io/unix.c (inquire_sequential): Return "UNKNOWN" when appropriate
2743         for files that are not opened. (inquire_direct): Same.
2744         (inquire_formatted): Same.
2745         
2746 2008-01-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2748         PR libfortran/34782
2749         * io/transfer.c (formatted_transfer_scalar): Set max_pos to the greater
2750         of the current max_pos or the newly calculated position.
2752 2008-01-18  Tobias Burnus  <burnus@net-b.de>
2754         * io/write.c (write_real): Increase default precision
2755         for REAL(16) by one.
2757 2008-01-16  Steven Bosscher  <steven@gcc.gnu.org>
2759         PR libfortran/34669
2760         * mk-kinds-h.sh: Compile with -S to avoid calling the assembler,
2761         to avoid piping the -fdump-parse-tree output to the assembler
2762         when configuring with -pipe.
2763         * mk-sik-inc.sh: Likewise.
2764         * mk-srk-inc.sh: Likewise.
2766 2008-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
2768         PR libfortran/34671
2769         * gfortran.am: Added _gfortran_all_l1, _gfortran_all_l2,
2770         _gfortran_any_l1, _gfortran_any_l2, -28,15 _gfortran_count_1_l,
2771         _gfortran_count_16_l, _gfortran_count_2_l, _gfortran_count_4_l and
2772         _gfortran_count_8_l Removed _gfortran_count_16_l16,
2773         _gfortran_count_16_l4, _gfortran_count_16_l8,
2774         _gfortran_count_4_l16, _gfortran_count_4_l4, _gfortran_count_4_l8,
2775         _gfortran_count_8_l16, _gfortran_count_8_l4 and
2776         _gfortran_count_8_l8.
2777         * Makefile.am: Added generated/any_l1.c and generated/any_l2.c to
2778         i_any_c.  Added generated/all_l1. and generated/all_l2.c to
2779         i_all_c.  Removed generated/count_4_l4.c, generated/count_8_l4.c,
2780         generated/count_16_l4.c, generated/count_4_l8.c,
2781         generated/count_8_l8.c, generated/count_16_l8.c,
2782         generated/count_4_l16.c, generated/count_8_l16.c, and
2783         generated/count_16_l16.c from i_count_c.  Added count_1_l.c,
2784         count_2_l.c, count_4_l.c, count_8_l.c and count_16_l.c to
2785         i_count_c.  I_M4_DEPS2 depends on ifunction_logical.m4, for
2786         any of the files generated from all.m4, any.m4 and count.m4.
2787         * Makefile.in:  Regenerated.
2788         * m4/ifunction_logical.m4:  New file.  Use
2789         GFC_LOGICAL_1 pointer for access to source arrays.
2790         * m4/any.m4:  Include ifunction_logical.m4 instead of
2791         ifunction.m4.  Don't check atype_name.
2792         * m4/all.m4:  Likewise.
2793         * m4/count.m4:  Likewise.
2794         * generated/any_l1.c:  New file.
2795         * generated/any_l2.c:  New file.
2796         * generated/all_l1.c:  New file.
2797         * generated/count_1_l.c:  New file.
2798         * generated/count_2_l.c:  New file.
2799         * generated/count_4_l.c:  New file.
2800         * generated/count_8_l.c:  New file.
2801         * generated/count_16_l.c:  New file.
2802         * generated/any_l4.c:  Regenerated.
2803         * generated/any_l8.c:  Regenerated.
2804         * generated/any_l16.c:  Regenerated.
2805         * generated/all_l4.c: Regenerated.
2806         * generated/all_l8.c: Regenerated.
2807         * generated/all_l16.c: Regenerated.
2808         * generated/count_4_l4.c:  Removed.
2809         * generated/count_4_l8.c:  Removed.
2810         * generated/count_4_l16.c:  Removed.
2811         * generated/count_8_l4.c:  Removed.
2812         * generated/count_8_l8.c:  Removed.
2813         * generated/count_8_l16.c:  Removed.
2814         * generated/count_16_l4.c:  Removed.
2815         * generated/count_16_l8.c:  Removed.
2816         * generated/count_16_l16.c:  Removed.
2818 2008-01-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
2820         PR libfortran/34746
2821         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Use %ld
2822         in printf format for all bounds checking; cast all
2823         integer-like arguments to runtime_error() to long int.
2824         (`m'name`'rtype_qual`_'atype_code):  Likewise.
2825         (`s'name`'rtype_qual`_'atype_code):  Likewise.
2826         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Likewise.
2827         (`m'name`'rtype_qual`_'atype_code):  Likewise.
2828         (`s'name`'rtype_qual`_'atype_code):  Likewise.
2829         * generated/all_l16.c: Regenerated.
2830         * generated/all_l4.c: Regenerated.
2831         * generated/all_l8.c: Regenerated.
2832         * generated/any_l16.c: Regenerated.
2833         * generated/any_l4.c: Regenerated.
2834         * generated/any_l8.c: Regenerated.
2835         * generated/count_16_l16.c: Regenerated.
2836         * generated/count_16_l4.c: Regenerated.
2837         * generated/count_16_l8.c: Regenerated.
2838         * generated/count_4_l16.c: Regenerated.
2839         * generated/count_4_l4.c: Regenerated.
2840         * generated/count_4_l8.c: Regenerated.
2841         * generated/count_8_l16.c: Regenerated.
2842         * generated/count_8_l4.c: Regenerated.
2843         * generated/count_8_l8.c: Regenerated.
2844         * generated/maxloc0_16_i1.c: Regenerated.
2845         * generated/maxloc0_16_i16.c: Regenerated.
2846         * generated/maxloc0_16_i2.c: Regenerated.
2847         * generated/maxloc0_16_i4.c: Regenerated.
2848         * generated/maxloc0_16_i8.c: Regenerated.
2849         * generated/maxloc0_16_r10.c: Regenerated.
2850         * generated/maxloc0_16_r16.c: Regenerated.
2851         * generated/maxloc0_16_r4.c: Regenerated.
2852         * generated/maxloc0_16_r8.c: Regenerated.
2853         * generated/maxloc0_4_i1.c: Regenerated.
2854         * generated/maxloc0_4_i16.c: Regenerated.
2855         * generated/maxloc0_4_i2.c: Regenerated.
2856         * generated/maxloc0_4_i4.c: Regenerated.
2857         * generated/maxloc0_4_i8.c: Regenerated.
2858         * generated/maxloc0_4_r10.c: Regenerated.
2859         * generated/maxloc0_4_r16.c: Regenerated.
2860         * generated/maxloc0_4_r4.c: Regenerated.
2861         * generated/maxloc0_4_r8.c: Regenerated.
2862         * generated/maxloc0_8_i1.c: Regenerated.
2863         * generated/maxloc0_8_i16.c: Regenerated.
2864         * generated/maxloc0_8_i2.c: Regenerated.
2865         * generated/maxloc0_8_i4.c: Regenerated.
2866         * generated/maxloc0_8_i8.c: Regenerated.
2867         * generated/maxloc0_8_r10.c: Regenerated.
2868         * generated/maxloc0_8_r16.c: Regenerated.
2869         * generated/maxloc0_8_r4.c: Regenerated.
2870         * generated/maxloc0_8_r8.c: Regenerated.
2871         * generated/maxloc1_16_i1.c: Regenerated.
2872         * generated/maxloc1_16_i16.c: Regenerated.
2873         * generated/maxloc1_16_i2.c: Regenerated.
2874         * generated/maxloc1_16_i4.c: Regenerated.
2875         * generated/maxloc1_16_i8.c: Regenerated.
2876         * generated/maxloc1_16_r10.c: Regenerated.
2877         * generated/maxloc1_16_r16.c: Regenerated.
2878         * generated/maxloc1_16_r4.c: Regenerated.
2879         * generated/maxloc1_16_r8.c: Regenerated.
2880         * generated/maxloc1_4_i1.c: Regenerated.
2881         * generated/maxloc1_4_i16.c: Regenerated.
2882         * generated/maxloc1_4_i2.c: Regenerated.
2883         * generated/maxloc1_4_i4.c: Regenerated.
2884         * generated/maxloc1_4_i8.c: Regenerated.
2885         * generated/maxloc1_4_r10.c: Regenerated.
2886         * generated/maxloc1_4_r16.c: Regenerated.
2887         * generated/maxloc1_4_r4.c: Regenerated.
2888         * generated/maxloc1_4_r8.c: Regenerated.
2889         * generated/maxloc1_8_i1.c: Regenerated.
2890         * generated/maxloc1_8_i16.c: Regenerated.
2891         * generated/maxloc1_8_i2.c: Regenerated.
2892         * generated/maxloc1_8_i4.c: Regenerated.
2893         * generated/maxloc1_8_i8.c: Regenerated.
2894         * generated/maxloc1_8_r10.c: Regenerated.
2895         * generated/maxloc1_8_r16.c: Regenerated.
2896         * generated/maxloc1_8_r4.c: Regenerated.
2897         * generated/maxloc1_8_r8.c: Regenerated.
2898         * generated/maxval_i1.c: Regenerated.
2899         * generated/maxval_i16.c: Regenerated.
2900         * generated/maxval_i2.c: Regenerated.
2901         * generated/maxval_i4.c: Regenerated.
2902         * generated/maxval_i8.c: Regenerated.
2903         * generated/maxval_r10.c: Regenerated.
2904         * generated/maxval_r16.c: Regenerated.
2905         * generated/maxval_r4.c: Regenerated.
2906         * generated/maxval_r8.c: Regenerated.
2907         * generated/minloc0_16_i1.c: Regenerated.
2908         * generated/minloc0_16_i16.c: Regenerated.
2909         * generated/minloc0_16_i2.c: Regenerated.
2910         * generated/minloc0_16_i4.c: Regenerated.
2911         * generated/minloc0_16_i8.c: Regenerated.
2912         * generated/minloc0_16_r10.c: Regenerated.
2913         * generated/minloc0_16_r16.c: Regenerated.
2914         * generated/minloc0_16_r4.c: Regenerated.
2915         * generated/minloc0_16_r8.c: Regenerated.
2916         * generated/minloc0_4_i1.c: Regenerated.
2917         * generated/minloc0_4_i16.c: Regenerated.
2918         * generated/minloc0_4_i2.c: Regenerated.
2919         * generated/minloc0_4_i4.c: Regenerated.
2920         * generated/minloc0_4_i8.c: Regenerated.
2921         * generated/minloc0_4_r10.c: Regenerated.
2922         * generated/minloc0_4_r16.c: Regenerated.
2923         * generated/minloc0_4_r4.c: Regenerated.
2924         * generated/minloc0_4_r8.c: Regenerated.
2925         * generated/minloc0_8_i1.c: Regenerated.
2926         * generated/minloc0_8_i16.c: Regenerated.
2927         * generated/minloc0_8_i2.c: Regenerated.
2928         * generated/minloc0_8_i4.c: Regenerated.
2929         * generated/minloc0_8_i8.c: Regenerated.
2930         * generated/minloc0_8_r10.c: Regenerated.
2931         * generated/minloc0_8_r16.c: Regenerated.
2932         * generated/minloc0_8_r4.c: Regenerated.
2933         * generated/minloc0_8_r8.c: Regenerated.
2934         * generated/minloc1_16_i1.c: Regenerated.
2935         * generated/minloc1_16_i16.c: Regenerated.
2936         * generated/minloc1_16_i2.c: Regenerated.
2937         * generated/minloc1_16_i4.c: Regenerated.
2938         * generated/minloc1_16_i8.c: Regenerated.
2939         * generated/minloc1_16_r10.c: Regenerated.
2940         * generated/minloc1_16_r16.c: Regenerated.
2941         * generated/minloc1_16_r4.c: Regenerated.
2942         * generated/minloc1_16_r8.c: Regenerated.
2943         * generated/minloc1_4_i1.c: Regenerated.
2944         * generated/minloc1_4_i16.c: Regenerated.
2945         * generated/minloc1_4_i2.c: Regenerated.
2946         * generated/minloc1_4_i4.c: Regenerated.
2947         * generated/minloc1_4_i8.c: Regenerated.
2948         * generated/minloc1_4_r10.c: Regenerated.
2949         * generated/minloc1_4_r16.c: Regenerated.
2950         * generated/minloc1_4_r4.c: Regenerated.
2951         * generated/minloc1_4_r8.c: Regenerated.
2952         * generated/minloc1_8_i1.c: Regenerated.
2953         * generated/minloc1_8_i16.c: Regenerated.
2954         * generated/minloc1_8_i2.c: Regenerated.
2955         * generated/minloc1_8_i4.c: Regenerated.
2956         * generated/minloc1_8_i8.c: Regenerated.
2957         * generated/minloc1_8_r10.c: Regenerated.
2958         * generated/minloc1_8_r16.c: Regenerated.
2959         * generated/minloc1_8_r4.c: Regenerated.
2960         * generated/minloc1_8_r8.c: Regenerated.
2961         * generated/minval_i1.c: Regenerated.
2962         * generated/minval_i16.c: Regenerated.
2963         * generated/minval_i2.c: Regenerated.
2964         * generated/minval_i4.c: Regenerated.
2965         * generated/minval_i8.c: Regenerated.
2966         * generated/minval_r10.c: Regenerated.
2967         * generated/minval_r16.c: Regenerated.
2968         * generated/minval_r4.c: Regenerated.
2969         * generated/minval_r8.c: Regenerated.
2970         * generated/product_c10.c: Regenerated.
2971         * generated/product_c16.c: Regenerated.
2972         * generated/product_c4.c: Regenerated.
2973         * generated/product_c8.c: Regenerated.
2974         * generated/product_i1.c: Regenerated.
2975         * generated/product_i16.c: Regenerated.
2976         * generated/product_i2.c: Regenerated.
2977         * generated/product_i4.c: Regenerated.
2978         * generated/product_i8.c: Regenerated.
2979         * generated/product_r10.c: Regenerated.
2980         * generated/product_r16.c: Regenerated.
2981         * generated/product_r4.c: Regenerated.
2982         * generated/product_r8.c: Regenerated.
2983         * generated/sum_c10.c: Regenerated.
2984         * generated/sum_c16.c: Regenerated.
2985         * generated/sum_c4.c: Regenerated.
2986         * generated/sum_c8.c: Regenerated.
2987         * generated/sum_i1.c: Regenerated.
2988         * generated/sum_i16.c: Regenerated.
2989         * generated/sum_i2.c: Regenerated.
2990         * generated/sum_i4.c: Regenerated.
2991         * generated/sum_i8.c: Regenerated.
2992         * generated/sum_r10.c: Regenerated.
2993         * generated/sum_r16.c: Regenerated.
2994         * generated/sum_r4.c: Regenerated.
2995         * generated/sum_r8.c: Regenerated.
2997 2008-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
2999         PR libfortran/34670
3000         * m4/iparm.m4 (upcase):  New macro (copied from the m4 manual).
3001         (u_name):  New macro for the upper case name of the intrinsic.
3002         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Add
3003         bounds checking and rank check, depending on
3004         compile_options.bounds_check.
3005         (`m'name`'rtype_qual`_'atype_code):  Likewise.
3006         (`s'name`'rtype_qual`_'atype_code):  Likewise.
3007         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Add
3008         bounds checking and rank check, depending on
3009         compile_options.bounds_check.
3010         (`m'name`'rtype_qual`_'atype_code):  Likewise.
3011         (`s'name`'rtype_qual`_'atype_code):  Likewise.
3012         * generated/all_l16.c: Regenerated.
3013         * generated/all_l4.c: Regenerated.
3014         * generated/all_l8.c: Regenerated.
3015         * generated/any_l16.c: Regenerated.
3016         * generated/any_l4.c: Regenerated.
3017         * generated/any_l8.c: Regenerated.
3018         * generated/count_16_l16.c: Regenerated.
3019         * generated/count_16_l4.c: Regenerated.
3020         * generated/count_16_l8.c: Regenerated.
3021         * generated/count_4_l16.c: Regenerated.
3022         * generated/count_4_l4.c: Regenerated.
3023         * generated/count_4_l8.c: Regenerated.
3024         * generated/count_8_l16.c: Regenerated.
3025         * generated/count_8_l4.c: Regenerated.
3026         * generated/count_8_l8.c: Regenerated.
3027         * generated/maxloc0_16_i1.c: Regenerated.
3028         * generated/maxloc0_16_i16.c: Regenerated.
3029         * generated/maxloc0_16_i2.c: Regenerated.
3030         * generated/maxloc0_16_i4.c: Regenerated.
3031         * generated/maxloc0_16_i8.c: Regenerated.
3032         * generated/maxloc0_16_r10.c: Regenerated.
3033         * generated/maxloc0_16_r16.c: Regenerated.
3034         * generated/maxloc0_16_r4.c: Regenerated.
3035         * generated/maxloc0_16_r8.c: Regenerated.
3036         * generated/maxloc0_4_i1.c: Regenerated.
3037         * generated/maxloc0_4_i16.c: Regenerated.
3038         * generated/maxloc0_4_i2.c: Regenerated.
3039         * generated/maxloc0_4_i4.c: Regenerated.
3040         * generated/maxloc0_4_i8.c: Regenerated.
3041         * generated/maxloc0_4_r10.c: Regenerated.
3042         * generated/maxloc0_4_r16.c: Regenerated.
3043         * generated/maxloc0_4_r4.c: Regenerated.
3044         * generated/maxloc0_4_r8.c: Regenerated.
3045         * generated/maxloc0_8_i1.c: Regenerated.
3046         * generated/maxloc0_8_i16.c: Regenerated.
3047         * generated/maxloc0_8_i2.c: Regenerated.
3048         * generated/maxloc0_8_i4.c: Regenerated.
3049         * generated/maxloc0_8_i8.c: Regenerated.
3050         * generated/maxloc0_8_r10.c: Regenerated.
3051         * generated/maxloc0_8_r16.c: Regenerated.
3052         * generated/maxloc0_8_r4.c: Regenerated.
3053         * generated/maxloc0_8_r8.c: Regenerated.
3054         * generated/maxloc1_16_i1.c: Regenerated.
3055         * generated/maxloc1_16_i16.c: Regenerated.
3056         * generated/maxloc1_16_i2.c: Regenerated.
3057         * generated/maxloc1_16_i4.c: Regenerated.
3058         * generated/maxloc1_16_i8.c: Regenerated.
3059         * generated/maxloc1_16_r10.c: Regenerated.
3060         * generated/maxloc1_16_r16.c: Regenerated.
3061         * generated/maxloc1_16_r4.c: Regenerated.
3062         * generated/maxloc1_16_r8.c: Regenerated.
3063         * generated/maxloc1_4_i1.c: Regenerated.
3064         * generated/maxloc1_4_i16.c: Regenerated.
3065         * generated/maxloc1_4_i2.c: Regenerated.
3066         * generated/maxloc1_4_i4.c: Regenerated.
3067         * generated/maxloc1_4_i8.c: Regenerated.
3068         * generated/maxloc1_4_r10.c: Regenerated.
3069         * generated/maxloc1_4_r16.c: Regenerated.
3070         * generated/maxloc1_4_r4.c: Regenerated.
3071         * generated/maxloc1_4_r8.c: Regenerated.
3072         * generated/maxloc1_8_i1.c: Regenerated.
3073         * generated/maxloc1_8_i16.c: Regenerated.
3074         * generated/maxloc1_8_i2.c: Regenerated.
3075         * generated/maxloc1_8_i4.c: Regenerated.
3076         * generated/maxloc1_8_i8.c: Regenerated.
3077         * generated/maxloc1_8_r10.c: Regenerated.
3078         * generated/maxloc1_8_r16.c: Regenerated.
3079         * generated/maxloc1_8_r4.c: Regenerated.
3080         * generated/maxloc1_8_r8.c: Regenerated.
3081         * generated/maxval_i1.c: Regenerated.
3082         * generated/maxval_i16.c: Regenerated.
3083         * generated/maxval_i2.c: Regenerated.
3084         * generated/maxval_i4.c: Regenerated.
3085         * generated/maxval_i8.c: Regenerated.
3086         * generated/maxval_r10.c: Regenerated.
3087         * generated/maxval_r16.c: Regenerated.
3088         * generated/maxval_r4.c: Regenerated.
3089         * generated/maxval_r8.c: Regenerated.
3090         * generated/minloc0_16_i1.c: Regenerated.
3091         * generated/minloc0_16_i16.c: Regenerated.
3092         * generated/minloc0_16_i2.c: Regenerated.
3093         * generated/minloc0_16_i4.c: Regenerated.
3094         * generated/minloc0_16_i8.c: Regenerated.
3095         * generated/minloc0_16_r10.c: Regenerated.
3096         * generated/minloc0_16_r16.c: Regenerated.
3097         * generated/minloc0_16_r4.c: Regenerated.
3098         * generated/minloc0_16_r8.c: Regenerated.
3099         * generated/minloc0_4_i1.c: Regenerated.
3100         * generated/minloc0_4_i16.c: Regenerated.
3101         * generated/minloc0_4_i2.c: Regenerated.
3102         * generated/minloc0_4_i4.c: Regenerated.
3103         * generated/minloc0_4_i8.c: Regenerated.
3104         * generated/minloc0_4_r10.c: Regenerated.
3105         * generated/minloc0_4_r16.c: Regenerated.
3106         * generated/minloc0_4_r4.c: Regenerated.
3107         * generated/minloc0_4_r8.c: Regenerated.
3108         * generated/minloc0_8_i1.c: Regenerated.
3109         * generated/minloc0_8_i16.c: Regenerated.
3110         * generated/minloc0_8_i2.c: Regenerated.
3111         * generated/minloc0_8_i4.c: Regenerated.
3112         * generated/minloc0_8_i8.c: Regenerated.
3113         * generated/minloc0_8_r10.c: Regenerated.
3114         * generated/minloc0_8_r16.c: Regenerated.
3115         * generated/minloc0_8_r4.c: Regenerated.
3116         * generated/minloc0_8_r8.c: Regenerated.
3117         * generated/minloc1_16_i1.c: Regenerated.
3118         * generated/minloc1_16_i16.c: Regenerated.
3119         * generated/minloc1_16_i2.c: Regenerated.
3120         * generated/minloc1_16_i4.c: Regenerated.
3121         * generated/minloc1_16_i8.c: Regenerated.
3122         * generated/minloc1_16_r10.c: Regenerated.
3123         * generated/minloc1_16_r16.c: Regenerated.
3124         * generated/minloc1_16_r4.c: Regenerated.
3125         * generated/minloc1_16_r8.c: Regenerated.
3126         * generated/minloc1_4_i1.c: Regenerated.
3127         * generated/minloc1_4_i16.c: Regenerated.
3128         * generated/minloc1_4_i2.c: Regenerated.
3129         * generated/minloc1_4_i4.c: Regenerated.
3130         * generated/minloc1_4_i8.c: Regenerated.
3131         * generated/minloc1_4_r10.c: Regenerated.
3132         * generated/minloc1_4_r16.c: Regenerated.
3133         * generated/minloc1_4_r4.c: Regenerated.
3134         * generated/minloc1_4_r8.c: Regenerated.
3135         * generated/minloc1_8_i1.c: Regenerated.
3136         * generated/minloc1_8_i16.c: Regenerated.
3137         * generated/minloc1_8_i2.c: Regenerated.
3138         * generated/minloc1_8_i4.c: Regenerated.
3139         * generated/minloc1_8_i8.c: Regenerated.
3140         * generated/minloc1_8_r10.c: Regenerated.
3141         * generated/minloc1_8_r16.c: Regenerated.
3142         * generated/minloc1_8_r4.c: Regenerated.
3143         * generated/minloc1_8_r8.c: Regenerated.
3144         * generated/minval_i1.c: Regenerated.
3145         * generated/minval_i16.c: Regenerated.
3146         * generated/minval_i2.c: Regenerated.
3147         * generated/minval_i4.c: Regenerated.
3148         * generated/minval_i8.c: Regenerated.
3149         * generated/minval_r10.c: Regenerated.
3150         * generated/minval_r16.c: Regenerated.
3151         * generated/minval_r4.c: Regenerated.
3152         * generated/minval_r8.c: Regenerated.
3153         * generated/product_c10.c: Regenerated.
3154         * generated/product_c16.c: Regenerated.
3155         * generated/product_c4.c: Regenerated.
3156         * generated/product_c8.c: Regenerated.
3157         * generated/product_i1.c: Regenerated.
3158         * generated/product_i16.c: Regenerated.
3159         * generated/product_i2.c: Regenerated.
3160         * generated/product_i4.c: Regenerated.
3161         * generated/product_i8.c: Regenerated.
3162         * generated/product_r10.c: Regenerated.
3163         * generated/product_r16.c: Regenerated.
3164         * generated/product_r4.c: Regenerated.
3165         * generated/product_r8.c: Regenerated.
3166         * generated/sum_c10.c: Regenerated.
3167         * generated/sum_c16.c: Regenerated.
3168         * generated/sum_c4.c: Regenerated.
3169         * generated/sum_c8.c: Regenerated.
3170         * generated/sum_i1.c: Regenerated.
3171         * generated/sum_i16.c: Regenerated.
3172         * generated/sum_i2.c: Regenerated.
3173         * generated/sum_i4.c: Regenerated.
3174         * generated/sum_i8.c: Regenerated.
3175         * generated/sum_r10.c: Regenerated.
3176         * generated/sum_r16.c: Regenerated.
3177         * generated/sum_r4.c: Regenerated.
3178         * generated/sum_r8.c: Regenerated.
3180 2008-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
3182         PR libfortran/34676
3183         * io/list_read.c (next_char): Only save the EOF condition for later if
3184         advance="no".
3186 2008-01-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
3188         PR libfortran/34565
3189         * io/io.h:  Adjust protoypes for open_internal(),
3190         next_array_record() and init_loop_spec().
3191         * io/list_read.c (next_char):  Use argument "finished"
3192         of next_array_record to check for end on internal file.
3193         * io/unit.c:  Calculate the offset for an array
3194         internal file and supply this informatin to open_internal().
3195         * io/unix.c (open_internal):  Set the offset for the internal
3196         file on open.
3197         * io/transfer.c (init_loop_spec):  Calculate the starting
3198         record in case of negative strides.  Return size of 0 for
3199         an empty array.
3200         (next_array_record):  Use an extra flag to signal that the
3201         array is finished.
3202         (next_record_r):  Use the new flag to next_array_record().
3203         (next_record_w):  Likewise.