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