OSDN Git Service

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