OSDN Git Service

* io/list_read.c (snprintf): Define if HAVE_SNPRINTF isn't defined.
[pf3gnuchains/gcc-fork.git] / libgfortran / ChangeLog
1 2008-04-09  Jakub Jelinek  <jakub@redhat.com>
2
3         * io/list_read.c (snprintf): Define if HAVE_SNPRINTF isn't defined.
4         (nml_read_obj): Add nml_err_msg_size argument.  Pass it down to
5         recursive call.  Use snprintf instead of sprintf when %s nl->var_name
6         is used.
7         (nml_get_obj_data): Add nml_err_msg_size argument.  Pass it down to
8         nml_read_obj call.  Use snprintf instead of sprintf when %s
9         nl->var_name is used.  Pass nml_err_msg to nml_parse_qualifier instead
10         of parse_err_msg array.  Append " for namelist variable " and
11         nl->var_name to it.
12         (namelist_read): Increase size of nml_err_msg array to 200.  Pass
13         sizeof nml_err_msg as extra argument to nml_get_obj_data.
14
15 2008-04-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
16
17         PR fortran/25829 28655
18         * io/open.c (edit_modes): Set flags.async. (new_unit) Set flags.async
19         and flags.status. (st_open): Initialize flags.async.
20         * io/list_read.c (read_charactor): Use delim_status instead of
21         flags.delim.
22         * io/read.c (read_x): Use pad_status instead of flags.pad.
23         * io/inquire.c (inquire_via_unit): Add new checks.
24         (inquire_via_filename): Likewise.
25         * io/io.h (st_parameter_inquire): Add new flags.
26         (st_parameter_dt): Likewise.
27         * io/unit.c (get_internal_unit): Set flags.async. (init_units): Set
28         flags.async.
29         * io/transfer.c: Add delim and pad option arrays. (read_sf): Use
30         pad_status instead of flags.pad. (read_block): Likewise.
31         (data_transfer_init): Set flags.async and add checks.
32         * io/write.c (write_character): Use delim_status.
33         (list_formatted_write_scalar): Likewise. (nml_write_obj): Likewise.
34         (namelist_write): Likewise.
35
36 2008-04-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
37
38         PR fortran/25829 28655
39         * gfortran.map: Add new symbol, _gfortran_st_wait.
40         * libgfortran.h (st_paramter_common): Add new I/O parameters.
41         * open.c (st_option decimal_opt[], st_option encoding_opt[],
42         st_option round_opt[], st_option sign_opt[], st_option async_opt[]): New
43         parameter option arrays. (edit_modes): Add checks for new parameters.
44         (new_unit): Likewise. (st_open): Likewise.
45         * list_read.c (CASE_SEPERATORS): Add ';' as a valid separator.
46         (eat_separator): Handle deimal comma. (read_logical): Fix whitespace.
47         (parse_real): Handle decimal comma. (read_real): Handle decimal comma.
48         * read.c (read_a): Use decimal status flag to allow comma in place of a
49         decimal point. (read_f): Allow comma as acceptable character in float.
50         According to decimal flag, substitute a period for a comma.
51         (read_x): If decimal status flag is comma, disable the read_comma flag,
52         not allowing comma as a delimiter, an extension otherwise.
53         * io.h: (unit_decimal, unit_encoding, unit_round, unit_sign,
54         unit_async): New enumerators. Add all new I/O parameters.
55         * unix.c (unix_stream, int_stream): Add io_mode asychronous I/O control.
56         (move_pos_offset, fd_alloc_w_at): Fix some whitespace.
57         (fd_sfree): Use new enumerator. (fd_read): Likewise.
58         (fd_write): Likewise. (fd_close): Fix whitespace.
59         (fd_open): Use new enumertors. (tempfile, regular_file,
60         open_external): Fix whitespace. (output_stream, error_stream): Set
61         method. (stream_offset): Fix whitespace.
62         * transfer.c: (st_option decimal_opt[], sign_opt[], blank_opt[]): New
63         option arrays.  (formatted_transfer_scalar): Set sf_read_comma flag
64         based on new decimal_status flag. (data_transfer_init): Initialize new
65         parameters. Add checks for decimal, sign, and blank. (st_wait): New stub.
66         * format.c: (format_lex): Add format specifiers DP, DC, and D.
67         (parse_format_list): Parse the new specifiers.
68         * write.c (write_decimal): Use new sign enumerators to set the sign.
69         (write_complex): Handle decimal comma and semi-colon separator.
70         (nml_write_obj): Likewise.
71         * write_float.def: Revise sign enumerators. (calculate_sign): Use new
72         sign enumerators. (output_float): Likewise. Use new decimal_status flag
73         to set the decimal character to a point or a comma.
74         
75 2008-03-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
76
77         PR libfortran/32972
78         PR libfortran/32512
79         * Makefile.am:  Add new variable, i_spread_c, containing
80         pack_i1.c, pack_i2.c, pack_i4.c, pack_i8.c, spread_i16.c,
81         spread_r4.c, spread_r8.c, spread_r10.c, spread_r16.c,
82         spread_c4.c, spread_c8.c, spread_c10.c, spread_c16.c.
83         * Makefile.in:  Regenerated.
84         * libgfortran.h:  Add prototypes for spread_i1, spread_i2,
85         spread_i4, spread_i8, spread_i16, spread_r4, spread_r8,
86         spread_c4, spread_c8, spread_c10, spread_c16,
87         spread_scalar_i1, spread_scalar_i2, spread_scalar_i4,
88         spread_scalar_i8, spread_scalar_i16, spread_scalar_r4
89         spread_scalar_r8, spread_scalar_c4, spread_scalar_c8,
90         spread_scalar_c10 and spread_scalar_c16.
91         Add macros to isolate both type and size information
92         from array descriptors with a single mask operation.
93         * intrinsics/spread_generic.c:  Add calls to specific
94         spread functions.
95         * m4/spread.m4:  New file.
96         * generated/spread_i1.c:  New file.
97         * generated/spread_i2.c:  New file.
98         * generated/spread_i4.c:  New file.
99         * generated/spread_i8.c:  New file.
100         * generated/spread_i16.c:  New file.
101         * generated/spread_r4.c:  New file.
102         * generated/spread_r8.c:  New file.
103         * generated/spread_r10.c:  New file.
104         * generated/spread_r16.c:  New file.
105         * generated/spread_c4.c:  New file.
106         * generated/spread_c8.c:  New file.
107         * generated/spread_c10.c:  New file.
108         * generated/spread_c16.c:  New file.
109
110 2008-03-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
111
112         PR libfortran/35699
113         * io/transfer.c (write_buf):  Don't pad the record, just return if the
114         data is NULL.  (next_record_w): If there are bytes left in the record
115         for unformatted direct I/O, pad out the record with zero bytes.
116
117 2008-03-28  Tobias Burnus  <burnus@net-b.de>
118
119         PR fortran/35721
120         * intrinsics/associated.c (associated): Ignore different
121         stride of pointer vs. target if only one element is referred.
122
123 2008-03-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
124
125         * io/unix.c (fd_close):  Do not close STDIN.
126
127 2007-03-23  Thomas Koenig  <tkoenig@gcc.gnu.org
128
129         PR libfortran/32972
130         * Makefile.am:  Add new variable, i_unpack_c, containing
131         unpack_i1.c, unpack_i2.c, unpack_i4.c, unpack_i8.c,
132         unpack_i16.c, unpack_r4.c, unpack_r8.c, unpack_r10.c,
133         unpack_r16.c, unpack_c4.c, unpack_c8.c, unpack_c10.c
134         and unpack_c16.c
135         Add i_unpack_c to gfor_built_src.
136         Add rule to generate i_unpack_c from m4/unpack.m4.
137         * Makefile.in:  Regenerated.
138         * libgfortran.h: Add prototypes for unpack0_i1, unpack0_i2,
139         unpack0_i4, unpack0_i8, unpack0_i16, unpack0_r4, unpack0_r8,
140         unpack0_r10, unpack0_r16, unpack0_c4, unpack0_c8, unpack0_c10,
141         unpack0_c16, unpack1_i1, unpack1_i2, unpack1_i4, unpack1_i8,
142         unpack1_i16, unpack1_r4, unpack1_r8, unpack1_r10, unpack1_r16,
143         unpack1_c4, unpack1_c8, unpack1_c10 and unpack1_c16.
144         * intrinsics/pack_generic.c (unpack1):  Add calls to specific
145         unpack1 functions.
146         (unpack0):  Add calls to specific unpack0 functions.
147         * m4/unpack.m4:  New file.
148         * generated/unpack_i1.c:  New file.
149         * generated/unpack_i2.c:  New file.
150         * generated/unpack_i4.c:  New file.
151         * generated/unpack_i8.c:  New file.
152         * generated/unpack_i16.c:  New file.
153         * generated/unpack_r4.c:  New file.
154         * generated/unpack_r8.c:  New file.
155         * generated/unpack_r10.c:  New file.
156         * generated/unpack_r16.c:  New file.
157         * generated/unpack_c4.c:  New file.
158         * generated/unpack_c8.c:  New file.
159         * generated/unpack_c10.c:  New file.
160         * generated/unpack_c16.c:  New file.
161
162 2008-03-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
163
164         PR libfortran/35632
165         * io/transfer.c (data_transfer_init):  Fix whitespace.
166         (next_record_w): Truncate the file only if the stream
167         position is short of the file end.
168
169 2008-03-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
170
171         * intrinsics/pack_generic.c:  Fix typo.
172
173 2008-03-21  Janne Blomqvist  <jb@gcc.gnu.org>
174
175         * gfortran.map: Move erfc_scaled symbols to new symbol node
176         GFORTRAN_1.1, thereby fixing ABI bug introduced in r132846.
177
178 2008-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
179
180         PR libfortran/32972
181         * runtime/in_pack_generic.c (internal_pack):  Call correct
182         function, pack_i16, for GFC_INTEGER_16.
183
184 2008-03-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
185
186         PR libfortran/32972
187         * Makefile.am:  Add new variable, i_pack_c, containing
188         pack_i1.c, pack_i2.c, pack_i4.c, pack_i8.c, pack_i16.c,
189         pack_r4.c, pack_r8.c, pack_r10.c, pack_r16.c, pack_c4.c,
190         pack_c8.c, pack_c10.c, pack_c16.c.
191         Add m4/pack.m4 to m4_files.
192         Add i_pack_c to gfor_built_src.
193         Add rule to generate i_pack_c from m4/pack.m4.
194         * Makefile.in:  Regenerated.
195         * libgfortran.h: Add prototypes for pack_i1, pack_i2, pack_i4,
196         pack_i8, pack_i16, pack_r4, pack_r8, pack_c4, pack_c8,
197         pack_c10, pack_c16.
198         * intrinsics/pack_generic.c:  Add calls to specific
199         pack functions.
200         * m4/pack.m4:  New file.
201         * generated/pack_i1.c:  New file.
202         * generated/pack_i2.c:  New file.
203         * generated/pack_i4.c:  New file.
204         * generated/pack_i8.c:  New file.
205         * generated/pack_i16.c:  New file.
206         * generated/pack_r4.c:  New file.
207         * generated/pack_r8.c:  New file.
208         * generated/pack_r10.c:  New file.
209         * generated/pack_r16.c:  New file.
210         * generated/pack_c4.c:  New file.
211         * generated/pack_c8.c:  New file.
212         * generated/pack_c10.c:  New file.
213         * generated/pack_c16.c:  New file.
214
215 2008-03-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
216
217         PR libfortran/35627
218         * io/list_read.c (free_line): Clear the line buffer enable flag and
219         reset the index into line_buffer, aka item_count.
220         (next_char): Cleanup whitespace.
221         (read_logical): Use unget_char to assure that the first character of the
222         bad logical is saved in case it is part of an object name. Remove the
223         clearing of index and flag that is now in free_line.
224         (read_real): Likewise.
225
226 2008-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
227
228         PR libfortran/32972
229         * runtime/in_pack_generic.c (internal_pack):  Fix typo in
230         last commit.
231
232 2008-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
233
234         PR libfortran/32972
235         * Makefile.am (in_pack_c): Add in_pack_i1.c, in_pack_i2.c,
236         in_pack_r4.c, in_pack_r8.c, in_pack_r10.c and in_pack_r16.c.
237         (in_unpack_c): Add in_unpack_i1.c, in_unpack_i2.c,
238         in_unpack_r4.c, in_unpack_r8.c, in_unpack_r10.c and
239         in_unpack_r16.c.
240         * Makefile.in: Regenerate.
241         * libgfortran.h:  Add prototypes for internal_pack_1,
242         internal_pack_2, internal_pack_16, internal_pack_r4,
243         internal_pack_r8, internal_pack_r10, internal_pack_r16,
244         internal_pack_c10 and internal_pack_c16.  Add prototypes for
245         internal_unpack_1, internal_unpack_2, internal_unpack_16,
246         internal_unpack_r4, internal_unpack_r8, internal_unpack_r10,
247         internal_unpack_r16, internal_unpack_c10 and
248         internal_unpack_c16.
249         * runtime/in_pack_generic.c (internal_pack): Use sizeof instead
250         of hardwired sizes.
251         Add calls to internal_pack_1, internal_pack_2,
252         internal_pack_16, internal_pack_r4, internal_pack_r8,
253         internal_pack_r10, internal_pack_r16, internal_pack_c10 and
254         internal_pack_c16.
255         * runtime/in_unpack_generic.c (internal_unpack):  Use sizeof
256         instead of hardwired sizes.
257         Add calls to internal_unpack_1, internal_unpack_2,
258         internal_unpack_16, internal_unpack_r4, internal_unpack_r8,
259         internal_unpack_r10, internal_unpack_r16, internal_unpack_c10
260         and internal_unpack_c16.
261         * generated/in_pack_r4.c:  New file.
262         * generated/in_pack_i2.c:  New file.
263         * generated/in_unpack_i1.c:  New file.
264         * generated/in_pack_r10.c:  New file.
265         * generated/in_unpack_r4.c:  New file.
266         * generated/in_unpack_i2.c:  New file.
267         * generated/in_unpack_r16.c:  New file.
268         * generated/in_pack_r8.c:  New file.
269         * generated/in_unpack_r10.c:  New file.
270         * generated/in_unpack_r8.c:  New file.
271         * generated/in_pack_r16.c:  New file.
272         * generated/in_pack_i1.c:  New file.
273
274 2008-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
275
276         PR libfortran/35617
277         * io/list_read.c (eat_separator): If next character after eatline is '!'
278         then eatline again. 
279
280 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
281
282         * aclocal.m4: Regenerate.
283         * configure: Likewise.
284         * Makefile.in: Likewise.
285
286 2008-03-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
287
288         PR libfortran/35524
289         * intrinsics/erfc_scaled_inc.c: Only define the long double
290         variant of erfc_scaled if expl is available.
291
292 2008-03-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
293
294         PR libfortran/32812
295         * intrinsics/random.c (scramble_seed, unscramble_seed): New
296         functions.
297         (random_seed_i4): Scramble the seed the user gives us before
298         storing it, and unscramble it when we return it back later.
299
300 2008-03-05  Hans-Peter Nilsson  <hp@axis.com>
301
302         PR libfortran/35293
303         * io/unix.c (fd_truncate): Fold s->special_file case into
304         success case of ftruncate/chsize call instead of the failure case.
305         Make failure case actually return failure.  Properly update stream
306         pointers on failure.  Call runtime_error for targets without
307         neither ftruncate nor chsize where such a call would be needed.
308
309 2008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
310
311         PR fortran/33197
312         * intrinsics/erfc_scaled_inc.c: New file.
313         * intrinsics/erfc_scaled.c: New file.
314         * gfortran.map (GFORTRAN_1.0): Add _gfortran_erfc_scaled_r*.
315         * Makefile.am: Add intrinsics/erfc_scaled.c.
316         * config.h.in: Regenerate.
317         * configure: Regenerate.
318         * Makefile.in: Regenerate.
319
320 2008-03-01  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
321
322         PR libfortran/35355
323         * intrinsics/time_1.h (__time_1): Fix calculation of user_usec
324         for mingw.
325
326 2008-03-01  Janne Blomqvist  <jb@gcc.gnu.org>
327
328         PR libfortran/35063
329         * io/unit.c (destroy_unit_mutex): Call __gthread_mutex_destroy
330         instead of macro kludge.
331         
332 2008-02-25  Janne Blomqvist  <jb@gcc.gnu.org>
333
334         PR fortran/29549
335         * Makefile.am: Add -fcx-fortran-rules to AM_CFLAGS for all of
336         libgfortran.
337         * Makefile.in: Regenerated.
338
339 2008-02-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
340
341         * m4/ifunction_logical.m4: Add casts to get rid of warnings.
342         * generated/all_l1.c: Regenerate.
343         * generated/all_l2.c: Regenerate.
344         * generated/all_l4.c: Regenerate.
345         * generated/all_l8.c: Regenerate.
346         * generated/all_l16.c: Regenerate.
347         * generated/any_l1.c: Regenerate.
348         * generated/any_l2.c: Regenerate.
349         * generated/any_l4.c: Regenerate.
350         * generated/any_l8.c: Regenerate.
351         * generated/any_l16.c: Regenerate.
352         * generated/count_1_l.c: Regenerate.
353         * generated/count_2_l.c: Regenerate.
354         * generated/count_4_l.c: Regenerate.
355         * generated/count_8_l.c: Regenerate.
356         * generated/count_16_l.c: Regenerate.
357
358 2008-02-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
359
360         PR libfortran/32841
361         * acinclude.m4: Don't use HAVE_MATH_H.
362         * configure: Regenerate.
363
364 2008-02-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
365
366         PR libfortran/35132
367         * io/transfer.c (next_record_w): Truncate after the last record for
368         STREAM I/O.
369
370         PR libfortran/34954
371         * io/transfer.c (data_transfer_init): Initialize dtp->rec if writing.
372
373         PR libfortran/34974
374         * io/transfer.c (formatted_transfer_scalar): Flush the buffer if skips
375         is less than zero. (next_record_w): Use sseek to position the file to
376         the max position reached.
377
378 2008-02-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
379
380         PR libfortran/35036
381         * write_float.def (output_float):  Add error checks for zero digits
382         after decimal point in E and D format specifiers.
383         
384 2008-02-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
385
386         PR libfortran/35063
387         * io/unit.c (destroy_unit_mutex): New function that uses
388         __gthread_mutex_destroy_function or pthread_mutex_destroy after
389         unlocking and before free_mem for final closure of I/O unit.
390         (delete_root): Use new function.
391         (free_internal_unit): Likewise.
392         (close_unit_1): Likewise.
393
394 2008-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
395
396         PR libfortran/35001
397         * m4/shape.m4:  Return 0 for extents <= 0.
398         * generated/shape_i4.c:  Regenerated.
399         * generated/shape_i8.c:  Regenerated.
400         * generated/shape_i16.c:  Regenerated.
401
402 2008-01-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
403
404         PR libfortran/34980
405         * m4/shape.m4:  If return array is empty, return early.
406         * generated/shape_i4.c:  Regenerated.
407         * generated/shape_i8.c:  Regenerated.
408         * generated/shape_i16.c:  Regenerated.
409
410 2008-01-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
411
412         PR libfofortran/34887
413         * io/transfer.c (next_record_w): Always move to the farthest
414         position when completing the record (also when we are
415         processing a slash edit descriptor).
416
417 2008-01-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
418
419         PR libfortran/34876
420         * io/transfer.c (write_buf): Handle case of zero sized array.
421         (transfer_array): Set data pointer to NULL and size to zero.  Then
422         make a data transfer and return.
423         
424 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
425
426         * configure: Regenerate.
427
428 2008-01-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
429
430         PR libfortran/34795
431         * io/inquire.c (inquire_via_unit): If a unit is opened, return values
432         according to the open action for DIRECT, FORMATTED, and UNFORMATTED.
433         (inquire_via_filename): Return "UNKNOWN" for SEQUENTIAL, DIRECT,
434         FORAMATTED, and UNFORMATTED inquiries.
435         * io/unix.c (inquire_sequential): Return "UNKNOWN" when appropriate
436         for files that are not opened. (inquire_direct): Same.
437         (inquire_formatted): Same.
438         
439 2008-01-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
440
441         PR libfortran/34782
442         * io/transfer.c (formatted_transfer_scalar): Set max_pos to the greater
443         of the current max_pos or the newly calculated position.
444
445 2008-01-18  Tobias Burnus  <burnus@net-b.de>
446
447         * io/write.c (write_real): Increase default precision
448         for REAL(16) by one.
449
450 2008-01-16  Steven Bosscher  <steven@gcc.gnu.org>
451
452         PR libfortran/34669
453         * mk-kinds-h.sh: Compile with -S to avoid calling the assembler,
454         to avoid piping the -fdump-parse-tree output to the assembler
455         when configuring with -pipe.
456         * mk-sik-inc.sh: Likewise.
457         * mk-srk-inc.sh: Likewise.
458
459 2008-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
460
461         PR libfortran/34671
462         * gfortran.am: Added _gfortran_all_l1, _gfortran_all_l2,
463         _gfortran_any_l1, _gfortran_any_l2, -28,15 _gfortran_count_1_l,
464         _gfortran_count_16_l, _gfortran_count_2_l, _gfortran_count_4_l and
465         _gfortran_count_8_l Removed _gfortran_count_16_l16,
466         _gfortran_count_16_l4, _gfortran_count_16_l8,
467         _gfortran_count_4_l16, _gfortran_count_4_l4, _gfortran_count_4_l8,
468         _gfortran_count_8_l16, _gfortran_count_8_l4 and
469         _gfortran_count_8_l8.
470         * Makefile.am: Added generated/any_l1.c and generated/any_l2.c to
471         i_any_c.  Added generated/all_l1. and generated/all_l2.c to
472         i_all_c.  Removed generated/count_4_l4.c, generated/count_8_l4.c,
473         generated/count_16_l4.c, generated/count_4_l8.c,
474         generated/count_8_l8.c, generated/count_16_l8.c,
475         generated/count_4_l16.c, generated/count_8_l16.c, and
476         generated/count_16_l16.c from i_count_c.  Added count_1_l.c,
477         count_2_l.c, count_4_l.c, count_8_l.c and count_16_l.c to
478         i_count_c.  I_M4_DEPS2 depends on ifunction_logical.m4, for
479         any of the files generated from all.m4, any.m4 and count.m4.
480         * Makefile.in:  Regenerated.
481         * m4/ifunction_logical.m4:  New file.  Use
482         GFC_LOGICAL_1 pointer for access to source arrays.
483         * m4/any.m4:  Include ifunction_logical.m4 instead of
484         ifunction.m4.  Don't check atype_name.
485         * m4/all.m4:  Likewise.
486         * m4/count.m4:  Likewise.
487         * generated/any_l1.c:  New file.
488         * generated/any_l2.c:  New file.
489         * generated/all_l1.c:  New file.
490         * generated/count_1_l.c:  New file.
491         * generated/count_2_l.c:  New file.
492         * generated/count_4_l.c:  New file.
493         * generated/count_8_l.c:  New file.
494         * generated/count_16_l.c:  New file.
495         * generated/any_l4.c:  Regenerated.
496         * generated/any_l8.c:  Regenerated.
497         * generated/any_l16.c:  Regenerated.
498         * generated/all_l4.c: Regenerated.
499         * generated/all_l8.c: Regenerated.
500         * generated/all_l16.c: Regenerated.
501         * generated/count_4_l4.c:  Removed.
502         * generated/count_4_l8.c:  Removed.
503         * generated/count_4_l16.c:  Removed.
504         * generated/count_8_l4.c:  Removed.
505         * generated/count_8_l8.c:  Removed.
506         * generated/count_8_l16.c:  Removed.
507         * generated/count_16_l4.c:  Removed.
508         * generated/count_16_l8.c:  Removed.
509         * generated/count_16_l16.c:  Removed.
510
511 2008-01-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
512
513         PR libfortran/34746
514         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Use %ld
515         in printf format for all bounds checking; cast all
516         integer-like arguments to runtime_error() to long int.
517         (`m'name`'rtype_qual`_'atype_code):  Likewise.
518         (`s'name`'rtype_qual`_'atype_code):  Likewise.
519         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Likewise.
520         (`m'name`'rtype_qual`_'atype_code):  Likewise.
521         (`s'name`'rtype_qual`_'atype_code):  Likewise.
522         * generated/all_l16.c: Regenerated.
523         * generated/all_l4.c: Regenerated.
524         * generated/all_l8.c: Regenerated.
525         * generated/any_l16.c: Regenerated.
526         * generated/any_l4.c: Regenerated.
527         * generated/any_l8.c: Regenerated.
528         * generated/count_16_l16.c: Regenerated.
529         * generated/count_16_l4.c: Regenerated.
530         * generated/count_16_l8.c: Regenerated.
531         * generated/count_4_l16.c: Regenerated.
532         * generated/count_4_l4.c: Regenerated.
533         * generated/count_4_l8.c: Regenerated.
534         * generated/count_8_l16.c: Regenerated.
535         * generated/count_8_l4.c: Regenerated.
536         * generated/count_8_l8.c: Regenerated.
537         * generated/maxloc0_16_i1.c: Regenerated.
538         * generated/maxloc0_16_i16.c: Regenerated.
539         * generated/maxloc0_16_i2.c: Regenerated.
540         * generated/maxloc0_16_i4.c: Regenerated.
541         * generated/maxloc0_16_i8.c: Regenerated.
542         * generated/maxloc0_16_r10.c: Regenerated.
543         * generated/maxloc0_16_r16.c: Regenerated.
544         * generated/maxloc0_16_r4.c: Regenerated.
545         * generated/maxloc0_16_r8.c: Regenerated.
546         * generated/maxloc0_4_i1.c: Regenerated.
547         * generated/maxloc0_4_i16.c: Regenerated.
548         * generated/maxloc0_4_i2.c: Regenerated.
549         * generated/maxloc0_4_i4.c: Regenerated.
550         * generated/maxloc0_4_i8.c: Regenerated.
551         * generated/maxloc0_4_r10.c: Regenerated.
552         * generated/maxloc0_4_r16.c: Regenerated.
553         * generated/maxloc0_4_r4.c: Regenerated.
554         * generated/maxloc0_4_r8.c: Regenerated.
555         * generated/maxloc0_8_i1.c: Regenerated.
556         * generated/maxloc0_8_i16.c: Regenerated.
557         * generated/maxloc0_8_i2.c: Regenerated.
558         * generated/maxloc0_8_i4.c: Regenerated.
559         * generated/maxloc0_8_i8.c: Regenerated.
560         * generated/maxloc0_8_r10.c: Regenerated.
561         * generated/maxloc0_8_r16.c: Regenerated.
562         * generated/maxloc0_8_r4.c: Regenerated.
563         * generated/maxloc0_8_r8.c: Regenerated.
564         * generated/maxloc1_16_i1.c: Regenerated.
565         * generated/maxloc1_16_i16.c: Regenerated.
566         * generated/maxloc1_16_i2.c: Regenerated.
567         * generated/maxloc1_16_i4.c: Regenerated.
568         * generated/maxloc1_16_i8.c: Regenerated.
569         * generated/maxloc1_16_r10.c: Regenerated.
570         * generated/maxloc1_16_r16.c: Regenerated.
571         * generated/maxloc1_16_r4.c: Regenerated.
572         * generated/maxloc1_16_r8.c: Regenerated.
573         * generated/maxloc1_4_i1.c: Regenerated.
574         * generated/maxloc1_4_i16.c: Regenerated.
575         * generated/maxloc1_4_i2.c: Regenerated.
576         * generated/maxloc1_4_i4.c: Regenerated.
577         * generated/maxloc1_4_i8.c: Regenerated.
578         * generated/maxloc1_4_r10.c: Regenerated.
579         * generated/maxloc1_4_r16.c: Regenerated.
580         * generated/maxloc1_4_r4.c: Regenerated.
581         * generated/maxloc1_4_r8.c: Regenerated.
582         * generated/maxloc1_8_i1.c: Regenerated.
583         * generated/maxloc1_8_i16.c: Regenerated.
584         * generated/maxloc1_8_i2.c: Regenerated.
585         * generated/maxloc1_8_i4.c: Regenerated.
586         * generated/maxloc1_8_i8.c: Regenerated.
587         * generated/maxloc1_8_r10.c: Regenerated.
588         * generated/maxloc1_8_r16.c: Regenerated.
589         * generated/maxloc1_8_r4.c: Regenerated.
590         * generated/maxloc1_8_r8.c: Regenerated.
591         * generated/maxval_i1.c: Regenerated.
592         * generated/maxval_i16.c: Regenerated.
593         * generated/maxval_i2.c: Regenerated.
594         * generated/maxval_i4.c: Regenerated.
595         * generated/maxval_i8.c: Regenerated.
596         * generated/maxval_r10.c: Regenerated.
597         * generated/maxval_r16.c: Regenerated.
598         * generated/maxval_r4.c: Regenerated.
599         * generated/maxval_r8.c: Regenerated.
600         * generated/minloc0_16_i1.c: Regenerated.
601         * generated/minloc0_16_i16.c: Regenerated.
602         * generated/minloc0_16_i2.c: Regenerated.
603         * generated/minloc0_16_i4.c: Regenerated.
604         * generated/minloc0_16_i8.c: Regenerated.
605         * generated/minloc0_16_r10.c: Regenerated.
606         * generated/minloc0_16_r16.c: Regenerated.
607         * generated/minloc0_16_r4.c: Regenerated.
608         * generated/minloc0_16_r8.c: Regenerated.
609         * generated/minloc0_4_i1.c: Regenerated.
610         * generated/minloc0_4_i16.c: Regenerated.
611         * generated/minloc0_4_i2.c: Regenerated.
612         * generated/minloc0_4_i4.c: Regenerated.
613         * generated/minloc0_4_i8.c: Regenerated.
614         * generated/minloc0_4_r10.c: Regenerated.
615         * generated/minloc0_4_r16.c: Regenerated.
616         * generated/minloc0_4_r4.c: Regenerated.
617         * generated/minloc0_4_r8.c: Regenerated.
618         * generated/minloc0_8_i1.c: Regenerated.
619         * generated/minloc0_8_i16.c: Regenerated.
620         * generated/minloc0_8_i2.c: Regenerated.
621         * generated/minloc0_8_i4.c: Regenerated.
622         * generated/minloc0_8_i8.c: Regenerated.
623         * generated/minloc0_8_r10.c: Regenerated.
624         * generated/minloc0_8_r16.c: Regenerated.
625         * generated/minloc0_8_r4.c: Regenerated.
626         * generated/minloc0_8_r8.c: Regenerated.
627         * generated/minloc1_16_i1.c: Regenerated.
628         * generated/minloc1_16_i16.c: Regenerated.
629         * generated/minloc1_16_i2.c: Regenerated.
630         * generated/minloc1_16_i4.c: Regenerated.
631         * generated/minloc1_16_i8.c: Regenerated.
632         * generated/minloc1_16_r10.c: Regenerated.
633         * generated/minloc1_16_r16.c: Regenerated.
634         * generated/minloc1_16_r4.c: Regenerated.
635         * generated/minloc1_16_r8.c: Regenerated.
636         * generated/minloc1_4_i1.c: Regenerated.
637         * generated/minloc1_4_i16.c: Regenerated.
638         * generated/minloc1_4_i2.c: Regenerated.
639         * generated/minloc1_4_i4.c: Regenerated.
640         * generated/minloc1_4_i8.c: Regenerated.
641         * generated/minloc1_4_r10.c: Regenerated.
642         * generated/minloc1_4_r16.c: Regenerated.
643         * generated/minloc1_4_r4.c: Regenerated.
644         * generated/minloc1_4_r8.c: Regenerated.
645         * generated/minloc1_8_i1.c: Regenerated.
646         * generated/minloc1_8_i16.c: Regenerated.
647         * generated/minloc1_8_i2.c: Regenerated.
648         * generated/minloc1_8_i4.c: Regenerated.
649         * generated/minloc1_8_i8.c: Regenerated.
650         * generated/minloc1_8_r10.c: Regenerated.
651         * generated/minloc1_8_r16.c: Regenerated.
652         * generated/minloc1_8_r4.c: Regenerated.
653         * generated/minloc1_8_r8.c: Regenerated.
654         * generated/minval_i1.c: Regenerated.
655         * generated/minval_i16.c: Regenerated.
656         * generated/minval_i2.c: Regenerated.
657         * generated/minval_i4.c: Regenerated.
658         * generated/minval_i8.c: Regenerated.
659         * generated/minval_r10.c: Regenerated.
660         * generated/minval_r16.c: Regenerated.
661         * generated/minval_r4.c: Regenerated.
662         * generated/minval_r8.c: Regenerated.
663         * generated/product_c10.c: Regenerated.
664         * generated/product_c16.c: Regenerated.
665         * generated/product_c4.c: Regenerated.
666         * generated/product_c8.c: Regenerated.
667         * generated/product_i1.c: Regenerated.
668         * generated/product_i16.c: Regenerated.
669         * generated/product_i2.c: Regenerated.
670         * generated/product_i4.c: Regenerated.
671         * generated/product_i8.c: Regenerated.
672         * generated/product_r10.c: Regenerated.
673         * generated/product_r16.c: Regenerated.
674         * generated/product_r4.c: Regenerated.
675         * generated/product_r8.c: Regenerated.
676         * generated/sum_c10.c: Regenerated.
677         * generated/sum_c16.c: Regenerated.
678         * generated/sum_c4.c: Regenerated.
679         * generated/sum_c8.c: Regenerated.
680         * generated/sum_i1.c: Regenerated.
681         * generated/sum_i16.c: Regenerated.
682         * generated/sum_i2.c: Regenerated.
683         * generated/sum_i4.c: Regenerated.
684         * generated/sum_i8.c: Regenerated.
685         * generated/sum_r10.c: Regenerated.
686         * generated/sum_r16.c: Regenerated.
687         * generated/sum_r4.c: Regenerated.
688         * generated/sum_r8.c: Regenerated.
689
690 2008-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
691
692         PR libfortran/34670
693         * m4/iparm.m4 (upcase):  New macro (copied from the m4 manual).
694         (u_name):  New macro for the upper case name of the intrinsic.
695         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Add
696         bounds checking and rank check, depending on
697         compile_options.bounds_check.
698         (`m'name`'rtype_qual`_'atype_code):  Likewise.
699         (`s'name`'rtype_qual`_'atype_code):  Likewise.
700         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Add
701         bounds checking and rank check, depending on
702         compile_options.bounds_check.
703         (`m'name`'rtype_qual`_'atype_code):  Likewise.
704         (`s'name`'rtype_qual`_'atype_code):  Likewise.
705         * generated/all_l16.c: Regenerated.
706         * generated/all_l4.c: Regenerated.
707         * generated/all_l8.c: Regenerated.
708         * generated/any_l16.c: Regenerated.
709         * generated/any_l4.c: Regenerated.
710         * generated/any_l8.c: Regenerated.
711         * generated/count_16_l16.c: Regenerated.
712         * generated/count_16_l4.c: Regenerated.
713         * generated/count_16_l8.c: Regenerated.
714         * generated/count_4_l16.c: Regenerated.
715         * generated/count_4_l4.c: Regenerated.
716         * generated/count_4_l8.c: Regenerated.
717         * generated/count_8_l16.c: Regenerated.
718         * generated/count_8_l4.c: Regenerated.
719         * generated/count_8_l8.c: Regenerated.
720         * generated/maxloc0_16_i1.c: Regenerated.
721         * generated/maxloc0_16_i16.c: Regenerated.
722         * generated/maxloc0_16_i2.c: Regenerated.
723         * generated/maxloc0_16_i4.c: Regenerated.
724         * generated/maxloc0_16_i8.c: Regenerated.
725         * generated/maxloc0_16_r10.c: Regenerated.
726         * generated/maxloc0_16_r16.c: Regenerated.
727         * generated/maxloc0_16_r4.c: Regenerated.
728         * generated/maxloc0_16_r8.c: Regenerated.
729         * generated/maxloc0_4_i1.c: Regenerated.
730         * generated/maxloc0_4_i16.c: Regenerated.
731         * generated/maxloc0_4_i2.c: Regenerated.
732         * generated/maxloc0_4_i4.c: Regenerated.
733         * generated/maxloc0_4_i8.c: Regenerated.
734         * generated/maxloc0_4_r10.c: Regenerated.
735         * generated/maxloc0_4_r16.c: Regenerated.
736         * generated/maxloc0_4_r4.c: Regenerated.
737         * generated/maxloc0_4_r8.c: Regenerated.
738         * generated/maxloc0_8_i1.c: Regenerated.
739         * generated/maxloc0_8_i16.c: Regenerated.
740         * generated/maxloc0_8_i2.c: Regenerated.
741         * generated/maxloc0_8_i4.c: Regenerated.
742         * generated/maxloc0_8_i8.c: Regenerated.
743         * generated/maxloc0_8_r10.c: Regenerated.
744         * generated/maxloc0_8_r16.c: Regenerated.
745         * generated/maxloc0_8_r4.c: Regenerated.
746         * generated/maxloc0_8_r8.c: Regenerated.
747         * generated/maxloc1_16_i1.c: Regenerated.
748         * generated/maxloc1_16_i16.c: Regenerated.
749         * generated/maxloc1_16_i2.c: Regenerated.
750         * generated/maxloc1_16_i4.c: Regenerated.
751         * generated/maxloc1_16_i8.c: Regenerated.
752         * generated/maxloc1_16_r10.c: Regenerated.
753         * generated/maxloc1_16_r16.c: Regenerated.
754         * generated/maxloc1_16_r4.c: Regenerated.
755         * generated/maxloc1_16_r8.c: Regenerated.
756         * generated/maxloc1_4_i1.c: Regenerated.
757         * generated/maxloc1_4_i16.c: Regenerated.
758         * generated/maxloc1_4_i2.c: Regenerated.
759         * generated/maxloc1_4_i4.c: Regenerated.
760         * generated/maxloc1_4_i8.c: Regenerated.
761         * generated/maxloc1_4_r10.c: Regenerated.
762         * generated/maxloc1_4_r16.c: Regenerated.
763         * generated/maxloc1_4_r4.c: Regenerated.
764         * generated/maxloc1_4_r8.c: Regenerated.
765         * generated/maxloc1_8_i1.c: Regenerated.
766         * generated/maxloc1_8_i16.c: Regenerated.
767         * generated/maxloc1_8_i2.c: Regenerated.
768         * generated/maxloc1_8_i4.c: Regenerated.
769         * generated/maxloc1_8_i8.c: Regenerated.
770         * generated/maxloc1_8_r10.c: Regenerated.
771         * generated/maxloc1_8_r16.c: Regenerated.
772         * generated/maxloc1_8_r4.c: Regenerated.
773         * generated/maxloc1_8_r8.c: Regenerated.
774         * generated/maxval_i1.c: Regenerated.
775         * generated/maxval_i16.c: Regenerated.
776         * generated/maxval_i2.c: Regenerated.
777         * generated/maxval_i4.c: Regenerated.
778         * generated/maxval_i8.c: Regenerated.
779         * generated/maxval_r10.c: Regenerated.
780         * generated/maxval_r16.c: Regenerated.
781         * generated/maxval_r4.c: Regenerated.
782         * generated/maxval_r8.c: Regenerated.
783         * generated/minloc0_16_i1.c: Regenerated.
784         * generated/minloc0_16_i16.c: Regenerated.
785         * generated/minloc0_16_i2.c: Regenerated.
786         * generated/minloc0_16_i4.c: Regenerated.
787         * generated/minloc0_16_i8.c: Regenerated.
788         * generated/minloc0_16_r10.c: Regenerated.
789         * generated/minloc0_16_r16.c: Regenerated.
790         * generated/minloc0_16_r4.c: Regenerated.
791         * generated/minloc0_16_r8.c: Regenerated.
792         * generated/minloc0_4_i1.c: Regenerated.
793         * generated/minloc0_4_i16.c: Regenerated.
794         * generated/minloc0_4_i2.c: Regenerated.
795         * generated/minloc0_4_i4.c: Regenerated.
796         * generated/minloc0_4_i8.c: Regenerated.
797         * generated/minloc0_4_r10.c: Regenerated.
798         * generated/minloc0_4_r16.c: Regenerated.
799         * generated/minloc0_4_r4.c: Regenerated.
800         * generated/minloc0_4_r8.c: Regenerated.
801         * generated/minloc0_8_i1.c: Regenerated.
802         * generated/minloc0_8_i16.c: Regenerated.
803         * generated/minloc0_8_i2.c: Regenerated.
804         * generated/minloc0_8_i4.c: Regenerated.
805         * generated/minloc0_8_i8.c: Regenerated.
806         * generated/minloc0_8_r10.c: Regenerated.
807         * generated/minloc0_8_r16.c: Regenerated.
808         * generated/minloc0_8_r4.c: Regenerated.
809         * generated/minloc0_8_r8.c: Regenerated.
810         * generated/minloc1_16_i1.c: Regenerated.
811         * generated/minloc1_16_i16.c: Regenerated.
812         * generated/minloc1_16_i2.c: Regenerated.
813         * generated/minloc1_16_i4.c: Regenerated.
814         * generated/minloc1_16_i8.c: Regenerated.
815         * generated/minloc1_16_r10.c: Regenerated.
816         * generated/minloc1_16_r16.c: Regenerated.
817         * generated/minloc1_16_r4.c: Regenerated.
818         * generated/minloc1_16_r8.c: Regenerated.
819         * generated/minloc1_4_i1.c: Regenerated.
820         * generated/minloc1_4_i16.c: Regenerated.
821         * generated/minloc1_4_i2.c: Regenerated.
822         * generated/minloc1_4_i4.c: Regenerated.
823         * generated/minloc1_4_i8.c: Regenerated.
824         * generated/minloc1_4_r10.c: Regenerated.
825         * generated/minloc1_4_r16.c: Regenerated.
826         * generated/minloc1_4_r4.c: Regenerated.
827         * generated/minloc1_4_r8.c: Regenerated.
828         * generated/minloc1_8_i1.c: Regenerated.
829         * generated/minloc1_8_i16.c: Regenerated.
830         * generated/minloc1_8_i2.c: Regenerated.
831         * generated/minloc1_8_i4.c: Regenerated.
832         * generated/minloc1_8_i8.c: Regenerated.
833         * generated/minloc1_8_r10.c: Regenerated.
834         * generated/minloc1_8_r16.c: Regenerated.
835         * generated/minloc1_8_r4.c: Regenerated.
836         * generated/minloc1_8_r8.c: Regenerated.
837         * generated/minval_i1.c: Regenerated.
838         * generated/minval_i16.c: Regenerated.
839         * generated/minval_i2.c: Regenerated.
840         * generated/minval_i4.c: Regenerated.
841         * generated/minval_i8.c: Regenerated.
842         * generated/minval_r10.c: Regenerated.
843         * generated/minval_r16.c: Regenerated.
844         * generated/minval_r4.c: Regenerated.
845         * generated/minval_r8.c: Regenerated.
846         * generated/product_c10.c: Regenerated.
847         * generated/product_c16.c: Regenerated.
848         * generated/product_c4.c: Regenerated.
849         * generated/product_c8.c: Regenerated.
850         * generated/product_i1.c: Regenerated.
851         * generated/product_i16.c: Regenerated.
852         * generated/product_i2.c: Regenerated.
853         * generated/product_i4.c: Regenerated.
854         * generated/product_i8.c: Regenerated.
855         * generated/product_r10.c: Regenerated.
856         * generated/product_r16.c: Regenerated.
857         * generated/product_r4.c: Regenerated.
858         * generated/product_r8.c: Regenerated.
859         * generated/sum_c10.c: Regenerated.
860         * generated/sum_c16.c: Regenerated.
861         * generated/sum_c4.c: Regenerated.
862         * generated/sum_c8.c: Regenerated.
863         * generated/sum_i1.c: Regenerated.
864         * generated/sum_i16.c: Regenerated.
865         * generated/sum_i2.c: Regenerated.
866         * generated/sum_i4.c: Regenerated.
867         * generated/sum_i8.c: Regenerated.
868         * generated/sum_r10.c: Regenerated.
869         * generated/sum_r16.c: Regenerated.
870         * generated/sum_r4.c: Regenerated.
871         * generated/sum_r8.c: Regenerated.
872
873 2008-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
874
875         PR libfortran/34676
876         * io/list_read.c (next_char): Only save the EOF condition for later if
877         advance="no".
878
879 2008-01-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
880
881         PR libfortran/34565
882         * io/io.h:  Adjust protoypes for open_internal(),
883         next_array_record() and init_loop_spec().
884         * io/list_read.c (next_char):  Use argument "finished"
885         of next_array_record to check for end on internal file.
886         * io/unit.c:  Calculate the offset for an array
887         internal file and supply this informatin to open_internal().
888         * io/unix.c (open_internal):  Set the offset for the internal
889         file on open.
890         * io/transfer.c (init_loop_spec):  Calculate the starting
891         record in case of negative strides.  Return size of 0 for
892         an empty array.
893         (next_array_record):  Use an extra flag to signal that the
894         array is finished.
895         (next_record_r):  Use the new flag to next_array_record().
896         (next_record_w):  Likewise.