OSDN Git Service

ee0aae8ceeaa0552d46690e14ea5675a169cf717
[pf3gnuchains/gcc-fork.git] / libgfortran / ChangeLog
1 2008-03-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
2
3         PR libfortran/35627
4         * io/list_read.c (free_line): Clear the line buffer enable flag and
5         reset the index into line_buffer, aka item_count.
6         (next_char): Cleanup whitespace.
7         (read_logical): Use unget_char to assure that the first character of the
8         bad logical is saved in case it is part of an object name. Remove the
9         clearing of index and flag that is now in free_line.
10         (read_real): Likewise.
11
12 2008-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
13
14         PR libfortran/32972
15         * runtime/in_pack_generic.c (internal_pack):  Fix typo in
16         last commit.
17
18 2008-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
19
20         PR libfortran/32972
21         * Makefile.am (in_pack_c): Add in_pack_i1.c, in_pack_i2.c,
22         in_pack_r4.c, in_pack_r8.c, in_pack_r10.c and in_pack_r16.c.
23         (in_unpack_c): Add in_unpack_i1.c, in_unpack_i2.c,
24         in_unpack_r4.c, in_unpack_r8.c, in_unpack_r10.c and
25         in_unpack_r16.c.
26         * Makefile.in: Regenerate.
27         * libgfortran.h:  Add prototypes for internal_pack_1,
28         internal_pack_2, internal_pack_16, internal_pack_r4,
29         internal_pack_r8, internal_pack_r10, internal_pack_r16,
30         internal_pack_c10 and internal_pack_c16.  Add prototypes for
31         internal_unpack_1, internal_unpack_2, internal_unpack_16,
32         internal_unpack_r4, internal_unpack_r8, internal_unpack_r10,
33         internal_unpack_r16, internal_unpack_c10 and
34         internal_unpack_c16.
35         * runtime/in_pack_generic.c (internal_pack): Use sizeof instead
36         of hardwired sizes.
37         Add calls to internal_pack_1, internal_pack_2,
38         internal_pack_16, internal_pack_r4, internal_pack_r8,
39         internal_pack_r10, internal_pack_r16, internal_pack_c10 and
40         internal_pack_c16.
41         * runtime/in_unpack_generic.c (internal_unpack):  Use sizeof
42         instead of hardwired sizes.
43         Add calls to internal_unpack_1, internal_unpack_2,
44         internal_unpack_16, internal_unpack_r4, internal_unpack_r8,
45         internal_unpack_r10, internal_unpack_r16, internal_unpack_c10
46         and internal_unpack_c16.
47         * generated/in_pack_r4.c:  New file.
48         * generated/in_pack_i2.c:  New file.
49         * generated/in_unpack_i1.c:  New file.
50         * generated/in_pack_r10.c:  New file.
51         * generated/in_unpack_r4.c:  New file.
52         * generated/in_unpack_i2.c:  New file.
53         * generated/in_unpack_r16.c:  New file.
54         * generated/in_pack_r8.c:  New file.
55         * generated/in_unpack_r10.c:  New file.
56         * generated/in_unpack_r8.c:  New file.
57         * generated/in_pack_r16.c:  New file.
58         * generated/in_pack_i1.c:  New file.
59
60 2008-03-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
61
62         PR libfortran/35617
63         * io/list_read.c (eat_separator): If next character after eatline is '!'
64         then eatline again. 
65
66 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67
68         * aclocal.m4: Regenerate.
69         * configure: Likewise.
70         * Makefile.in: Likewise.
71
72 2008-03-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
73
74         PR libfortran/35524
75         * intrinsics/erfc_scaled_inc.c: Only define the long double
76         variant of erfc_scaled if expl is available.
77
78 2008-03-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
79
80         PR libfortran/32812
81         * intrinsics/random.c (scramble_seed, unscramble_seed): New
82         functions.
83         (random_seed_i4): Scramble the seed the user gives us before
84         storing it, and unscramble it when we return it back later.
85
86 2008-03-05  Hans-Peter Nilsson  <hp@axis.com>
87
88         PR libfortran/35293
89         * io/unix.c (fd_truncate): Fold s->special_file case into
90         success case of ftruncate/chsize call instead of the failure case.
91         Make failure case actually return failure.  Properly update stream
92         pointers on failure.  Call runtime_error for targets without
93         neither ftruncate nor chsize where such a call would be needed.
94
95 2008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
96
97         PR fortran/33197
98         * intrinsics/erfc_scaled_inc.c: New file.
99         * intrinsics/erfc_scaled.c: New file.
100         * gfortran.map (GFORTRAN_1.0): Add _gfortran_erfc_scaled_r*.
101         * Makefile.am: Add intrinsics/erfc_scaled.c.
102         * config.h.in: Regenerate.
103         * configure: Regenerate.
104         * Makefile.in: Regenerate.
105
106 2008-03-01  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
107
108         PR libfortran/35355
109         * intrinsics/time_1.h (__time_1): Fix calculation of user_usec
110         for mingw.
111
112 2008-03-01  Janne Blomqvist  <jb@gcc.gnu.org>
113
114         PR libfortran/35063
115         * io/unit.c (destroy_unit_mutex): Call __gthread_mutex_destroy
116         instead of macro kludge.
117         
118 2008-02-25  Janne Blomqvist  <jb@gcc.gnu.org>
119
120         PR fortran/29549
121         * Makefile.am: Add -fcx-fortran-rules to AM_CFLAGS for all of
122         libgfortran.
123         * Makefile.in: Regenerated.
124
125 2008-02-25  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
126
127         * m4/ifunction_logical.m4: Add casts to get rid of warnings.
128         * generated/all_l1.c: Regenerate.
129         * generated/all_l2.c: Regenerate.
130         * generated/all_l4.c: Regenerate.
131         * generated/all_l8.c: Regenerate.
132         * generated/all_l16.c: Regenerate.
133         * generated/any_l1.c: Regenerate.
134         * generated/any_l2.c: Regenerate.
135         * generated/any_l4.c: Regenerate.
136         * generated/any_l8.c: Regenerate.
137         * generated/any_l16.c: Regenerate.
138         * generated/count_1_l.c: Regenerate.
139         * generated/count_2_l.c: Regenerate.
140         * generated/count_4_l.c: Regenerate.
141         * generated/count_8_l.c: Regenerate.
142         * generated/count_16_l.c: Regenerate.
143
144 2008-02-24  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
145
146         PR libfortran/32841
147         * acinclude.m4: Don't use HAVE_MATH_H.
148         * configure: Regenerate.
149
150 2008-02-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
151
152         PR libfortran/35132
153         * io/transfer.c (next_record_w): Truncate after the last record for
154         STREAM I/O.
155
156         PR libfortran/34954
157         * io/transfer.c (data_transfer_init): Initialize dtp->rec if writing.
158
159         PR libfortran/34974
160         * io/transfer.c (formatted_transfer_scalar): Flush the buffer if skips
161         is less than zero. (next_record_w): Use sseek to position the file to
162         the max position reached.
163
164 2008-02-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
165
166         PR libfortran/35036
167         * write_float.def (output_float):  Add error checks for zero digits
168         after decimal point in E and D format specifiers.
169         
170 2008-02-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
171
172         PR libfortran/35063
173         * io/unit.c (destroy_unit_mutex): New function that uses
174         __gthread_mutex_destroy_function or pthread_mutex_destroy after
175         unlocking and before free_mem for final closure of I/O unit.
176         (delete_root): Use new function.
177         (free_internal_unit): Likewise.
178         (close_unit_1): Likewise.
179
180 2008-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
181
182         PR libfortran/35001
183         * m4/shape.m4:  Return 0 for extents <= 0.
184         * generated/shape_i4.c:  Regenerated.
185         * generated/shape_i8.c:  Regenerated.
186         * generated/shape_i16.c:  Regenerated.
187
188 2008-01-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
189
190         PR libfortran/34980
191         * m4/shape.m4:  If return array is empty, return early.
192         * generated/shape_i4.c:  Regenerated.
193         * generated/shape_i8.c:  Regenerated.
194         * generated/shape_i16.c:  Regenerated.
195
196 2008-01-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
197
198         PR libfofortran/34887
199         * io/transfer.c (next_record_w): Always move to the farthest
200         position when completing the record (also when we are
201         processing a slash edit descriptor).
202
203 2008-01-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
204
205         PR libfortran/34876
206         * io/transfer.c (write_buf): Handle case of zero sized array.
207         (transfer_array): Set data pointer to NULL and size to zero.  Then
208         make a data transfer and return.
209         
210 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
211
212         * configure: Regenerate.
213
214 2008-01-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
215
216         PR libfortran/34795
217         * io/inquire.c (inquire_via_unit): If a unit is opened, return values
218         according to the open action for DIRECT, FORMATTED, and UNFORMATTED.
219         (inquire_via_filename): Return "UNKNOWN" for SEQUENTIAL, DIRECT,
220         FORAMATTED, and UNFORMATTED inquiries.
221         * io/unix.c (inquire_sequential): Return "UNKNOWN" when appropriate
222         for files that are not opened. (inquire_direct): Same.
223         (inquire_formatted): Same.
224         
225 2008-01-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
226
227         PR libfortran/34782
228         * io/transfer.c (formatted_transfer_scalar): Set max_pos to the greater
229         of the current max_pos or the newly calculated position.
230
231 2008-01-18  Tobias Burnus  <burnus@net-b.de>
232
233         * io/write.c (write_real): Increase default precision
234         for REAL(16) by one.
235
236 2008-01-16  Steven Bosscher  <steven@gcc.gnu.org>
237
238         PR libfortran/34669
239         * mk-kinds-h.sh: Compile with -S to avoid calling the assembler,
240         to avoid piping the -fdump-parse-tree output to the assembler
241         when configuring with -pipe.
242         * mk-sik-inc.sh: Likewise.
243         * mk-srk-inc.sh: Likewise.
244
245 2008-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
246
247         PR libfortran/34671
248         * gfortran.am: Added _gfortran_all_l1, _gfortran_all_l2,
249         _gfortran_any_l1, _gfortran_any_l2, -28,15 _gfortran_count_1_l,
250         _gfortran_count_16_l, _gfortran_count_2_l, _gfortran_count_4_l and
251         _gfortran_count_8_l Removed _gfortran_count_16_l16,
252         _gfortran_count_16_l4, _gfortran_count_16_l8,
253         _gfortran_count_4_l16, _gfortran_count_4_l4, _gfortran_count_4_l8,
254         _gfortran_count_8_l16, _gfortran_count_8_l4 and
255         _gfortran_count_8_l8.
256         * Makefile.am: Added generated/any_l1.c and generated/any_l2.c to
257         i_any_c.  Added generated/all_l1. and generated/all_l2.c to
258         i_all_c.  Removed generated/count_4_l4.c, generated/count_8_l4.c,
259         generated/count_16_l4.c, generated/count_4_l8.c,
260         generated/count_8_l8.c, generated/count_16_l8.c,
261         generated/count_4_l16.c, generated/count_8_l16.c, and
262         generated/count_16_l16.c from i_count_c.  Added count_1_l.c,
263         count_2_l.c, count_4_l.c, count_8_l.c and count_16_l.c to
264         i_count_c.  I_M4_DEPS2 depends on ifunction_logical.m4, for
265         any of the files generated from all.m4, any.m4 and count.m4.
266         * Makefile.in:  Regenerated.
267         * m4/ifunction_logical.m4:  New file.  Use
268         GFC_LOGICAL_1 pointer for access to source arrays.
269         * m4/any.m4:  Include ifunction_logical.m4 instead of
270         ifunction.m4.  Don't check atype_name.
271         * m4/all.m4:  Likewise.
272         * m4/count.m4:  Likewise.
273         * generated/any_l1.c:  New file.
274         * generated/any_l2.c:  New file.
275         * generated/all_l1.c:  New file.
276         * generated/count_1_l.c:  New file.
277         * generated/count_2_l.c:  New file.
278         * generated/count_4_l.c:  New file.
279         * generated/count_8_l.c:  New file.
280         * generated/count_16_l.c:  New file.
281         * generated/any_l4.c:  Regenerated.
282         * generated/any_l8.c:  Regenerated.
283         * generated/any_l16.c:  Regenerated.
284         * generated/all_l4.c: Regenerated.
285         * generated/all_l8.c: Regenerated.
286         * generated/all_l16.c: Regenerated.
287         * generated/count_4_l4.c:  Removed.
288         * generated/count_4_l8.c:  Removed.
289         * generated/count_4_l16.c:  Removed.
290         * generated/count_8_l4.c:  Removed.
291         * generated/count_8_l8.c:  Removed.
292         * generated/count_8_l16.c:  Removed.
293         * generated/count_16_l4.c:  Removed.
294         * generated/count_16_l8.c:  Removed.
295         * generated/count_16_l16.c:  Removed.
296
297 2008-01-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
298
299         PR libfortran/34746
300         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Use %ld
301         in printf format for all bounds checking; cast all
302         integer-like arguments to runtime_error() to long int.
303         (`m'name`'rtype_qual`_'atype_code):  Likewise.
304         (`s'name`'rtype_qual`_'atype_code):  Likewise.
305         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Likewise.
306         (`m'name`'rtype_qual`_'atype_code):  Likewise.
307         (`s'name`'rtype_qual`_'atype_code):  Likewise.
308         * generated/all_l16.c: Regenerated.
309         * generated/all_l4.c: Regenerated.
310         * generated/all_l8.c: Regenerated.
311         * generated/any_l16.c: Regenerated.
312         * generated/any_l4.c: Regenerated.
313         * generated/any_l8.c: Regenerated.
314         * generated/count_16_l16.c: Regenerated.
315         * generated/count_16_l4.c: Regenerated.
316         * generated/count_16_l8.c: Regenerated.
317         * generated/count_4_l16.c: Regenerated.
318         * generated/count_4_l4.c: Regenerated.
319         * generated/count_4_l8.c: Regenerated.
320         * generated/count_8_l16.c: Regenerated.
321         * generated/count_8_l4.c: Regenerated.
322         * generated/count_8_l8.c: Regenerated.
323         * generated/maxloc0_16_i1.c: Regenerated.
324         * generated/maxloc0_16_i16.c: Regenerated.
325         * generated/maxloc0_16_i2.c: Regenerated.
326         * generated/maxloc0_16_i4.c: Regenerated.
327         * generated/maxloc0_16_i8.c: Regenerated.
328         * generated/maxloc0_16_r10.c: Regenerated.
329         * generated/maxloc0_16_r16.c: Regenerated.
330         * generated/maxloc0_16_r4.c: Regenerated.
331         * generated/maxloc0_16_r8.c: Regenerated.
332         * generated/maxloc0_4_i1.c: Regenerated.
333         * generated/maxloc0_4_i16.c: Regenerated.
334         * generated/maxloc0_4_i2.c: Regenerated.
335         * generated/maxloc0_4_i4.c: Regenerated.
336         * generated/maxloc0_4_i8.c: Regenerated.
337         * generated/maxloc0_4_r10.c: Regenerated.
338         * generated/maxloc0_4_r16.c: Regenerated.
339         * generated/maxloc0_4_r4.c: Regenerated.
340         * generated/maxloc0_4_r8.c: Regenerated.
341         * generated/maxloc0_8_i1.c: Regenerated.
342         * generated/maxloc0_8_i16.c: Regenerated.
343         * generated/maxloc0_8_i2.c: Regenerated.
344         * generated/maxloc0_8_i4.c: Regenerated.
345         * generated/maxloc0_8_i8.c: Regenerated.
346         * generated/maxloc0_8_r10.c: Regenerated.
347         * generated/maxloc0_8_r16.c: Regenerated.
348         * generated/maxloc0_8_r4.c: Regenerated.
349         * generated/maxloc0_8_r8.c: Regenerated.
350         * generated/maxloc1_16_i1.c: Regenerated.
351         * generated/maxloc1_16_i16.c: Regenerated.
352         * generated/maxloc1_16_i2.c: Regenerated.
353         * generated/maxloc1_16_i4.c: Regenerated.
354         * generated/maxloc1_16_i8.c: Regenerated.
355         * generated/maxloc1_16_r10.c: Regenerated.
356         * generated/maxloc1_16_r16.c: Regenerated.
357         * generated/maxloc1_16_r4.c: Regenerated.
358         * generated/maxloc1_16_r8.c: Regenerated.
359         * generated/maxloc1_4_i1.c: Regenerated.
360         * generated/maxloc1_4_i16.c: Regenerated.
361         * generated/maxloc1_4_i2.c: Regenerated.
362         * generated/maxloc1_4_i4.c: Regenerated.
363         * generated/maxloc1_4_i8.c: Regenerated.
364         * generated/maxloc1_4_r10.c: Regenerated.
365         * generated/maxloc1_4_r16.c: Regenerated.
366         * generated/maxloc1_4_r4.c: Regenerated.
367         * generated/maxloc1_4_r8.c: Regenerated.
368         * generated/maxloc1_8_i1.c: Regenerated.
369         * generated/maxloc1_8_i16.c: Regenerated.
370         * generated/maxloc1_8_i2.c: Regenerated.
371         * generated/maxloc1_8_i4.c: Regenerated.
372         * generated/maxloc1_8_i8.c: Regenerated.
373         * generated/maxloc1_8_r10.c: Regenerated.
374         * generated/maxloc1_8_r16.c: Regenerated.
375         * generated/maxloc1_8_r4.c: Regenerated.
376         * generated/maxloc1_8_r8.c: Regenerated.
377         * generated/maxval_i1.c: Regenerated.
378         * generated/maxval_i16.c: Regenerated.
379         * generated/maxval_i2.c: Regenerated.
380         * generated/maxval_i4.c: Regenerated.
381         * generated/maxval_i8.c: Regenerated.
382         * generated/maxval_r10.c: Regenerated.
383         * generated/maxval_r16.c: Regenerated.
384         * generated/maxval_r4.c: Regenerated.
385         * generated/maxval_r8.c: Regenerated.
386         * generated/minloc0_16_i1.c: Regenerated.
387         * generated/minloc0_16_i16.c: Regenerated.
388         * generated/minloc0_16_i2.c: Regenerated.
389         * generated/minloc0_16_i4.c: Regenerated.
390         * generated/minloc0_16_i8.c: Regenerated.
391         * generated/minloc0_16_r10.c: Regenerated.
392         * generated/minloc0_16_r16.c: Regenerated.
393         * generated/minloc0_16_r4.c: Regenerated.
394         * generated/minloc0_16_r8.c: Regenerated.
395         * generated/minloc0_4_i1.c: Regenerated.
396         * generated/minloc0_4_i16.c: Regenerated.
397         * generated/minloc0_4_i2.c: Regenerated.
398         * generated/minloc0_4_i4.c: Regenerated.
399         * generated/minloc0_4_i8.c: Regenerated.
400         * generated/minloc0_4_r10.c: Regenerated.
401         * generated/minloc0_4_r16.c: Regenerated.
402         * generated/minloc0_4_r4.c: Regenerated.
403         * generated/minloc0_4_r8.c: Regenerated.
404         * generated/minloc0_8_i1.c: Regenerated.
405         * generated/minloc0_8_i16.c: Regenerated.
406         * generated/minloc0_8_i2.c: Regenerated.
407         * generated/minloc0_8_i4.c: Regenerated.
408         * generated/minloc0_8_i8.c: Regenerated.
409         * generated/minloc0_8_r10.c: Regenerated.
410         * generated/minloc0_8_r16.c: Regenerated.
411         * generated/minloc0_8_r4.c: Regenerated.
412         * generated/minloc0_8_r8.c: Regenerated.
413         * generated/minloc1_16_i1.c: Regenerated.
414         * generated/minloc1_16_i16.c: Regenerated.
415         * generated/minloc1_16_i2.c: Regenerated.
416         * generated/minloc1_16_i4.c: Regenerated.
417         * generated/minloc1_16_i8.c: Regenerated.
418         * generated/minloc1_16_r10.c: Regenerated.
419         * generated/minloc1_16_r16.c: Regenerated.
420         * generated/minloc1_16_r4.c: Regenerated.
421         * generated/minloc1_16_r8.c: Regenerated.
422         * generated/minloc1_4_i1.c: Regenerated.
423         * generated/minloc1_4_i16.c: Regenerated.
424         * generated/minloc1_4_i2.c: Regenerated.
425         * generated/minloc1_4_i4.c: Regenerated.
426         * generated/minloc1_4_i8.c: Regenerated.
427         * generated/minloc1_4_r10.c: Regenerated.
428         * generated/minloc1_4_r16.c: Regenerated.
429         * generated/minloc1_4_r4.c: Regenerated.
430         * generated/minloc1_4_r8.c: Regenerated.
431         * generated/minloc1_8_i1.c: Regenerated.
432         * generated/minloc1_8_i16.c: Regenerated.
433         * generated/minloc1_8_i2.c: Regenerated.
434         * generated/minloc1_8_i4.c: Regenerated.
435         * generated/minloc1_8_i8.c: Regenerated.
436         * generated/minloc1_8_r10.c: Regenerated.
437         * generated/minloc1_8_r16.c: Regenerated.
438         * generated/minloc1_8_r4.c: Regenerated.
439         * generated/minloc1_8_r8.c: Regenerated.
440         * generated/minval_i1.c: Regenerated.
441         * generated/minval_i16.c: Regenerated.
442         * generated/minval_i2.c: Regenerated.
443         * generated/minval_i4.c: Regenerated.
444         * generated/minval_i8.c: Regenerated.
445         * generated/minval_r10.c: Regenerated.
446         * generated/minval_r16.c: Regenerated.
447         * generated/minval_r4.c: Regenerated.
448         * generated/minval_r8.c: Regenerated.
449         * generated/product_c10.c: Regenerated.
450         * generated/product_c16.c: Regenerated.
451         * generated/product_c4.c: Regenerated.
452         * generated/product_c8.c: Regenerated.
453         * generated/product_i1.c: Regenerated.
454         * generated/product_i16.c: Regenerated.
455         * generated/product_i2.c: Regenerated.
456         * generated/product_i4.c: Regenerated.
457         * generated/product_i8.c: Regenerated.
458         * generated/product_r10.c: Regenerated.
459         * generated/product_r16.c: Regenerated.
460         * generated/product_r4.c: Regenerated.
461         * generated/product_r8.c: Regenerated.
462         * generated/sum_c10.c: Regenerated.
463         * generated/sum_c16.c: Regenerated.
464         * generated/sum_c4.c: Regenerated.
465         * generated/sum_c8.c: Regenerated.
466         * generated/sum_i1.c: Regenerated.
467         * generated/sum_i16.c: Regenerated.
468         * generated/sum_i2.c: Regenerated.
469         * generated/sum_i4.c: Regenerated.
470         * generated/sum_i8.c: Regenerated.
471         * generated/sum_r10.c: Regenerated.
472         * generated/sum_r16.c: Regenerated.
473         * generated/sum_r4.c: Regenerated.
474         * generated/sum_r8.c: Regenerated.
475
476 2008-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
477
478         PR libfortran/34670
479         * m4/iparm.m4 (upcase):  New macro (copied from the m4 manual).
480         (u_name):  New macro for the upper case name of the intrinsic.
481         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Add
482         bounds checking and rank check, depending on
483         compile_options.bounds_check.
484         (`m'name`'rtype_qual`_'atype_code):  Likewise.
485         (`s'name`'rtype_qual`_'atype_code):  Likewise.
486         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Add
487         bounds checking and rank check, depending on
488         compile_options.bounds_check.
489         (`m'name`'rtype_qual`_'atype_code):  Likewise.
490         (`s'name`'rtype_qual`_'atype_code):  Likewise.
491         * generated/all_l16.c: Regenerated.
492         * generated/all_l4.c: Regenerated.
493         * generated/all_l8.c: Regenerated.
494         * generated/any_l16.c: Regenerated.
495         * generated/any_l4.c: Regenerated.
496         * generated/any_l8.c: Regenerated.
497         * generated/count_16_l16.c: Regenerated.
498         * generated/count_16_l4.c: Regenerated.
499         * generated/count_16_l8.c: Regenerated.
500         * generated/count_4_l16.c: Regenerated.
501         * generated/count_4_l4.c: Regenerated.
502         * generated/count_4_l8.c: Regenerated.
503         * generated/count_8_l16.c: Regenerated.
504         * generated/count_8_l4.c: Regenerated.
505         * generated/count_8_l8.c: Regenerated.
506         * generated/maxloc0_16_i1.c: Regenerated.
507         * generated/maxloc0_16_i16.c: Regenerated.
508         * generated/maxloc0_16_i2.c: Regenerated.
509         * generated/maxloc0_16_i4.c: Regenerated.
510         * generated/maxloc0_16_i8.c: Regenerated.
511         * generated/maxloc0_16_r10.c: Regenerated.
512         * generated/maxloc0_16_r16.c: Regenerated.
513         * generated/maxloc0_16_r4.c: Regenerated.
514         * generated/maxloc0_16_r8.c: Regenerated.
515         * generated/maxloc0_4_i1.c: Regenerated.
516         * generated/maxloc0_4_i16.c: Regenerated.
517         * generated/maxloc0_4_i2.c: Regenerated.
518         * generated/maxloc0_4_i4.c: Regenerated.
519         * generated/maxloc0_4_i8.c: Regenerated.
520         * generated/maxloc0_4_r10.c: Regenerated.
521         * generated/maxloc0_4_r16.c: Regenerated.
522         * generated/maxloc0_4_r4.c: Regenerated.
523         * generated/maxloc0_4_r8.c: Regenerated.
524         * generated/maxloc0_8_i1.c: Regenerated.
525         * generated/maxloc0_8_i16.c: Regenerated.
526         * generated/maxloc0_8_i2.c: Regenerated.
527         * generated/maxloc0_8_i4.c: Regenerated.
528         * generated/maxloc0_8_i8.c: Regenerated.
529         * generated/maxloc0_8_r10.c: Regenerated.
530         * generated/maxloc0_8_r16.c: Regenerated.
531         * generated/maxloc0_8_r4.c: Regenerated.
532         * generated/maxloc0_8_r8.c: Regenerated.
533         * generated/maxloc1_16_i1.c: Regenerated.
534         * generated/maxloc1_16_i16.c: Regenerated.
535         * generated/maxloc1_16_i2.c: Regenerated.
536         * generated/maxloc1_16_i4.c: Regenerated.
537         * generated/maxloc1_16_i8.c: Regenerated.
538         * generated/maxloc1_16_r10.c: Regenerated.
539         * generated/maxloc1_16_r16.c: Regenerated.
540         * generated/maxloc1_16_r4.c: Regenerated.
541         * generated/maxloc1_16_r8.c: Regenerated.
542         * generated/maxloc1_4_i1.c: Regenerated.
543         * generated/maxloc1_4_i16.c: Regenerated.
544         * generated/maxloc1_4_i2.c: Regenerated.
545         * generated/maxloc1_4_i4.c: Regenerated.
546         * generated/maxloc1_4_i8.c: Regenerated.
547         * generated/maxloc1_4_r10.c: Regenerated.
548         * generated/maxloc1_4_r16.c: Regenerated.
549         * generated/maxloc1_4_r4.c: Regenerated.
550         * generated/maxloc1_4_r8.c: Regenerated.
551         * generated/maxloc1_8_i1.c: Regenerated.
552         * generated/maxloc1_8_i16.c: Regenerated.
553         * generated/maxloc1_8_i2.c: Regenerated.
554         * generated/maxloc1_8_i4.c: Regenerated.
555         * generated/maxloc1_8_i8.c: Regenerated.
556         * generated/maxloc1_8_r10.c: Regenerated.
557         * generated/maxloc1_8_r16.c: Regenerated.
558         * generated/maxloc1_8_r4.c: Regenerated.
559         * generated/maxloc1_8_r8.c: Regenerated.
560         * generated/maxval_i1.c: Regenerated.
561         * generated/maxval_i16.c: Regenerated.
562         * generated/maxval_i2.c: Regenerated.
563         * generated/maxval_i4.c: Regenerated.
564         * generated/maxval_i8.c: Regenerated.
565         * generated/maxval_r10.c: Regenerated.
566         * generated/maxval_r16.c: Regenerated.
567         * generated/maxval_r4.c: Regenerated.
568         * generated/maxval_r8.c: Regenerated.
569         * generated/minloc0_16_i1.c: Regenerated.
570         * generated/minloc0_16_i16.c: Regenerated.
571         * generated/minloc0_16_i2.c: Regenerated.
572         * generated/minloc0_16_i4.c: Regenerated.
573         * generated/minloc0_16_i8.c: Regenerated.
574         * generated/minloc0_16_r10.c: Regenerated.
575         * generated/minloc0_16_r16.c: Regenerated.
576         * generated/minloc0_16_r4.c: Regenerated.
577         * generated/minloc0_16_r8.c: Regenerated.
578         * generated/minloc0_4_i1.c: Regenerated.
579         * generated/minloc0_4_i16.c: Regenerated.
580         * generated/minloc0_4_i2.c: Regenerated.
581         * generated/minloc0_4_i4.c: Regenerated.
582         * generated/minloc0_4_i8.c: Regenerated.
583         * generated/minloc0_4_r10.c: Regenerated.
584         * generated/minloc0_4_r16.c: Regenerated.
585         * generated/minloc0_4_r4.c: Regenerated.
586         * generated/minloc0_4_r8.c: Regenerated.
587         * generated/minloc0_8_i1.c: Regenerated.
588         * generated/minloc0_8_i16.c: Regenerated.
589         * generated/minloc0_8_i2.c: Regenerated.
590         * generated/minloc0_8_i4.c: Regenerated.
591         * generated/minloc0_8_i8.c: Regenerated.
592         * generated/minloc0_8_r10.c: Regenerated.
593         * generated/minloc0_8_r16.c: Regenerated.
594         * generated/minloc0_8_r4.c: Regenerated.
595         * generated/minloc0_8_r8.c: Regenerated.
596         * generated/minloc1_16_i1.c: Regenerated.
597         * generated/minloc1_16_i16.c: Regenerated.
598         * generated/minloc1_16_i2.c: Regenerated.
599         * generated/minloc1_16_i4.c: Regenerated.
600         * generated/minloc1_16_i8.c: Regenerated.
601         * generated/minloc1_16_r10.c: Regenerated.
602         * generated/minloc1_16_r16.c: Regenerated.
603         * generated/minloc1_16_r4.c: Regenerated.
604         * generated/minloc1_16_r8.c: Regenerated.
605         * generated/minloc1_4_i1.c: Regenerated.
606         * generated/minloc1_4_i16.c: Regenerated.
607         * generated/minloc1_4_i2.c: Regenerated.
608         * generated/minloc1_4_i4.c: Regenerated.
609         * generated/minloc1_4_i8.c: Regenerated.
610         * generated/minloc1_4_r10.c: Regenerated.
611         * generated/minloc1_4_r16.c: Regenerated.
612         * generated/minloc1_4_r4.c: Regenerated.
613         * generated/minloc1_4_r8.c: Regenerated.
614         * generated/minloc1_8_i1.c: Regenerated.
615         * generated/minloc1_8_i16.c: Regenerated.
616         * generated/minloc1_8_i2.c: Regenerated.
617         * generated/minloc1_8_i4.c: Regenerated.
618         * generated/minloc1_8_i8.c: Regenerated.
619         * generated/minloc1_8_r10.c: Regenerated.
620         * generated/minloc1_8_r16.c: Regenerated.
621         * generated/minloc1_8_r4.c: Regenerated.
622         * generated/minloc1_8_r8.c: Regenerated.
623         * generated/minval_i1.c: Regenerated.
624         * generated/minval_i16.c: Regenerated.
625         * generated/minval_i2.c: Regenerated.
626         * generated/minval_i4.c: Regenerated.
627         * generated/minval_i8.c: Regenerated.
628         * generated/minval_r10.c: Regenerated.
629         * generated/minval_r16.c: Regenerated.
630         * generated/minval_r4.c: Regenerated.
631         * generated/minval_r8.c: Regenerated.
632         * generated/product_c10.c: Regenerated.
633         * generated/product_c16.c: Regenerated.
634         * generated/product_c4.c: Regenerated.
635         * generated/product_c8.c: Regenerated.
636         * generated/product_i1.c: Regenerated.
637         * generated/product_i16.c: Regenerated.
638         * generated/product_i2.c: Regenerated.
639         * generated/product_i4.c: Regenerated.
640         * generated/product_i8.c: Regenerated.
641         * generated/product_r10.c: Regenerated.
642         * generated/product_r16.c: Regenerated.
643         * generated/product_r4.c: Regenerated.
644         * generated/product_r8.c: Regenerated.
645         * generated/sum_c10.c: Regenerated.
646         * generated/sum_c16.c: Regenerated.
647         * generated/sum_c4.c: Regenerated.
648         * generated/sum_c8.c: Regenerated.
649         * generated/sum_i1.c: Regenerated.
650         * generated/sum_i16.c: Regenerated.
651         * generated/sum_i2.c: Regenerated.
652         * generated/sum_i4.c: Regenerated.
653         * generated/sum_i8.c: Regenerated.
654         * generated/sum_r10.c: Regenerated.
655         * generated/sum_r16.c: Regenerated.
656         * generated/sum_r4.c: Regenerated.
657         * generated/sum_r8.c: Regenerated.
658
659 2008-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
660
661         PR libfortran/34676
662         * io/list_read.c (next_char): Only save the EOF condition for later if
663         advance="no".
664
665 2008-01-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
666
667         PR libfortran/34565
668         * io/io.h:  Adjust protoypes for open_internal(),
669         next_array_record() and init_loop_spec().
670         * io/list_read.c (next_char):  Use argument "finished"
671         of next_array_record to check for end on internal file.
672         * io/unit.c:  Calculate the offset for an array
673         internal file and supply this informatin to open_internal().
674         * io/unix.c (open_internal):  Set the offset for the internal
675         file on open.
676         * io/transfer.c (init_loop_spec):  Calculate the starting
677         record in case of negative strides.  Return size of 0 for
678         an empty array.
679         (next_array_record):  Use an extra flag to signal that the
680         array is finished.
681         (next_record_r):  Use the new flag to next_array_record().
682         (next_record_w):  Likewise.