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