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