OSDN Git Service

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