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