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