Merge with gcc-4_3-branch up to revision 175516.
[official-gcc.git] / libgfortran / ChangeLog
blobd61451252986c8dcf263f3d98fb7f26651377d35
1 2011-06-27  Release Manager
3         * GCC 4.3.6 released.
5 2010-05-22  Release Manager
7         * GCC 4.3.5 released.
9 2010-05-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11         PR other/43620
12         * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
13         * configure: Regenerate.
14         * Makefile.in: Regenerate.
16 2010-02-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
18         PR libfortran/42901
19         * io/list_read.c (nml_get_obj_data): Add new qualifier flag, clean up
20         code, and adjust logic to set namelist info pointer correctly for array
21         qualifiers of derived type components.
23 2009-11-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
25         PR libgfortran/42090
26         Backport from trunk.
27         * io/transfer.c (skip_record): Set bytes_left_subrecord to zero after
28         skipping the remaining bytes in the record.
29         (next_record_r): Call skip_record with the number of bytes_left to be
30         skipped.
32 2009-08-04  Release Manager
34         * GCC 4.3.4 released.
36 2009-04-04  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
38         PR libfortran/39528
39         Backport from trunk.
40         * io/list_read.c (list_formatted_read_scalar): Move check for read
41         completion to just after the check for a repeated value.
43 2009-01-24  Release Manager
45         * GCC 4.3.3 released.
47 2008-12-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
49         PR fortran/31832
50         * acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_POWF): New autoconf check for
51         broken powf.
52         * configure.ac (LIBGFOR_CHECK_FOR_BROKEN_POWF): Use it.
53         * intrinsics/c99_functions.c: Use internal powf implementation if
54         HAVE_BROKEN_POWF is defined.
55         * configure: Rebuilt.
56         * config.h.in: Rebuilt.
58 2008-11-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
60         PR libfortran/38135
61         Backport from trunk.
62         * m4/reshape.m4:  Tread PAD as if it were SOURCE when SOURCE
63         is empty.
64         * intrinsics/reshape_generic.c:  Likewise.
65         * generated/reshape_c10.c Regenerated.
66         * generated/reshape_c16.c Regenerated.
67         * generated/reshape_c4.c Regenerated.
68         * generated/reshape_c8.c Regenerated.
69         * generated/reshape_i16.c Regenerated.
70         * generated/reshape_i4.c Regenerated.
71         * generated/reshape_i8.c Regenerated.
72         * generated/reshape_r10.c Regenerated.
73         * generated/reshape_r16.c Regenerated.
74         * generated/reshape_r4.c Regenerated.
75         * generated/reshape_r8.c Regenerated.
77 2008-10-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
79         PR libfortran/37707
80         Backport from trunk.
81         * io/list_read.c (read_character): Remove code to look ahead in namelist
82         reads to descriminate non-delimited strings from namelist objects.
83         * io/write.c (namelist_write): Delimit character strings with quote or
84         apostrophe, defaulting to quote.
86 2008-10-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org
88         PR libfortran/37863
89         Backport from trunk.
90         * io/write_float.def (WRITE_FLOAT): Round to 1.0 correctly.
92 2008-10-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org
94         PR libfortran/37707
95         Backport from trunk.
96         * io/list_read.c (nml_get_obj_data): If the first namelist object rank
97         is greater than zero, call nml_object_read with the first object rather
98         than the sub-object.
100 2008-08-27  Release Manager
102         * GCC 4.3.2 released.
104 2008-07-26  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
106         PR fortran/36582
107         Backport from trunk.
108         * io/list_read.c: If variable rank is zero, do not adjust the found
109         namelist object pointer.
110         
111 2008-07-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org
113         PR fortran/36676
114         PR fortran/36657
115         PR fortran/36546
116         Backport from trunk.
117         * io/list_read.c (find_nml_name): Use unget_char before eat_separator.
118         (read_character): Check for '!' along with separators.
119         (eat_separator): Add tab character to condition for looping past
120         whitespace.
121         
122 2008-06-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
124         PR fortran/36538
125         Backport from trunk.
126         * io/list_read.c (namelist_read): Add eat_separator to
127         eliminate leading tabs.
129 2008-06-06  Release Manager
131         * GCC 4.3.1 released.
133 2008-05-06  Thomas Koenig  <tkoenig@gcc.gnu.org>
135         PR libfortran/35995
136         PR libfortran/35990
137         Backport from trunk.
138         * m4/ifunction_logical.m4:  If the extent of "array"
139         is less than zero, set it to zero.  Use an explicit
140         flag for breaking out of the main loop to avoid, because
141         the data pointer for "array" may be NULL for an empty
142         array.
143         * m4/ifunction.m4:  Likewise.
144         * generated/all_l1.c: Regenerated.
145         * generated/all_l16.c: Regenerated.
146         * generated/all_l2.c: Regenerated.
147         * generated/all_l4.c: Regenerated.
148         * generated/all_l8.c: Regenerated.
149         * generated/any_l1.c: Regenerated.
150         * generated/any_l16.c: Regenerated.
151         * generated/any_l2.c: Regenerated.
152         * generated/any_l4.c: Regenerated.
153         * generated/any_l8.c: Regenerated.
154         * generated/count_16_l.c: Regenerated.
155         * generated/count_1_l.c: Regenerated.
156         * generated/count_2_l.c: Regenerated.
157         * generated/count_4_l.c: Regenerated.
158         * generated/count_8_l.c: Regenerated.
159         * generated/maxloc1_16_i1.c: Regenerated.
160         * generated/maxloc1_16_i16.c: Regenerated.
161         * generated/maxloc1_16_i2.c: Regenerated.
162         * generated/maxloc1_16_i4.c: Regenerated.
163         * generated/maxloc1_16_i8.c: Regenerated.
164         * generated/maxloc1_16_r10.c: Regenerated.
165         * generated/maxloc1_16_r16.c: Regenerated.
166         * generated/maxloc1_16_r4.c: Regenerated.
167         * generated/maxloc1_16_r8.c: Regenerated.
168         * generated/maxloc1_4_i1.c: Regenerated.
169         * generated/maxloc1_4_i16.c: Regenerated.
170         * generated/maxloc1_4_i2.c: Regenerated.
171         * generated/maxloc1_4_i4.c: Regenerated.
172         * generated/maxloc1_4_i8.c: Regenerated.
173         * generated/maxloc1_4_r10.c: Regenerated.
174         * generated/maxloc1_4_r16.c: Regenerated.
175         * generated/maxloc1_4_r4.c: Regenerated.
176         * generated/maxloc1_4_r8.c: Regenerated.
177         * generated/maxloc1_8_i1.c: Regenerated.
178         * generated/maxloc1_8_i16.c: Regenerated.
179         * generated/maxloc1_8_i2.c: Regenerated.
180         * generated/maxloc1_8_i4.c: Regenerated.
181         * generated/maxloc1_8_i8.c: Regenerated.
182         * generated/maxloc1_8_r10.c: Regenerated.
183         * generated/maxloc1_8_r16.c: Regenerated.
184         * generated/maxloc1_8_r4.c: Regenerated.
185         * generated/maxloc1_8_r8.c: Regenerated.
186         * generated/maxval_i1.c: Regenerated.
187         * generated/maxval_i16.c: Regenerated.
188         * generated/maxval_i2.c: Regenerated.
189         * generated/maxval_i4.c: Regenerated.
190         * generated/maxval_i8.c: Regenerated.
191         * generated/maxval_r10.c: Regenerated.
192         * generated/maxval_r16.c: Regenerated.
193         * generated/maxval_r4.c: Regenerated.
194         * generated/maxval_r8.c: Regenerated.
195         * generated/minloc1_16_i1.c: Regenerated.
196         * generated/minloc1_16_i16.c: Regenerated.
197         * generated/minloc1_16_i2.c: Regenerated.
198         * generated/minloc1_16_i4.c: Regenerated.
199         * generated/minloc1_16_i8.c: Regenerated.
200         * generated/minloc1_16_r10.c: Regenerated.
201         * generated/minloc1_16_r16.c: Regenerated.
202         * generated/minloc1_16_r4.c: Regenerated.
203         * generated/minloc1_16_r8.c: Regenerated.
204         * generated/minloc1_4_i1.c: Regenerated.
205         * generated/minloc1_4_i16.c: Regenerated.
206         * generated/minloc1_4_i2.c: Regenerated.
207         * generated/minloc1_4_i4.c: Regenerated.
208         * generated/minloc1_4_i8.c: Regenerated.
209         * generated/minloc1_4_r10.c: Regenerated.
210         * generated/minloc1_4_r16.c: Regenerated.
211         * generated/minloc1_4_r4.c: Regenerated.
212         * generated/minloc1_4_r8.c: Regenerated.
213         * generated/minloc1_8_i1.c: Regenerated.
214         * generated/minloc1_8_i16.c: Regenerated.
215         * generated/minloc1_8_i2.c: Regenerated.
216         * generated/minloc1_8_i4.c: Regenerated.
217         * generated/minloc1_8_i8.c: Regenerated.
218         * generated/minloc1_8_r10.c: Regenerated.
219         * generated/minloc1_8_r16.c: Regenerated.
220         * generated/minloc1_8_r4.c: Regenerated.
221         * generated/minloc1_8_r8.c: Regenerated.
222         * generated/minval_i1.c: Regenerated.
223         * generated/minval_i16.c: Regenerated.
224         * generated/minval_i2.c: Regenerated.
225         * generated/minval_i4.c: Regenerated.
226         * generated/minval_i8.c: Regenerated.
227         * generated/minval_r10.c: Regenerated.
228         * generated/minval_r16.c: Regenerated.
229         * generated/minval_r4.c: Regenerated.
230         * generated/minval_r8.c: Regenerated.
231         * generated/product_c10.c: Regenerated.
232         * generated/product_c16.c: Regenerated.
233         * generated/product_c4.c: Regenerated.
234         * generated/product_c8.c: Regenerated.
235         * generated/product_i1.c: Regenerated.
236         * generated/product_i16.c: Regenerated.
237         * generated/product_i2.c: Regenerated.
238         * generated/product_i4.c: Regenerated.
239         * generated/product_i8.c: Regenerated.
240         * generated/product_r10.c: Regenerated.
241         * generated/product_r16.c: Regenerated.
242         * generated/product_r4.c: Regenerated.
243         * generated/product_r8.c: Regenerated.
244         * generated/sum_c10.c: Regenerated.
245         * generated/sum_c16.c: Regenerated.
246         * generated/sum_c4.c: Regenerated.
247         * generated/sum_c8.c: Regenerated.
248         * generated/sum_i1.c: Regenerated.
249         * generated/sum_i16.c: Regenerated.
250         * generated/sum_i2.c: Regenerated.
251         * generated/sum_i4.c: Regenerated.
252         * generated/sum_i8.c: Regenerated.
253         * generated/sum_r10.c: Regenerated.
254         * generated/sum_r16.c: Regenerated.
255         * generated/sum_r4.c: Regenerated.
256         * generated/sum_r8.c: Regenerated.
257         * intrinsics/pack_generic.c:  If an extent of the source
258         array is less then zero, set it to zero.  Set the source
259         pointer to NULL if the source size is zero.  Set the total
260         number of elements to zero if the vector has an extent
261         less or equal to zero.
262         * m4/pack.m4:  Set the source pointer to NULL if the
263         source array is zero-sized.  Set the total number of
264         elemements to zero if the vector has an extent less or
265         equal to zero.
266         * generated/pack_i1.c:  Regenerated.
267         * generated/pack_i2.c:  Regenerated.
268         * generated/pack_i4.c:  Regenerated.
269         * generated/pack_i8.c:  Regenerated.
270         * generated/pack_i16.c:  Regenerated.
271         * generated/pack_r4.c:  Regenerated.
272         * generated/pack_r8.c:  Regenerated.
273         * generated/pack_r10.c:  Regenerated.
274         * generated/pack_r16.c:  Regenerated.
275         * generated/pack_c4.c:  Regenerated.
276         * generated/pack_c8.c:  Regenerated.
277         * generated/pack_c10.c:  Regenerated.
278         * generated/pack_c16.c:  Regenerated.
280 2008-05-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
282         PR libfortran/35993
283         Backport from trunk.
284         * ifunction.m4 (SCALAR_ARRAY_FUNCTION):  Use correct
285         implementation for multi-dimensional return arrays when
286         the mask is .false.
287         * generated/maxloc1_16_i1.c: Regenerated.
288         * generated/maxloc1_16_i16.c: Regenerated.
289         * generated/maxloc1_16_i2.c: Regenerated.
290         * generated/maxloc1_16_i4.c: Regenerated.
291         * generated/maxloc1_16_i8.c: Regenerated.
292         * generated/maxloc1_16_r10.c: Regenerated.
293         * generated/maxloc1_16_r16.c: Regenerated.
294         * generated/maxloc1_16_r4.c: Regenerated.
295         * generated/maxloc1_16_r8.c: Regenerated.
296         * generated/maxloc1_4_i1.c: Regenerated.
297         * generated/maxloc1_4_i16.c: Regenerated.
298         * generated/maxloc1_4_i2.c: Regenerated.
299         * generated/maxloc1_4_i4.c: Regenerated.
300         * generated/maxloc1_4_i8.c: Regenerated.
301         * generated/maxloc1_4_r10.c: Regenerated.
302         * generated/maxloc1_4_r16.c: Regenerated.
303         * generated/maxloc1_4_r4.c: Regenerated.
304         * generated/maxloc1_4_r8.c: Regenerated.
305         * generated/maxloc1_8_i1.c: Regenerated.
306         * generated/maxloc1_8_i16.c: Regenerated.
307         * generated/maxloc1_8_i2.c: Regenerated.
308         * generated/maxloc1_8_i4.c: Regenerated.
309         * generated/maxloc1_8_i8.c: Regenerated.
310         * generated/maxloc1_8_r10.c: Regenerated.
311         * generated/maxloc1_8_r16.c: Regenerated.
312         * generated/maxloc1_8_r4.c: Regenerated.
313         * generated/maxloc1_8_r8.c: Regenerated.
314         * generated/maxval_i1.c: Regenerated.
315         * generated/maxval_i16.c: Regenerated.
316         * generated/maxval_i2.c: Regenerated.
317         * generated/maxval_i4.c: Regenerated.
318         * generated/maxval_i8.c: Regenerated.
319         * generated/maxval_r10.c: Regenerated.
320         * generated/maxval_r16.c: Regenerated.
321         * generated/maxval_r4.c: Regenerated.
322         * generated/maxval_r8.c: Regenerated.
323         * generated/minloc1_16_i1.c: Regenerated.
324         * generated/minloc1_16_i16.c: Regenerated.
325         * generated/minloc1_16_i2.c: Regenerated.
326         * generated/minloc1_16_i4.c: Regenerated.
327         * generated/minloc1_16_i8.c: Regenerated.
328         * generated/minloc1_16_r10.c: Regenerated.
329         * generated/minloc1_16_r16.c: Regenerated.
330         * generated/minloc1_16_r4.c: Regenerated.
331         * generated/minloc1_16_r8.c: Regenerated.
332         * generated/minloc1_4_i1.c: Regenerated.
333         * generated/minloc1_4_i16.c: Regenerated.
334         * generated/minloc1_4_i2.c: Regenerated.
335         * generated/minloc1_4_i4.c: Regenerated.
336         * generated/minloc1_4_i8.c: Regenerated.
337         * generated/minloc1_4_r10.c: Regenerated.
338         * generated/minloc1_4_r16.c: Regenerated.
339         * generated/minloc1_4_r4.c: Regenerated.
340         * generated/minloc1_4_r8.c: Regenerated.
341         * generated/minloc1_8_i1.c: Regenerated.
342         * generated/minloc1_8_i16.c: Regenerated.
343         * generated/minloc1_8_i2.c: Regenerated.
344         * generated/minloc1_8_i4.c: Regenerated.
345         * generated/minloc1_8_i8.c: Regenerated.
346         * generated/minloc1_8_r10.c: Regenerated.
347         * generated/minloc1_8_r16.c: Regenerated.
348         * generated/minloc1_8_r4.c: Regenerated.
349         * generated/minloc1_8_r8.c: Regenerated.
350         * generated/minval_i1.c: Regenerated.
351         * generated/minval_i16.c: Regenerated.
352         * generated/minval_i2.c: Regenerated.
353         * generated/minval_i4.c: Regenerated.
354         * generated/minval_i8.c: Regenerated.
355         * generated/minval_r10.c: Regenerated.
356         * generated/minval_r16.c: Regenerated.
357         * generated/minval_r4.c: Regenerated.
358         * generated/minval_r8.c: Regenerated.
359         * generated/product_c10.c: Regenerated.
360         * generated/product_c16.c: Regenerated.
361         * generated/product_c4.c: Regenerated.
362         * generated/product_c8.c: Regenerated.
363         * generated/product_i1.c: Regenerated.
364         * generated/product_i16.c: Regenerated.
365         * generated/product_i2.c: Regenerated.
366         * generated/product_i4.c: Regenerated.
367         * generated/product_i8.c: Regenerated.
368         * generated/product_r10.c: Regenerated.
369         * generated/product_r16.c: Regenerated.
370         * generated/product_r4.c: Regenerated.
371         * generated/product_r8.c: Regenerated.
372         * generated/sum_c10.c: Regenerated.
373         * generated/sum_c16.c: Regenerated.
374         * generated/sum_c4.c: Regenerated.
375         * generated/sum_c8.c: Regenerated.
376         * generated/sum_i1.c: Regenerated.
377         * generated/sum_i16.c: Regenerated.
378         * generated/sum_i2.c: Regenerated.
379         * generated/sum_i4.c: Regenerated.
380         * generated/sum_i8.c: Regenerated.
381         * generated/sum_r10.c: Regenerated.
382         * generated/sum_r16.c: Regenerated.
383         * generated/sum_r4.c: Regenerated.
384         * generated/sum_r8.c: Regenerated.
386 2008-04-09  Jakub Jelinek  <jakub@redhat.com>
388         * io/list_read.c (snprintf): Define if HAVE_SNPRINTF isn't defined.
389         (nml_read_obj): Add nml_err_msg_size argument.  Pass it down to
390         recursive call.  Use snprintf instead of sprintf when %s nl->var_name
391         is used.
392         (nml_get_obj_data): Add nml_err_msg_size argument.  Pass it down to
393         nml_read_obj call.  Use snprintf instead of sprintf when %s
394         nl->var_name is used.  Pass nml_err_msg to nml_parse_qualifier instead
395         of parse_err_msg array.  Append " for namelist variable " and
396         nl->var_name to it.
397         (namelist_read): Increase size of nml_err_msg array to 200.  Pass
398         sizeof nml_err_msg as extra argument to nml_get_obj_data.
400 2008-03-28  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
402         PR libfortran/35699
403         * io/transfer.c (write_buf):  Don't pad the record, just return if the
404         data is NULL.  (next_record_w): If there are bytes left in the record
405         for unformatted direct I/O, pad out the record with zero bytes.
407 2008-03-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
409         PR libfortran/35627
410         Backport from trunk.
411         * io/list_read.c (free_line): Clear the line buffer enable flag and
412         reset the index into line_buffer, aka item_count.
413         (next_char): Cleanup whitespace.
414         (read_logical): Use unget_char to assure that the first character of the
415         bad logical is saved in case it is part of an object name. Remove the
416         clearing of index and flag that is now in free_line.
417         (read_real): Likewise.
419         PR libfortran/35617
420         Backport from trunk.
421         * io/list_read.c (eat_separator): If next character after eatline is '!'
422         then eatline again. 
424 2008-03-05  Release Manager
426         * GCC 4.3.0 released.
428 2008-03-01  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
430         PR libfortran/35355
431         * intrinsics/time_1.h (__time_1): Fix calculation of user_usec
432         for mingw.
434 2008-02-10  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
436         PR libfortran/35063
437         * io/unit.c (destroy_unit_mutex): New function that uses
438         __gthread_mutex_destroy_function or pthread_mutex_destroy after
439         unlocking and before free_mem for final closure of I/O unit.
440         (delete_root): Use new function.
441         (free_internal_unit): Likewise.
442         (close_unit_1): Likewise.
444 2008-02-02  Thomas Koenig  <tkoenig@gcc.gnu.org>
446         PR libfortran/35001
447         * m4/shape.m4:  Return 0 for extents <= 0.
448         * generated/shape_i4.c:  Regenerated.
449         * generated/shape_i8.c:  Regenerated.
450         * generated/shape_i16.c:  Regenerated.
452 2008-01-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
454         PR libfortran/34980
455         * m4/shape.m4:  If return array is empty, return early.
456         * generated/shape_i4.c:  Regenerated.
457         * generated/shape_i8.c:  Regenerated.
458         * generated/shape_i16.c:  Regenerated.
460 2008-01-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
462         PR libfofortran/34887
463         * io/transfer.c (next_record_w): Always move to the farthest
464         position when completing the record (also when we are
465         processing a slash edit descriptor).
467 2008-01-25  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
469         PR libfortran/34876
470         * io/transfer.c (write_buf): Handle case of zero sized array.
471         (transfer_array): Set data pointer to NULL and size to zero.  Then
472         make a data transfer and return.
473         
474 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
476         * configure: Regenerate.
478 2008-01-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
480         PR libfortran/34795
481         * io/inquire.c (inquire_via_unit): If a unit is opened, return values
482         according to the open action for DIRECT, FORMATTED, and UNFORMATTED.
483         (inquire_via_filename): Return "UNKNOWN" for SEQUENTIAL, DIRECT,
484         FORAMATTED, and UNFORMATTED inquiries.
485         * io/unix.c (inquire_sequential): Return "UNKNOWN" when appropriate
486         for files that are not opened. (inquire_direct): Same.
487         (inquire_formatted): Same.
488         
489 2008-01-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
491         PR libfortran/34782
492         * io/transfer.c (formatted_transfer_scalar): Set max_pos to the greater
493         of the current max_pos or the newly calculated position.
495 2008-01-18  Tobias Burnus  <burnus@net-b.de>
497         * io/write.c (write_real): Increase default precision
498         for REAL(16) by one.
500 2008-01-16  Steven Bosscher  <steven@gcc.gnu.org>
502         PR libfortran/34669
503         * mk-kinds-h.sh: Compile with -S to avoid calling the assembler,
504         to avoid piping the -fdump-parse-tree output to the assembler
505         when configuring with -pipe.
506         * mk-sik-inc.sh: Likewise.
507         * mk-srk-inc.sh: Likewise.
509 2008-01-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
511         PR libfortran/34671
512         * gfortran.am: Added _gfortran_all_l1, _gfortran_all_l2,
513         _gfortran_any_l1, _gfortran_any_l2, -28,15 _gfortran_count_1_l,
514         _gfortran_count_16_l, _gfortran_count_2_l, _gfortran_count_4_l and
515         _gfortran_count_8_l Removed _gfortran_count_16_l16,
516         _gfortran_count_16_l4, _gfortran_count_16_l8,
517         _gfortran_count_4_l16, _gfortran_count_4_l4, _gfortran_count_4_l8,
518         _gfortran_count_8_l16, _gfortran_count_8_l4 and
519         _gfortran_count_8_l8.
520         * Makefile.am: Added generated/any_l1.c and generated/any_l2.c to
521         i_any_c.  Added generated/all_l1. and generated/all_l2.c to
522         i_all_c.  Removed generated/count_4_l4.c, generated/count_8_l4.c,
523         generated/count_16_l4.c, generated/count_4_l8.c,
524         generated/count_8_l8.c, generated/count_16_l8.c,
525         generated/count_4_l16.c, generated/count_8_l16.c, and
526         generated/count_16_l16.c from i_count_c.  Added count_1_l.c,
527         count_2_l.c, count_4_l.c, count_8_l.c and count_16_l.c to
528         i_count_c.  I_M4_DEPS2 depends on ifunction_logical.m4, for
529         any of the files generated from all.m4, any.m4 and count.m4.
530         * Makefile.in:  Regenerated.
531         * m4/ifunction_logical.m4:  New file.  Use
532         GFC_LOGICAL_1 pointer for access to source arrays.
533         * m4/any.m4:  Include ifunction_logical.m4 instead of
534         ifunction.m4.  Don't check atype_name.
535         * m4/all.m4:  Likewise.
536         * m4/count.m4:  Likewise.
537         * generated/any_l1.c:  New file.
538         * generated/any_l2.c:  New file.
539         * generated/all_l1.c:  New file.
540         * generated/count_1_l.c:  New file.
541         * generated/count_2_l.c:  New file.
542         * generated/count_4_l.c:  New file.
543         * generated/count_8_l.c:  New file.
544         * generated/count_16_l.c:  New file.
545         * generated/any_l4.c:  Regenerated.
546         * generated/any_l8.c:  Regenerated.
547         * generated/any_l16.c:  Regenerated.
548         * generated/all_l4.c: Regenerated.
549         * generated/all_l8.c: Regenerated.
550         * generated/all_l16.c: Regenerated.
551         * generated/count_4_l4.c:  Removed.
552         * generated/count_4_l8.c:  Removed.
553         * generated/count_4_l16.c:  Removed.
554         * generated/count_8_l4.c:  Removed.
555         * generated/count_8_l8.c:  Removed.
556         * generated/count_8_l16.c:  Removed.
557         * generated/count_16_l4.c:  Removed.
558         * generated/count_16_l8.c:  Removed.
559         * generated/count_16_l16.c:  Removed.
561 2008-01-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
563         PR libfortran/34746
564         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Use %ld
565         in printf format for all bounds checking; cast all
566         integer-like arguments to runtime_error() to long int.
567         (`m'name`'rtype_qual`_'atype_code):  Likewise.
568         (`s'name`'rtype_qual`_'atype_code):  Likewise.
569         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Likewise.
570         (`m'name`'rtype_qual`_'atype_code):  Likewise.
571         (`s'name`'rtype_qual`_'atype_code):  Likewise.
572         * generated/all_l16.c: Regenerated.
573         * generated/all_l4.c: Regenerated.
574         * generated/all_l8.c: Regenerated.
575         * generated/any_l16.c: Regenerated.
576         * generated/any_l4.c: Regenerated.
577         * generated/any_l8.c: Regenerated.
578         * generated/count_16_l16.c: Regenerated.
579         * generated/count_16_l4.c: Regenerated.
580         * generated/count_16_l8.c: Regenerated.
581         * generated/count_4_l16.c: Regenerated.
582         * generated/count_4_l4.c: Regenerated.
583         * generated/count_4_l8.c: Regenerated.
584         * generated/count_8_l16.c: Regenerated.
585         * generated/count_8_l4.c: Regenerated.
586         * generated/count_8_l8.c: Regenerated.
587         * generated/maxloc0_16_i1.c: Regenerated.
588         * generated/maxloc0_16_i16.c: Regenerated.
589         * generated/maxloc0_16_i2.c: Regenerated.
590         * generated/maxloc0_16_i4.c: Regenerated.
591         * generated/maxloc0_16_i8.c: Regenerated.
592         * generated/maxloc0_16_r10.c: Regenerated.
593         * generated/maxloc0_16_r16.c: Regenerated.
594         * generated/maxloc0_16_r4.c: Regenerated.
595         * generated/maxloc0_16_r8.c: Regenerated.
596         * generated/maxloc0_4_i1.c: Regenerated.
597         * generated/maxloc0_4_i16.c: Regenerated.
598         * generated/maxloc0_4_i2.c: Regenerated.
599         * generated/maxloc0_4_i4.c: Regenerated.
600         * generated/maxloc0_4_i8.c: Regenerated.
601         * generated/maxloc0_4_r10.c: Regenerated.
602         * generated/maxloc0_4_r16.c: Regenerated.
603         * generated/maxloc0_4_r4.c: Regenerated.
604         * generated/maxloc0_4_r8.c: Regenerated.
605         * generated/maxloc0_8_i1.c: Regenerated.
606         * generated/maxloc0_8_i16.c: Regenerated.
607         * generated/maxloc0_8_i2.c: Regenerated.
608         * generated/maxloc0_8_i4.c: Regenerated.
609         * generated/maxloc0_8_i8.c: Regenerated.
610         * generated/maxloc0_8_r10.c: Regenerated.
611         * generated/maxloc0_8_r16.c: Regenerated.
612         * generated/maxloc0_8_r4.c: Regenerated.
613         * generated/maxloc0_8_r8.c: Regenerated.
614         * generated/maxloc1_16_i1.c: Regenerated.
615         * generated/maxloc1_16_i16.c: Regenerated.
616         * generated/maxloc1_16_i2.c: Regenerated.
617         * generated/maxloc1_16_i4.c: Regenerated.
618         * generated/maxloc1_16_i8.c: Regenerated.
619         * generated/maxloc1_16_r10.c: Regenerated.
620         * generated/maxloc1_16_r16.c: Regenerated.
621         * generated/maxloc1_16_r4.c: Regenerated.
622         * generated/maxloc1_16_r8.c: Regenerated.
623         * generated/maxloc1_4_i1.c: Regenerated.
624         * generated/maxloc1_4_i16.c: Regenerated.
625         * generated/maxloc1_4_i2.c: Regenerated.
626         * generated/maxloc1_4_i4.c: Regenerated.
627         * generated/maxloc1_4_i8.c: Regenerated.
628         * generated/maxloc1_4_r10.c: Regenerated.
629         * generated/maxloc1_4_r16.c: Regenerated.
630         * generated/maxloc1_4_r4.c: Regenerated.
631         * generated/maxloc1_4_r8.c: Regenerated.
632         * generated/maxloc1_8_i1.c: Regenerated.
633         * generated/maxloc1_8_i16.c: Regenerated.
634         * generated/maxloc1_8_i2.c: Regenerated.
635         * generated/maxloc1_8_i4.c: Regenerated.
636         * generated/maxloc1_8_i8.c: Regenerated.
637         * generated/maxloc1_8_r10.c: Regenerated.
638         * generated/maxloc1_8_r16.c: Regenerated.
639         * generated/maxloc1_8_r4.c: Regenerated.
640         * generated/maxloc1_8_r8.c: Regenerated.
641         * generated/maxval_i1.c: Regenerated.
642         * generated/maxval_i16.c: Regenerated.
643         * generated/maxval_i2.c: Regenerated.
644         * generated/maxval_i4.c: Regenerated.
645         * generated/maxval_i8.c: Regenerated.
646         * generated/maxval_r10.c: Regenerated.
647         * generated/maxval_r16.c: Regenerated.
648         * generated/maxval_r4.c: Regenerated.
649         * generated/maxval_r8.c: Regenerated.
650         * generated/minloc0_16_i1.c: Regenerated.
651         * generated/minloc0_16_i16.c: Regenerated.
652         * generated/minloc0_16_i2.c: Regenerated.
653         * generated/minloc0_16_i4.c: Regenerated.
654         * generated/minloc0_16_i8.c: Regenerated.
655         * generated/minloc0_16_r10.c: Regenerated.
656         * generated/minloc0_16_r16.c: Regenerated.
657         * generated/minloc0_16_r4.c: Regenerated.
658         * generated/minloc0_16_r8.c: Regenerated.
659         * generated/minloc0_4_i1.c: Regenerated.
660         * generated/minloc0_4_i16.c: Regenerated.
661         * generated/minloc0_4_i2.c: Regenerated.
662         * generated/minloc0_4_i4.c: Regenerated.
663         * generated/minloc0_4_i8.c: Regenerated.
664         * generated/minloc0_4_r10.c: Regenerated.
665         * generated/minloc0_4_r16.c: Regenerated.
666         * generated/minloc0_4_r4.c: Regenerated.
667         * generated/minloc0_4_r8.c: Regenerated.
668         * generated/minloc0_8_i1.c: Regenerated.
669         * generated/minloc0_8_i16.c: Regenerated.
670         * generated/minloc0_8_i2.c: Regenerated.
671         * generated/minloc0_8_i4.c: Regenerated.
672         * generated/minloc0_8_i8.c: Regenerated.
673         * generated/minloc0_8_r10.c: Regenerated.
674         * generated/minloc0_8_r16.c: Regenerated.
675         * generated/minloc0_8_r4.c: Regenerated.
676         * generated/minloc0_8_r8.c: Regenerated.
677         * generated/minloc1_16_i1.c: Regenerated.
678         * generated/minloc1_16_i16.c: Regenerated.
679         * generated/minloc1_16_i2.c: Regenerated.
680         * generated/minloc1_16_i4.c: Regenerated.
681         * generated/minloc1_16_i8.c: Regenerated.
682         * generated/minloc1_16_r10.c: Regenerated.
683         * generated/minloc1_16_r16.c: Regenerated.
684         * generated/minloc1_16_r4.c: Regenerated.
685         * generated/minloc1_16_r8.c: Regenerated.
686         * generated/minloc1_4_i1.c: Regenerated.
687         * generated/minloc1_4_i16.c: Regenerated.
688         * generated/minloc1_4_i2.c: Regenerated.
689         * generated/minloc1_4_i4.c: Regenerated.
690         * generated/minloc1_4_i8.c: Regenerated.
691         * generated/minloc1_4_r10.c: Regenerated.
692         * generated/minloc1_4_r16.c: Regenerated.
693         * generated/minloc1_4_r4.c: Regenerated.
694         * generated/minloc1_4_r8.c: Regenerated.
695         * generated/minloc1_8_i1.c: Regenerated.
696         * generated/minloc1_8_i16.c: Regenerated.
697         * generated/minloc1_8_i2.c: Regenerated.
698         * generated/minloc1_8_i4.c: Regenerated.
699         * generated/minloc1_8_i8.c: Regenerated.
700         * generated/minloc1_8_r10.c: Regenerated.
701         * generated/minloc1_8_r16.c: Regenerated.
702         * generated/minloc1_8_r4.c: Regenerated.
703         * generated/minloc1_8_r8.c: Regenerated.
704         * generated/minval_i1.c: Regenerated.
705         * generated/minval_i16.c: Regenerated.
706         * generated/minval_i2.c: Regenerated.
707         * generated/minval_i4.c: Regenerated.
708         * generated/minval_i8.c: Regenerated.
709         * generated/minval_r10.c: Regenerated.
710         * generated/minval_r16.c: Regenerated.
711         * generated/minval_r4.c: Regenerated.
712         * generated/minval_r8.c: Regenerated.
713         * generated/product_c10.c: Regenerated.
714         * generated/product_c16.c: Regenerated.
715         * generated/product_c4.c: Regenerated.
716         * generated/product_c8.c: Regenerated.
717         * generated/product_i1.c: Regenerated.
718         * generated/product_i16.c: Regenerated.
719         * generated/product_i2.c: Regenerated.
720         * generated/product_i4.c: Regenerated.
721         * generated/product_i8.c: Regenerated.
722         * generated/product_r10.c: Regenerated.
723         * generated/product_r16.c: Regenerated.
724         * generated/product_r4.c: Regenerated.
725         * generated/product_r8.c: Regenerated.
726         * generated/sum_c10.c: Regenerated.
727         * generated/sum_c16.c: Regenerated.
728         * generated/sum_c4.c: Regenerated.
729         * generated/sum_c8.c: Regenerated.
730         * generated/sum_i1.c: Regenerated.
731         * generated/sum_i16.c: Regenerated.
732         * generated/sum_i2.c: Regenerated.
733         * generated/sum_i4.c: Regenerated.
734         * generated/sum_i8.c: Regenerated.
735         * generated/sum_r10.c: Regenerated.
736         * generated/sum_r16.c: Regenerated.
737         * generated/sum_r4.c: Regenerated.
738         * generated/sum_r8.c: Regenerated.
740 2008-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
742         PR libfortran/34670
743         * m4/iparm.m4 (upcase):  New macro (copied from the m4 manual).
744         (u_name):  New macro for the upper case name of the intrinsic.
745         * m4/iforeach.m4 (name`'rtype_qual`_'atype_code):  Add
746         bounds checking and rank check, depending on
747         compile_options.bounds_check.
748         (`m'name`'rtype_qual`_'atype_code):  Likewise.
749         (`s'name`'rtype_qual`_'atype_code):  Likewise.
750         * m4/ifunction.m4 (name`'rtype_qual`_'atype_code):  Add
751         bounds checking and rank check, depending on
752         compile_options.bounds_check.
753         (`m'name`'rtype_qual`_'atype_code):  Likewise.
754         (`s'name`'rtype_qual`_'atype_code):  Likewise.
755         * generated/all_l16.c: Regenerated.
756         * generated/all_l4.c: Regenerated.
757         * generated/all_l8.c: Regenerated.
758         * generated/any_l16.c: Regenerated.
759         * generated/any_l4.c: Regenerated.
760         * generated/any_l8.c: Regenerated.
761         * generated/count_16_l16.c: Regenerated.
762         * generated/count_16_l4.c: Regenerated.
763         * generated/count_16_l8.c: Regenerated.
764         * generated/count_4_l16.c: Regenerated.
765         * generated/count_4_l4.c: Regenerated.
766         * generated/count_4_l8.c: Regenerated.
767         * generated/count_8_l16.c: Regenerated.
768         * generated/count_8_l4.c: Regenerated.
769         * generated/count_8_l8.c: Regenerated.
770         * generated/maxloc0_16_i1.c: Regenerated.
771         * generated/maxloc0_16_i16.c: Regenerated.
772         * generated/maxloc0_16_i2.c: Regenerated.
773         * generated/maxloc0_16_i4.c: Regenerated.
774         * generated/maxloc0_16_i8.c: Regenerated.
775         * generated/maxloc0_16_r10.c: Regenerated.
776         * generated/maxloc0_16_r16.c: Regenerated.
777         * generated/maxloc0_16_r4.c: Regenerated.
778         * generated/maxloc0_16_r8.c: Regenerated.
779         * generated/maxloc0_4_i1.c: Regenerated.
780         * generated/maxloc0_4_i16.c: Regenerated.
781         * generated/maxloc0_4_i2.c: Regenerated.
782         * generated/maxloc0_4_i4.c: Regenerated.
783         * generated/maxloc0_4_i8.c: Regenerated.
784         * generated/maxloc0_4_r10.c: Regenerated.
785         * generated/maxloc0_4_r16.c: Regenerated.
786         * generated/maxloc0_4_r4.c: Regenerated.
787         * generated/maxloc0_4_r8.c: Regenerated.
788         * generated/maxloc0_8_i1.c: Regenerated.
789         * generated/maxloc0_8_i16.c: Regenerated.
790         * generated/maxloc0_8_i2.c: Regenerated.
791         * generated/maxloc0_8_i4.c: Regenerated.
792         * generated/maxloc0_8_i8.c: Regenerated.
793         * generated/maxloc0_8_r10.c: Regenerated.
794         * generated/maxloc0_8_r16.c: Regenerated.
795         * generated/maxloc0_8_r4.c: Regenerated.
796         * generated/maxloc0_8_r8.c: Regenerated.
797         * generated/maxloc1_16_i1.c: Regenerated.
798         * generated/maxloc1_16_i16.c: Regenerated.
799         * generated/maxloc1_16_i2.c: Regenerated.
800         * generated/maxloc1_16_i4.c: Regenerated.
801         * generated/maxloc1_16_i8.c: Regenerated.
802         * generated/maxloc1_16_r10.c: Regenerated.
803         * generated/maxloc1_16_r16.c: Regenerated.
804         * generated/maxloc1_16_r4.c: Regenerated.
805         * generated/maxloc1_16_r8.c: Regenerated.
806         * generated/maxloc1_4_i1.c: Regenerated.
807         * generated/maxloc1_4_i16.c: Regenerated.
808         * generated/maxloc1_4_i2.c: Regenerated.
809         * generated/maxloc1_4_i4.c: Regenerated.
810         * generated/maxloc1_4_i8.c: Regenerated.
811         * generated/maxloc1_4_r10.c: Regenerated.
812         * generated/maxloc1_4_r16.c: Regenerated.
813         * generated/maxloc1_4_r4.c: Regenerated.
814         * generated/maxloc1_4_r8.c: Regenerated.
815         * generated/maxloc1_8_i1.c: Regenerated.
816         * generated/maxloc1_8_i16.c: Regenerated.
817         * generated/maxloc1_8_i2.c: Regenerated.
818         * generated/maxloc1_8_i4.c: Regenerated.
819         * generated/maxloc1_8_i8.c: Regenerated.
820         * generated/maxloc1_8_r10.c: Regenerated.
821         * generated/maxloc1_8_r16.c: Regenerated.
822         * generated/maxloc1_8_r4.c: Regenerated.
823         * generated/maxloc1_8_r8.c: Regenerated.
824         * generated/maxval_i1.c: Regenerated.
825         * generated/maxval_i16.c: Regenerated.
826         * generated/maxval_i2.c: Regenerated.
827         * generated/maxval_i4.c: Regenerated.
828         * generated/maxval_i8.c: Regenerated.
829         * generated/maxval_r10.c: Regenerated.
830         * generated/maxval_r16.c: Regenerated.
831         * generated/maxval_r4.c: Regenerated.
832         * generated/maxval_r8.c: Regenerated.
833         * generated/minloc0_16_i1.c: Regenerated.
834         * generated/minloc0_16_i16.c: Regenerated.
835         * generated/minloc0_16_i2.c: Regenerated.
836         * generated/minloc0_16_i4.c: Regenerated.
837         * generated/minloc0_16_i8.c: Regenerated.
838         * generated/minloc0_16_r10.c: Regenerated.
839         * generated/minloc0_16_r16.c: Regenerated.
840         * generated/minloc0_16_r4.c: Regenerated.
841         * generated/minloc0_16_r8.c: Regenerated.
842         * generated/minloc0_4_i1.c: Regenerated.
843         * generated/minloc0_4_i16.c: Regenerated.
844         * generated/minloc0_4_i2.c: Regenerated.
845         * generated/minloc0_4_i4.c: Regenerated.
846         * generated/minloc0_4_i8.c: Regenerated.
847         * generated/minloc0_4_r10.c: Regenerated.
848         * generated/minloc0_4_r16.c: Regenerated.
849         * generated/minloc0_4_r4.c: Regenerated.
850         * generated/minloc0_4_r8.c: Regenerated.
851         * generated/minloc0_8_i1.c: Regenerated.
852         * generated/minloc0_8_i16.c: Regenerated.
853         * generated/minloc0_8_i2.c: Regenerated.
854         * generated/minloc0_8_i4.c: Regenerated.
855         * generated/minloc0_8_i8.c: Regenerated.
856         * generated/minloc0_8_r10.c: Regenerated.
857         * generated/minloc0_8_r16.c: Regenerated.
858         * generated/minloc0_8_r4.c: Regenerated.
859         * generated/minloc0_8_r8.c: Regenerated.
860         * generated/minloc1_16_i1.c: Regenerated.
861         * generated/minloc1_16_i16.c: Regenerated.
862         * generated/minloc1_16_i2.c: Regenerated.
863         * generated/minloc1_16_i4.c: Regenerated.
864         * generated/minloc1_16_i8.c: Regenerated.
865         * generated/minloc1_16_r10.c: Regenerated.
866         * generated/minloc1_16_r16.c: Regenerated.
867         * generated/minloc1_16_r4.c: Regenerated.
868         * generated/minloc1_16_r8.c: Regenerated.
869         * generated/minloc1_4_i1.c: Regenerated.
870         * generated/minloc1_4_i16.c: Regenerated.
871         * generated/minloc1_4_i2.c: Regenerated.
872         * generated/minloc1_4_i4.c: Regenerated.
873         * generated/minloc1_4_i8.c: Regenerated.
874         * generated/minloc1_4_r10.c: Regenerated.
875         * generated/minloc1_4_r16.c: Regenerated.
876         * generated/minloc1_4_r4.c: Regenerated.
877         * generated/minloc1_4_r8.c: Regenerated.
878         * generated/minloc1_8_i1.c: Regenerated.
879         * generated/minloc1_8_i16.c: Regenerated.
880         * generated/minloc1_8_i2.c: Regenerated.
881         * generated/minloc1_8_i4.c: Regenerated.
882         * generated/minloc1_8_i8.c: Regenerated.
883         * generated/minloc1_8_r10.c: Regenerated.
884         * generated/minloc1_8_r16.c: Regenerated.
885         * generated/minloc1_8_r4.c: Regenerated.
886         * generated/minloc1_8_r8.c: Regenerated.
887         * generated/minval_i1.c: Regenerated.
888         * generated/minval_i16.c: Regenerated.
889         * generated/minval_i2.c: Regenerated.
890         * generated/minval_i4.c: Regenerated.
891         * generated/minval_i8.c: Regenerated.
892         * generated/minval_r10.c: Regenerated.
893         * generated/minval_r16.c: Regenerated.
894         * generated/minval_r4.c: Regenerated.
895         * generated/minval_r8.c: Regenerated.
896         * generated/product_c10.c: Regenerated.
897         * generated/product_c16.c: Regenerated.
898         * generated/product_c4.c: Regenerated.
899         * generated/product_c8.c: Regenerated.
900         * generated/product_i1.c: Regenerated.
901         * generated/product_i16.c: Regenerated.
902         * generated/product_i2.c: Regenerated.
903         * generated/product_i4.c: Regenerated.
904         * generated/product_i8.c: Regenerated.
905         * generated/product_r10.c: Regenerated.
906         * generated/product_r16.c: Regenerated.
907         * generated/product_r4.c: Regenerated.
908         * generated/product_r8.c: Regenerated.
909         * generated/sum_c10.c: Regenerated.
910         * generated/sum_c16.c: Regenerated.
911         * generated/sum_c4.c: Regenerated.
912         * generated/sum_c8.c: Regenerated.
913         * generated/sum_i1.c: Regenerated.
914         * generated/sum_i16.c: Regenerated.
915         * generated/sum_i2.c: Regenerated.
916         * generated/sum_i4.c: Regenerated.
917         * generated/sum_i8.c: Regenerated.
918         * generated/sum_r10.c: Regenerated.
919         * generated/sum_r16.c: Regenerated.
920         * generated/sum_r4.c: Regenerated.
921         * generated/sum_r8.c: Regenerated.
923 2008-01-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
925         PR libfortran/34676
926         * io/list_read.c (next_char): Only save the EOF condition for later if
927         advance="no".
929 2008-01-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
931         PR libfortran/34565
932         * io/io.h:  Adjust protoypes for open_internal(),
933         next_array_record() and init_loop_spec().
934         * io/list_read.c (next_char):  Use argument "finished"
935         of next_array_record to check for end on internal file.
936         * io/unit.c:  Calculate the offset for an array
937         internal file and supply this informatin to open_internal().
938         * io/unix.c (open_internal):  Set the offset for the internal
939         file on open.
940         * io/transfer.c (init_loop_spec):  Calculate the starting
941         record in case of negative strides.  Return size of 0 for
942         an empty array.
943         (next_array_record):  Use an extra flag to signal that the
944         array is finished.
945         (next_record_r):  Use the new flag to next_array_record().
946         (next_record_w):  Likewise.