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