OSDN Git Service

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