OSDN Git Service

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