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