OSDN Git Service

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