1 2008-09-07 Thomas Koenig <tkoenig@gcc.gnu.org>
4 * intrinsics/reshape_generic.c: Add checking on
5 out-of-bounds and duplicate values of order argument.
6 * m4/reshape.m4: Likewise.
7 * generated/reshape_c10.c: Regenerated.
8 * generated/reshape_c16.c: Regenerated.
9 * generated/reshape_c4.c: Regenerated.
10 * generated/reshape_c8.c: Regenerated.
11 * generated/reshape_i16.c: Regenerated.
12 * generated/reshape_i4.c: Regenerated.
13 * generated/reshape_i8.c: Regenerated.
14 * generated/reshape_r10.c: Regenerated.
15 * generated/reshape_r16.c: Regenerated.
16 * generated/reshape_r4.c: Regenerated.
17 * generated/reshape_r8.c: Regenerated.
19 2008-09-06 Tobias Burnus <burnus@net-b.de>
21 * libgfortran.h (likely,unlikely): New makros.
22 (runtime_warning_at,__mingw_snprintf): Add __attribute__(format()).
23 * m4/spread.m4 (spread_'rtype_code`): Use unlikely for bounds_check.
24 * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Ditto.
25 * m4/matmull.m4 (matmul_'rtype_code`): Ditto.
26 * m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code): Ditto.
27 * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Ditto.
28 * m4/matmul.m4 (matmul_'rtype_code`): Ditto.
30 * generated/minval_r8.c: Regenerated.
31 * generated/spread_r10.c: Regenerated.
32 * generated/minloc1_16_r16.c: Regenerated.
33 * generated/maxloc1_4_r8.c: Regenerated.
34 * generated/sum_i8.c: Regenerated.
35 * generated/any_l16.c: Regenerated.
36 * generated/spread_i8.c: Regenerated.
37 * generated/maxval_i2.c: Regenerated.
38 * generated/any_l2.c: Regenerated.
39 * generated/product_r4.c: Regenerated.
40 * generated/maxloc1_8_i4.c: Regenerated.
41 * generated/maxloc0_4_r4.c: Regenerated.
42 * generated/all_l1.c: Regenerated.
43 * generated/matmul_r8.c: Regenerated.
44 * generated/product_i2.c: Regenerated.
45 * generated/minloc0_4_r16.c: Regenerated.
46 * generated/minloc0_4_i1.c: Regenerated.
47 * generated/maxloc0_4_r16.c: Regenerated.
48 * generated/maxloc0_4_i2.c: Regenerated.
49 * generated/minloc1_8_r16.c: Regenerated.
50 * generated/maxloc1_8_r16.c: Regenerated.
51 * generated/maxloc0_8_i8.c: Regenerated.
52 * generated/sum_r16.c: Regenerated.
53 * generated/sum_i1.c: Regenerated.
54 * generated/minloc1_4_r8.c: Regenerated.
55 * generated/maxloc1_16_r16.c: Regenerated.
56 * generated/minloc1_16_i4.c: Regenerated.
57 * generated/maxloc1_16_i4.c: Regenerated.
58 * generated/minloc0_16_i8.c: Regenerated.
59 * generated/spread_i1.c: Regenerated.
60 * generated/maxloc0_16_i8.c: Regenerated.
61 * generated/maxval_r16.c: Regenerated.
62 * generated/product_c10.c: Regenerated.
63 * generated/minloc1_8_i4.c: Regenerated.
64 * generated/minloc0_16_i16.c: Regenerated.
65 * generated/matmul_r16.c: Regenerated.
66 * generated/minloc0_4_r4.c: Regenerated.
67 * generated/all_l2.c: Regenerated.
68 * generated/product_c4.c: Regenerated.
69 * generated/sum_r4.c: Regenerated.
70 * generated/minloc0_4_i2.c: Regenerated.
71 * generated/spread_c10.c: Regenerated.
72 * generated/maxloc0_8_i1.c: Regenerated.
73 * generated/spread_r4.c: Regenerated.
74 * generated/minloc0_8_i8.c: Regenerated.
75 * generated/matmul_c8.c: Regenerated.
76 * generated/all_l16.c: Regenerated.
77 * generated/minloc1_16_r10.c: Regenerated.
78 * generated/sum_i2.c: Regenerated.
79 * generated/minloc0_16_i1.c: Regenerated.
80 * generated/maxloc0_16_i1.c: Regenerated.
81 * generated/maxloc1_8_r8.c: Regenerated.
82 * generated/minval_i16.c: Regenerated.
83 * generated/spread_i2.c: Regenerated.
84 * generated/maxval_i4.c: Regenerated.
85 * generated/minval_i8.c: Regenerated.
86 * generated/any_l4.c: Regenerated.
87 * generated/maxloc1_4_i8.c: Regenerated.
88 * generated/maxloc0_16_i16.c: Regenerated.
89 * generated/maxloc0_8_r4.c: Regenerated.
90 * generated/minloc1_4_i16.c: Regenerated.
91 * generated/maxloc1_4_i16.c: Regenerated.
92 * generated/minloc0_4_r10.c: Regenerated.
93 * generated/minloc0_8_i16.c: Regenerated.
94 * generated/maxloc0_4_r10.c: Regenerated.
95 * generated/maxloc0_8_i16.c: Regenerated.
96 * generated/minloc1_8_r10.c: Regenerated.
97 * generated/product_i4.c: Regenerated.
98 * generated/minloc0_16_r4.c: Regenerated.
99 * generated/sum_c16.c: Regenerated.
100 * generated/maxloc1_8_r10.c: Regenerated.
101 * generated/maxloc0_16_r4.c: Regenerated.
102 * generated/minloc1_16_r8.c: Regenerated.
103 * generated/minloc0_8_i1.c: Regenerated.
104 * generated/maxloc0_4_i4.c: Regenerated.
105 * generated/maxloc1_16_r8.c: Regenerated.
106 * generated/maxloc0_8_i2.c: Regenerated.
107 * generated/sum_r10.c: Regenerated.
108 * generated/count_4_l.c: Regenerated.
109 * generated/sum_c4.c: Regenerated.
110 * generated/count_8_l.c: Regenerated.
111 * generated/maxloc1_16_r10.c: Regenerated.
112 * generated/matmul_i8.c: Regenerated.
113 * generated/minloc0_16_i2.c: Regenerated.
114 * generated/minloc1_8_r8.c: Regenerated.
115 * generated/maxloc0_16_i2.c: Regenerated.
116 * generated/spread_c4.c: Regenerated.
117 * generated/matmul_c16.c: Regenerated.
118 * generated/maxval_r10.c: Regenerated.
119 * generated/minval_i1.c: Regenerated.
120 * generated/maxloc1_4_i1.c: Regenerated.
121 * generated/matmul_r10.c: Regenerated.
122 * generated/minloc1_4_i8.c: Regenerated.
123 * generated/minloc0_8_r4.c: Regenerated.
124 * generated/matmul_l4.c: Regenerated.
125 * generated/product_i16.c: Regenerated.
126 * generated/minloc0_16_r16.c: Regenerated.
127 * generated/all_l4.c: Regenerated.
128 * generated/minloc0_4_i4.c: Regenerated.
129 * generated/minloc0_8_i2.c: Regenerated.
130 * generated/matmul_i1.c: Regenerated.
131 * generated/minval_r4.c: Regenerated.
132 * generated/maxloc1_4_r4.c: Regenerated.
133 * generated/spread_i16.c: Regenerated.
134 * generated/sum_i4.c: Regenerated.
135 * generated/maxval_r8.c: Regenerated.
136 * generated/spread_i4.c: Regenerated.
137 * generated/minloc1_4_i1.c: Regenerated.
138 * generated/minval_r16.c: Regenerated.
139 * generated/minval_i2.c: Regenerated.
140 * generated/maxloc1_4_i2.c: Regenerated.
141 * generated/product_r8.c: Regenerated.
142 * generated/maxloc1_8_i8.c: Regenerated.
143 * generated/maxloc0_4_r8.c: Regenerated.
144 * generated/maxloc0_16_r16.c: Regenerated.
145 * generated/matmul_r4.c: Regenerated.
146 * generated/sum_c10.c: Regenerated.
147 * generated/minloc1_4_r16.c: Regenerated.
148 * generated/maxloc1_4_r16.c: Regenerated.
149 * generated/minloc0_8_r16.c: Regenerated.
150 * generated/maxloc0_8_r16.c: Regenerated.
151 * generated/count_1_l.c: Regenerated.
152 * generated/maxloc0_8_i4.c: Regenerated.
153 * generated/matmul_i2.c: Regenerated.
154 * generated/minloc1_4_r4.c: Regenerated.
155 * generated/matmul_c10.c: Regenerated.
156 * generated/minloc0_16_i4.c: Regenerated.
157 * generated/maxloc0_16_i4.c: Regenerated.
158 * generated/minloc1_16_i8.c: Regenerated.
159 * generated/maxloc1_16_i8.c: Regenerated.
160 * generated/minloc1_4_i2.c: Regenerated.
161 * generated/matmul_l16.c: Regenerated.
162 * generated/maxloc1_8_i1.c: Regenerated.
163 * generated/minloc0_16_r10.c: Regenerated.
164 * generated/minloc1_8_i8.c: Regenerated.
165 * generated/minloc0_4_r8.c: Regenerated.
166 * generated/product_r16.c: Regenerated.
167 * generated/product_c8.c: Regenerated.
168 * generated/sum_r8.c: Regenerated.
169 * generated/minloc0_8_i4.c: Regenerated.
170 * generated/matmul_c4.c: Regenerated.
171 * generated/minloc1_16_i16.c: Regenerated.
172 * generated/spread_r8.c: Regenerated.
173 * generated/maxloc1_8_r4.c: Regenerated.
174 * generated/minloc1_16_i1.c: Regenerated.
175 * generated/maxloc1_16_i1.c: Regenerated.
176 * generated/spread_r16.c: Regenerated.
177 * generated/minval_r10.c: Regenerated.
178 * generated/count_16_l.c: Regenerated.
179 * generated/minval_i4.c: Regenerated.
180 * generated/minloc1_8_i1.c: Regenerated.
181 * generated/maxloc1_4_i4.c: Regenerated.
182 * generated/maxloc1_8_i2.c: Regenerated.
183 * generated/maxval_i8.c: Regenerated.
184 * generated/any_l8.c: Regenerated.
185 * generated/maxloc0_16_r10.c: Regenerated.
186 * generated/minloc0_4_i16.c: Regenerated.
187 * generated/maxloc0_8_r8.c: Regenerated.
188 * generated/maxloc0_4_i16.c: Regenerated.
189 * generated/minloc1_4_r10.c: Regenerated.
190 * generated/minloc1_8_i16.c: Regenerated.
191 * generated/maxloc1_4_r10.c: Regenerated.
192 * generated/maxloc1_8_i16.c: Regenerated.
193 * generated/minloc0_8_r10.c: Regenerated.
194 * generated/maxloc0_8_r10.c: Regenerated.
195 * generated/minloc1_16_r4.c: Regenerated.
196 * generated/maxloc1_16_r4.c: Regenerated.
197 * generated/minloc0_16_r8.c: Regenerated.
198 * generated/product_i8.c: Regenerated.
199 * generated/maxloc0_16_r8.c: Regenerated.
200 * generated/sum_i16.c: Regenerated.
201 * generated/count_2_l.c: Regenerated.
202 * generated/maxloc0_4_i8.c: Regenerated.
203 * generated/maxloc1_16_i16.c: Regenerated.
204 * generated/matmul_i4.c: Regenerated.
205 * generated/minloc1_8_r4.c: Regenerated.
206 * generated/sum_c8.c: Regenerated.
207 * generated/minloc1_16_i2.c: Regenerated.
208 * generated/maxloc1_16_i2.c: Regenerated.
209 * generated/maxval_i16.c: Regenerated.
210 * generated/spread_c8.c: Regenerated.
211 * generated/matmul_i16.c: Regenerated.
212 * generated/minloc1_4_i4.c: Regenerated.
213 * generated/maxval_i1.c: Regenerated.
214 * generated/minloc1_8_i2.c: Regenerated.
215 * generated/any_l1.c: Regenerated.
216 * generated/product_c16.c: Regenerated.
217 * generated/minloc0_8_r8.c: Regenerated.
218 * generated/matmul_l8.c: Regenerated.
219 * generated/product_r10.c: Regenerated.
220 * generated/product_i1.c: Regenerated.
221 * generated/all_l8.c: Regenerated.
222 * generated/maxloc0_4_i1.c: Regenerated.
223 * generated/minloc0_4_i8.c: Regenerated.
224 * generated/spread_c16.c: Regenerated.
225 * generated/maxval_r4.c: Regenerated.
227 2008-09-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
231 * io/io.h (write_real_g0): Declare new function to handle g0.d format.
232 * io/transfer.c (formatted_transfer_scalar): Use new function.
233 * io/format.c (parse_format_list): Enable g0.d.
234 * io/write.c (write_a_char4): Delete unused var.
235 (set_fnode_default): New function to set the default fnode w, d, and e
236 factored from write_real. (write_real): Use new factored function.
237 (write_real_g0): New function that sets d to that passed by g0.d format
238 specifier and set format to ES. Default values for w and e are used
239 from the new function, set_fnode_default.
241 2008-09-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
243 * runtime/error.c: Fix cast for printf.
245 2008-08-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
248 * io/write.c (namelist_write_newline): New function to correctly mark
249 next records in both external and internal units.
250 (nml_write_obj): Use new function.
251 (namelist_write: Use new function.
253 2008-08-19 Tobias Burnus <burnus@net-b.de>
256 * io/write.c (write_a_char4): Add missing variable declaration
259 2008-08-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
262 * intrinsics/selected_char_kind.c: Enable iso_10646.
263 * io/read.c (typedef uchar): New type.
264 (read_utf8): New function to read a single UTF-8 encoded character.
265 (read_utf8_char1): New function to read UTF-8 into a KIND=1 string.
266 (read_default_char1): New functio to read default into KIND=1 string.
267 (read_utf8_char4): New function to read UTF-8 into a KIND=4 string.
268 (read_default_char4): New function to read UTF-8 into a KIND=4 string.
269 (read_a): Modify to use the new functions.
270 (read_a_char4): Modify to use the new functions.
271 * io/write.c (error.h): Add include. (typedef uchar): New type.
272 (write_default_char4): New function to default write KIND=4 string.
273 (write_utf8_char4): New function to UTF-8 write KIND=4 string.
274 (write_a_char4): Modify to use new functions.
275 (write_character): Modify to use new functions.
277 2008-08-14 H.J. Lu <hongjiu.lu@intel.com>
280 * intrinsics/cshift0.c (cshift0): Fix 2 typos.
282 2008-08-14 Thomas Koenig <tkoenig@gcc.gnu.org>
285 * Makefile.am: Added $(i_cshift0_c).
286 Added $(i_cshift0_c) to gfor_built_specific_src.
287 Add rule to build from cshift0.m4.
288 * Makefile.in: Regenerated.
289 * libgfortran.h: Addedd prototypes for cshift0_i1,
290 cshift0_i2, cshift0_i4, cshift0_i8, cshift0_i16,
291 cshift0_r4, cshift0_r8, cshift0_r10, cshift0_r16,
292 cshift0_c4, cshift0_c8, cshift0_c10, cshift0_c16.
293 Define Macros GFC_UNALIGNED_C4 and GFC_UNALIGNED_C8.
294 * intrinsics/cshift0.c: Remove helper functions for
295 the innter shift loop.
296 (cshift0): Call specific functions depending on type
297 of array argument. Only call specific functions for
298 correct alignment for other types.
299 * m4/cshift0.m4: New file.
300 * generated/cshift0_i1.c: New file.
301 * generated/cshift0_i2.c: New file.
302 * generated/cshift0_i4.c: New file.
303 * generated/cshift0_i8:.c New file.
304 * generated/cshift0_i16.c: New file.
305 * generated/cshift0_r4.c: New file.
306 * generated/cshift0_r8.c: New file.
307 * generated/cshift0_r10.c: New file.
308 * generated/cshift0_r16.c: New file.
309 * generated/cshift0_c4.c: New file.
310 * generated/cshift0_c8.c: New file.
311 * generated/cshift0_c10.c: New file.
312 * generated/cshift0_c16.c: New file.
314 2008-07-27 Tobias Burnus <burnus@net-b.de>
319 * runtime/error.c: New function runtime_error_at.
320 * gfortran.map: Ditto.
321 * libgfortran.h: Ditto.
323 2008-07-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
326 * io/list_read.c: If variable rank is zero, do not adjust the found
327 namelist object pointer.
329 2008-07-22 Daniel Kraft <d@domob.eu>
332 * io/format.c (struct format_data): New member error_element.
333 (unexpected_element): Added '%c' to message.
334 (next_char): Keep track of last parsed character in fmt->error_element.
335 (format_error): If the message is unexpected_element, output the
336 offending character, too.
338 2008-07-22 Thomas Koenig <tkoenig@gcc.gnu.org>
341 * io/file_pos.c: Declare READ_CHUNK as signed to avoid
342 signed/unsigned comparison warning in formatted_backspace.
344 2008-07-21 Thomas Koenig <tkoenig@gcc.gnu.org>
347 * intrinsics/cshift0.c (cshift0): Return early if size of array
349 * intrinsics/eoshift0.c (eoshift0): Return early if size of
350 return array is zero.
351 * intrinsics/eoshift2.c (eoshift2): Likewise.
352 * m4/eoshift1.m4 (eoshift1): Return early if size of array
354 * m4/eoshift3.m4 (eoshift3): Likewise.
355 * m4/eoshift2.m4 (eoshift2): Return early if size of return
357 * m4/eoshift4.m4 (eoshift2): Return early if size of return
359 * generated/cshift1_16.c: Regenerated.
360 * generated/cshift1_4.c: Regenerated.
361 * generated/cshift1_8.c: Regenerated.
362 * generated/eoshift1_16.c: Regenerated.
363 * generated/eoshift1_4.c: Regenerated.
364 * generated/eoshift1_8.c: Regenerated.
365 * generated/eoshift3_16.c: Regenerated.
366 * generated/eoshift3_4.c: Regenerated.
367 * generated/eoshift3_8.c: Regenerated.
369 2008-07-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
372 * io/write_float.def: Comment out locale dependent code and fix general
375 2008-07-07 Thomas Koenig <tkoenig@gcc.gnu.org>
379 * m4/matmul.m4: Add bounds checking.
380 * m4/matmull.m4: Likewise.
381 * generated/matmul_c10.c: Regenerated.
382 * generated/matmul_c16.c: Regenerated.
383 * generated/matmul_c4.c: Regenerated.
384 * generated/matmul_c8.c: Regenerated.
385 * generated/matmul_i1.c: Regenerated.
386 * generated/matmul_i16.c: Regenerated.
387 * generated/matmul_i2.c: Regenerated.
388 * generated/matmul_i4.c: Regenerated.
389 * generated/matmul_i8.c: Regenerated.
390 * generated/matmul_l16.c: Regenerated.
391 * generated/matmul_l4.c: Regenerated.
392 * generated/matmul_l8.c: Regenerated.
393 * generated/matmul_r10.c: Regenerated.
394 * generated/matmul_r16.c: Regenerated.
395 * generated/matmul_r4.c: Regenerated.
396 * generated/matmul_r8.c: Regenerated.
398 2008-07-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
400 * acinclude.m4 (LIBGFOR_CHECK_GTHR_DEFAULT): Fix configure cache
402 * configure: Regenerate.
404 2008-07-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
407 * io/list_read.c (find_nml_name): Use eat_separator instead of eat_line.
409 2008-06-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
412 * io/list_read.c (read_character): Check for '!' along with separators.
413 (find_nml_name): Likewise and eat the comment if found.
415 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
417 * configure: Regenerate.
419 2008-06-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
422 * io/list_read.c (eat_separator): Add tab character to condition
423 for looping past whitespace.
425 2008-06-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
428 * libgfortran.h (compile_options_t): Add int range_check to structure.
429 * runtime/compile_options.c (set_options): Add range_check option.
430 (init_compile_options): Likewise.
431 *io/read.c (read_decimal): Change overflow checks to include
434 2008-06-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
437 * io/list_read.c (namelist_read): Add eat_separator to eliminate leading
440 2008-06-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
443 * libgfortran.h: Change l8_to_l4_offset to big_endian and add endian_off.
444 * runtime/main.c: Fix error in comment. Change l8_to_l4_offset to
445 big_endian. (determine_endianness): Add endian_off and set its value
446 according to big_endian.
447 * gfortran.map: Add symbol for new _gfortran_transfer_character_wide.
448 * io/io.h: Add prototype declarations for new functions.
449 * io/list_read.c (list_formatted_read_scalar): Modify to handle kind=4.
450 (list_formatted_read): Calculate stride based on kind for character type
451 and use it when calling list_formatted_read_scalar.
452 * io/inquire.c (inquire_via_unit): Change l8_to_l4_offset to big_endian.
453 * io/open.c (st_open): Change l8_to_l4_offset to big_endian.
454 * io/read.c (read_a_char4): New function to handle formatted read.
455 * io/write.c: Define GFC_CHAR4(x) to improve readability of code.
456 (write_a_char4): New function to handle formatted write.
457 (write_character): Modify to accept the kind parameter and adjust for
458 endianess of the machine. (list_formatted_write): Calculate the stride
459 resulting from the kind and adjust the list_formatted_write_scalar call
460 accordingly. (nml_write_obj): Adjust calls to write_character.
461 (namelist_write): Likewise.
462 * io/transfer.c (formatted_transfer_scaler): Rename 'len' argument to
463 'kind' argument to better describe what it is. Add calls to new
464 functions for kind == 4. (formatted_transfer): Modify to handle the case
465 of type character and kind equals 4 to pass in the kind to the transfer
466 routines. (transfer_character_wide): Add this new function.
467 (transfer_array): Don't set kind to the character string length. Adjust
468 strides bases on character kind.
469 (unformatted_read): Adjust size based on kind for character types.
470 (unformatted_write): Likewise. (data_transfer_init): Change
471 l8_to_l4_offset to big_endian.
472 io/fbuf.c (fbuf_seek): Add cast to eliminate warning.
474 2008-06-13 Tobias Burnus <burnus@net-b.de>
476 * configure.ac (AM_CFLAGS): Remove -Werror again.
477 * configure: Regenerate.
479 2008-06-13 Tobias Burnus <burnus@net-b.de>
482 * configure.ac (AM_CFLAGS): Add -Werror.
483 * configure: Regenerate.
484 * m4/ifunction_logical.m4: Cast "n" to "(int)".
485 * generated/any_l16.c: Regenerate.
486 * generated/any_l2.c: Regenerate.
487 * generated/all_l1.c: Regenerate.
488 * generated/all_l2.c: Regenerate.
489 * generated/all_l16.c: Regenerate.
490 * generated/any_l4.c: Regenerate.
491 * generated/count_4_l.c: Regenerate.
492 * generated/count_8_l.c: Regenerate.
493 * generated/all_l4.c: Regenerate.
494 * generated/count_1_l.c: Regenerate.
495 * generated/count_16_l.c: Regenerate.
496 * generated/any_l8.c: Regenerate.
497 * generated/count_2_l.c: Regenerate.
498 * generated/any_l1.c: Regenerate.
499 * generated/all_l8.c: Regenerate.
501 2008-06-13 Tobias Burnus <burnus@net-b.de>
504 * configure.ac (AM_FCFLAGS): Add "-Werror -fimplicit-none".
505 * configure: (generated) ditto.
506 * intrinsics/dprod_r8.f90: Add "implicit none".
508 2008-06-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
513 * io/io.h: Add prototype for write_real.
514 * io/transfer.c (formatted_transfer_scalar): For FMT_G and width zero,
516 * io/format.c: Add zero width error message. (parse_format_list): Use
517 error message for FMT_A if followed by FMT_ZERO. Use zero width error
518 message for FMT_G if mode is READ or if -std=f95 or f2003. (fmormat0):
520 * io/write.c(write_a): Set wlen to len if FMT_G and length is zero.
521 (write_l): Add wlen variable and use it if FMT_G and width is zero.
522 (write_decimal): If FMT_G, set m to -1 to flag processor dependent
523 formatting. (write_real): Remove static declaration.
525 2008-05-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
528 * intrinsics/string_intrinsics_inc.c (string_index): Return
529 correct value for zero-length substring.
530 * intrinsics/cshift0.c: Add _char4 variant.
531 * intrinsics/eoshift0.c (eoshift0): Allow filler to be a pattern
532 wider than a single byte. Add _char4 variant and use above
534 * intrinsics/eoshift2.c (eoshift2): Likewise.
535 * m4/eoshift1.m4: Likewise.
536 * m4/eoshift3.m4: Likewise.
537 * m4/cshift1.m4: Add _char4 variants.
538 * gfortran.map (GFORTRAN_1.1): Add _gfortran_cshift0_1_char4,
539 _gfortran_cshift0_2_char4, _gfortran_cshift0_4_char4,
540 _gfortran_cshift0_8_char4, _gfortran_cshift1_16_char4,
541 _gfortran_cshift1_4_char4, _gfortran_cshift1_8_char4,
542 _gfortran_eoshift0_1_char4, _gfortran_eoshift0_2_char4,
543 _gfortran_eoshift0_4_char4, _gfortran_eoshift0_8_char4,
544 _gfortran_eoshift1_16_char4, _gfortran_eoshift1_4_char4,
545 _gfortran_eoshift1_8_char4, _gfortran_eoshift2_1_char4,
546 _gfortran_eoshift2_2_char4, _gfortran_eoshift2_4_char4,
547 _gfortran_eoshift2_8_char4, _gfortran_eoshift3_16_char4,
548 _gfortran_eoshift3_4_char4 and _gfortran_eoshift3_8_char4.
549 * generated/eoshift3_4.c: Regenerate.
550 * generated/eoshift1_8.c: Regenerate.
551 * generated/eoshift1_16.c: Regenerate.
552 * generated/cshift1_4.c: Regenerate.
553 * generated/eoshift1_4.c: Regenerate.
554 * generated/eoshift3_8.c: Regenerate.
555 * generated/eoshift3_16.c: Regenerate.
556 * generated/cshift1_8.c: Regenerate.
557 * generated/cshift1_16.c: Regenerate.
559 2008-05-25 Tobias Burnus <burnus@net-b.de>
562 * intrinsics/iso_c_binding.c (c_f_procpointer): Remove.
563 * intrinsics/iso_c_binding.h (c_f_procpointer): Remove.
564 * gfortran.map (c_f_procpointer): Remove.
566 2008-05-22 Thomas Koenig <tkoenig@gcc.gnu.org>
569 * gfortran.map (GFORTRAN_1.1): Add _gfortran_eoshift0_16,
570 _gfortran_eoshift0_16_char, _gfortran_eoshift2_16,
571 _gfortran_eoshift2_16_char,_gfortran_cshift0_16,
572 _gfortran_cshift0_16_char. Sort alphabetically.
573 * intrinsics/eoshift0.c: Add function for kind=16 integer.
574 * intrinsics/eoshift2.c: Likewise.
575 * intrinsics/cshift0.c: Likewise.
577 2008-05-18 Thomas Koenig <tkoenig@gcc.gnu.org>
579 * m4/in_pack.m4 (internal_pack_'rtype_code`): Destination
581 * m4/transpose.m4 (transpose_'rtype_code`): Likewise.
582 * m4/pack.m4 (pack_'rtype_code`): Likewise.
583 * m4/spread.m4 (spread_'rtype_code`): Likewise.
584 (spread_scalar_'rtype_code`): Likewise.
585 * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Likewise.
586 * m4/eoshift1.m4 (eoshift1): Likewise.
587 * m4/eoshift3.m4 (eoshift3): Likewise.
588 * m4/in_unpack.m4 (internal_unpack_'rtype_ccode`): Likewise.
589 * m4/unpack.m4 (unpack0_'rtype_code`): Likewise.
590 (unpack1_'rtype_code`): Likewise.
591 * intrinsics/pack_generic.c (pack_generic.c): Likewise.
592 * intrinsics/unpack_generic.c (unpack_internal): Likewise.
593 * intrinsics/eoshift0.c (eoshift0): Likewise.
594 * intrinsics/eoshift2.c (eoshift2): Likewise.
595 * intrinsics/reshape_generic.c (reshape_internal): Likewise.
596 * intrinsics/reshape_packed.c (reshape_packed): Likewise.
597 * generated/eoshift1_16.c: Regenerated.
598 * generated/eoshift1_4.c: Regenerated.
599 * generated/eoshift1_8.c: Regenerated.
600 * generated/eoshift3_16.c: Regenerated.
601 * generated/eoshift3_4.c: Regenerated.
602 * generated/eoshift3_8.c: Regenerated.
603 * generated/in_pack_c10.c: Regenerated.
604 * generated/in_pack_c16.c: Regenerated.
605 * generated/in_pack_c4.c: Regenerated.
606 * generated/in_pack_c8.c: Regenerated.
607 * generated/in_pack_i1.c: Regenerated.
608 * generated/in_pack_i16.c: Regenerated.
609 * generated/in_pack_i2.c: Regenerated.
610 * generated/in_pack_i4.c: Regenerated.
611 * generated/in_pack_i8.c: Regenerated.
612 * generated/in_pack_r10.c: Regenerated.
613 * generated/in_pack_r16.c: Regenerated.
614 * generated/in_pack_r4.c: Regenerated.
615 * generated/in_pack_r8.c: Regenerated.
616 * generated/in_unpack_c10.c: Regenerated.
617 * generated/in_unpack_c16.c: Regenerated.
618 * generated/in_unpack_c4.c: Regenerated.
619 * generated/in_unpack_c8.c: Regenerated.
620 * generated/in_unpack_i1.c: Regenerated.
621 * generated/in_unpack_i16.c: Regenerated.
622 * generated/in_unpack_i2.c: Regenerated.
623 * generated/in_unpack_i4.c: Regenerated.
624 * generated/in_unpack_i8.c: Regenerated.
625 * generated/in_unpack_r10.c: Regenerated.
626 * generated/in_unpack_r16.c: Regenerated.
627 * generated/in_unpack_r4.c: Regenerated.
628 * generated/in_unpack_r8.c: Regenerated.
629 * generated/maxloc0_16_i1.c: Regenerated.
630 * generated/maxloc0_16_i16.c: Regenerated.
631 * generated/maxloc0_16_i2.c: Regenerated.
632 * generated/maxloc0_16_i4.c: Regenerated.
633 * generated/maxloc0_16_i8.c: Regenerated.
634 * generated/maxloc0_16_r10.c: Regenerated.
635 * generated/maxloc0_16_r16.c: Regenerated.
636 * generated/maxloc0_16_r4.c: Regenerated.
637 * generated/maxloc0_16_r8.c: Regenerated.
638 * generated/maxloc0_4_i1.c: Regenerated.
639 * generated/maxloc0_4_i16.c: Regenerated.
640 * generated/maxloc0_4_i2.c: Regenerated.
641 * generated/maxloc0_4_i4.c: Regenerated.
642 * generated/maxloc0_4_i8.c: Regenerated.
643 * generated/maxloc0_4_r10.c: Regenerated.
644 * generated/maxloc0_4_r16.c: Regenerated.
645 * generated/maxloc0_4_r4.c: Regenerated.
646 * generated/maxloc0_4_r8.c: Regenerated.
647 * generated/maxloc0_8_i1.c: Regenerated.
648 * generated/maxloc0_8_i16.c: Regenerated.
649 * generated/maxloc0_8_i2.c: Regenerated.
650 * generated/maxloc0_8_i4.c: Regenerated.
651 * generated/maxloc0_8_i8.c: Regenerated.
652 * generated/maxloc0_8_r10.c: Regenerated.
653 * generated/maxloc0_8_r16.c: Regenerated.
654 * generated/maxloc0_8_r4.c: Regenerated.
655 * generated/maxloc0_8_r8.c: Regenerated.
656 * generated/minloc0_16_i1.c: Regenerated.
657 * generated/minloc0_16_i16.c: Regenerated.
658 * generated/minloc0_16_i2.c: Regenerated.
659 * generated/minloc0_16_i4.c: Regenerated.
660 * generated/minloc0_16_i8.c: Regenerated.
661 * generated/minloc0_16_r10.c: Regenerated.
662 * generated/minloc0_16_r16.c: Regenerated.
663 * generated/minloc0_16_r4.c: Regenerated.
664 * generated/minloc0_16_r8.c: Regenerated.
665 * generated/minloc0_4_i1.c: Regenerated.
666 * generated/minloc0_4_i16.c: Regenerated.
667 * generated/minloc0_4_i2.c: Regenerated.
668 * generated/minloc0_4_i4.c: Regenerated.
669 * generated/minloc0_4_i8.c: Regenerated.
670 * generated/minloc0_4_r10.c: Regenerated.
671 * generated/minloc0_4_r16.c: Regenerated.
672 * generated/minloc0_4_r4.c: Regenerated.
673 * generated/minloc0_4_r8.c: Regenerated.
674 * generated/minloc0_8_i1.c: Regenerated.
675 * generated/minloc0_8_i16.c: Regenerated.
676 * generated/minloc0_8_i2.c: Regenerated.
677 * generated/minloc0_8_i4.c: Regenerated.
678 * generated/minloc0_8_i8.c: Regenerated.
679 * generated/minloc0_8_r10.c: Regenerated.
680 * generated/minloc0_8_r16.c: Regenerated.
681 * generated/minloc0_8_r4.c: Regenerated.
682 * generated/minloc0_8_r8.c: Regenerated.
683 * generated/pack_c10.c: Regenerated.
684 * generated/pack_c16.c: Regenerated.
685 * generated/pack_c4.c: Regenerated.
686 * generated/pack_c8.c: Regenerated.
687 * generated/pack_i1.c: Regenerated.
688 * generated/pack_i16.c: Regenerated.
689 * generated/pack_i2.c: Regenerated.
690 * generated/pack_i4.c: Regenerated.
691 * generated/pack_i8.c: Regenerated.
692 * generated/pack_r10.c: Regenerated.
693 * generated/pack_r16.c: Regenerated.
694 * generated/pack_r4.c: Regenerated.
695 * generated/pack_r8.c: Regenerated.
696 * generated/spread_c10.c: Regenerated.
697 * generated/spread_c16.c: Regenerated.
698 * generated/spread_c4.c: Regenerated.
699 * generated/spread_c8.c: Regenerated.
700 * generated/spread_i1.c: Regenerated.
701 * generated/spread_i16.c: Regenerated.
702 * generated/spread_i2.c: Regenerated.
703 * generated/spread_i4.c: Regenerated.
704 * generated/spread_i8.c: Regenerated.
705 * generated/spread_r10.c: Regenerated.
706 * generated/spread_r16.c: Regenerated.
707 * generated/spread_r4.c: Regenerated.
708 * generated/spread_r8.c: Regenerated.
709 * generated/transpose_c10.c: Regenerated.
710 * generated/transpose_c16.c: Regenerated.
711 * generated/transpose_c4.c: Regenerated.
712 * generated/transpose_c8.c: Regenerated.
713 * generated/transpose_i16.c: Regenerated.
714 * generated/transpose_i4.c: Regenerated.
715 * generated/transpose_i8.c: Regenerated.
716 * generated/transpose_r10.c: Regenerated.
717 * generated/transpose_r16.c: Regenerated.
718 * generated/transpose_r4.c: Regenerated.
719 * generated/transpose_r8.c: Regenerated.
720 * generated/unpack_c10.c: Regenerated.
721 * generated/unpack_c16.c: Regenerated.
722 * generated/unpack_c4.c: Regenerated.
723 * generated/unpack_c8.c: Regenerated.
724 * generated/unpack_i1.c: Regenerated.
725 * generated/unpack_i16.c: Regenerated.
726 * generated/unpack_i2.c: Regenerated.
727 * generated/unpack_i4.c: Regenerated.
728 * generated/unpack_i8.c: Regenerated.
729 * generated/unpack_r10.c: Regenerated.
730 * generated/unpack_r16.c: Regenerated.
731 * generated/unpack_r4.c: Regenerated.
732 * generated/unpack_r8.c: Regenerated.
734 2008-05-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
736 * runtime/select.c: Moved content to select_inc.c. Include it.
737 Add macros for different character types.
738 * runtime/select_inc.c: New file.
739 * runtime/convert_char.c: New file.
740 * intrinsics/pack_generic.c (pack_char4, pack_s_char4): New
742 * intrinsics/transpose_generic.c (transpose_char4): New function.
743 * intrinsics/spread_generic.c (spread_char4, spread_char4_scalar):
745 * intrinsics/unpack_generic.c (unpack1_char4, unpack0_char4):
747 * intrinsics/reshape_generic.c (reshape_char): Use
748 gfc_charlen_type as type for length variables.
749 (reshape_char4): New function.
750 * gfortran.map (GFORTRAN_1.1): Add _gfortran_select_string_char4,
751 _gfortran_convert_char1_to_char4, _gfortran_convert_char4_to_char1,
752 _gfortran_transpose_char4, _gfortran_spread_char4,
753 _gfortran_spread_char4_scalar, _gfortran_reshape_char4,
754 _gfortran_pack_char4, _gfortran_pack_s_char4,
755 _gfortran_unpack0_char4 and _gfortran_unpack1_char4.
756 * Makefile.am: Add runtime/convert_char.c.
757 * Makefile.in: Regenerate.
759 2008-05-17 Thomas Koenig <tkoenig@gcc.gnu.org>
761 * io/list_read.c (list_formatted_read_scalar): Declare
762 type as volatile to shut up compiler warning.
764 2008-05-16 Janne Blomqvist <jb@gcc.gnu.org>
767 * io/io.h (struct fbuf): Change pointer to position offset.
768 * io/fbuf.c (fbuf_init): Reduce default size of buffer, ptr=>pos
770 (fbuf_reset): ptr=>pos changes.
771 (fbuf_alloc): If the request doesn't fit, don't waste memory by
772 keeping flushed bytes. ptr=>pos changes.
773 (fbuf_flush): ptr=>pos changes.
774 (fbuf_seek): Don't seek past the left tab limit, don't update active
776 * io/open.c (new_unit): If RECL has been specified, used that as
779 2008-05-16 Janne Blomqvist <jb@gcc.gnu.org>
782 * io/open.c (new_unit): Set stream position to correct value.
784 2008-05-15 Janne Blomqvist <jb@gcc.gnu.org>
787 * Makefile.am: Add fbuf.c to gfor_io_src.
788 * Makefile.in: Regenerate.
789 * io/io.h (read_block): Remove.
790 (struct stream): Remove alloc_r_at function pointer.
792 (salloc_r_at): Remove.
793 (salloc_w_at): Remove.
794 (salloc_w): Remove offset argument.
795 (struct fbuf): New struct for format buffer.
796 (struct gfc_unit): Add fbuf.
797 (read_block_form): New prototype.
798 (fbuf_init): Likewise.
799 (fbuf_destroy): Likewise.
800 (fbuf_reset): Likewise.
801 (fbuf_alloc): Likewise.
802 (fbuf_flush): Likewise.
803 (fbuf_seek): Likewise.
804 * io/file_pos.c (formatted_backspace): Change to use sread.
805 (unformatted_backspace): Likewise.
806 (st_backspace): Flush format buffer.
807 (st_rewind): Likewise.
808 * io/list_read.c (next_char): Likewise.
809 (nml_query): Tidying, flush format buffer.
810 * io/open.c (new_unit): Init format buffer.
811 * io/read.c (read_l): Change to use read_block_form.
813 (read_decimal): Likewise.
814 (read_radix): Likewise.
816 (read_x): Empty reads also for stream I/O.
817 * io/transfer.c (read_sf): Change to use sread.
818 (read_block): Rename to read_block_form, change prototype, use sread.
819 (read_block_direct): Don't seek stream files.
820 (write_block): Change to use fbuf if external file, don't seek stream
822 (write_buf): Don't seek stream files.
823 (formatted_transfer_scalar): Use fbuf for external files.
824 (us_read): Change to use sread.
825 (pre_position): Do nothing for stream I/O.
826 (data_transfer_init): Flush fbuf when switching from write to read, if
827 POS is specified, seek stream file to correct offset.
828 (skip_record): Change to use sread.
829 (min_off): New function.
830 (next_record_r): Change to use sread.
831 (next_record_w): Change to use sset/sseek, flush fbuf.
832 (finalize_transfer): Flush fbuf.
833 * io/unit.c (init_units): Init fbuf for stdout, stderr.
834 (close_unit_1): Destroy fbuf.
835 (finish_last_advance_record): Flush fbuf, no need to seek.
836 * io/unix.c (fd_alloc_r_at): Remove unused where argument.
837 (fd_alloc_w_at): Likewise.
838 (fd_read): Remove third argument to fd_alloc_r_at.
839 (fd_write): Remove third argument to fd_alloc_w_at.
841 (fd_open): Don't set alloc_r_at.
842 (mem_alloc_r_at): Remove unused where argument.
843 (mem_alloc_w_at): Likewise.
844 (mem_read): Don't incorrectly return previous errno, remove unused
845 third argument to alloc function.
846 (mem_write): Likewise.
848 (open_internal): Don't set alloc_r_at pointer.
849 * io/fbuf.c: New file.
851 2008-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
853 * libgfortran.h (gfc_char4_t): New type.
854 (GFC_SIZE_OF_CHAR_KIND): New macro.
855 (compare_string): Adjust prototype.
856 (compare_string_char4): New prototype.
857 * gfortran.map (GFORTRAN_1.1): Add _gfortran_adjustl_char4,
858 _gfortran_adjustr_char4, _gfortran_compare_string_char4,
859 _gfortran_concat_string_char4, _gfortran_string_index_char4,
860 _gfortran_string_len_trim_char4, _gfortran_string_minmax_char4,
861 _gfortran_string_scan_char4, _gfortran_string_trim_char4 and
862 _gfortran_string_verify_char4.
863 * intrinsics/string_intrinsics_inc.c: New file from content of
864 string_intrinsics.c with types replaced by macros.
865 * intrinsics/string_intrinsics.c: Move content to
866 string_intrinsics_inc.c.
868 2008-05-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
871 * io/list_read (eat_separator): Handle the CR-LF case correctly.
873 2008-05-09 Julian Brown <julian@codesourcery.com>
875 * Makefile.am (LTLDFLAGS): New.
876 (libgfortran_la_LDFLAGS): Use above.
877 * Makefile.in: Regenerate.
879 2008-05-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
882 * io/transfer.c (formatted_transfer_scalar): Revert patch for PR34974.
883 (next_record_w): Likewise.
885 2008-05-04 Thomas Koenig <tkoenig@gcc.gnu.org>
888 * m4/ifunction_logical.m4: If the extent of "array"
889 is less than zero, set it to zero. Use an explicit
890 flag for breaking out of the main loop to avoid, because
891 the data pointer for "array" may be NULL for an empty
893 * m4/ifunction.m4: Likewise.
894 * generated/all_l1.c: Regenerated.
895 * generated/all_l16.c: Regenerated.
896 * generated/all_l2.c: Regenerated.
897 * generated/all_l4.c: Regenerated.
898 * generated/all_l8.c: Regenerated.
899 * generated/any_l1.c: Regenerated.
900 * generated/any_l16.c: Regenerated.
901 * generated/any_l2.c: Regenerated.
902 * generated/any_l4.c: Regenerated.
903 * generated/any_l8.c: Regenerated.
904 * generated/count_16_l.c: Regenerated.
905 * generated/count_1_l.c: Regenerated.
906 * generated/count_2_l.c: Regenerated.
907 * generated/count_4_l.c: Regenerated.
908 * generated/count_8_l.c: Regenerated.
909 * generated/maxloc1_16_i1.c: Regenerated.
910 * generated/maxloc1_16_i16.c: Regenerated.
911 * generated/maxloc1_16_i2.c: Regenerated.
912 * generated/maxloc1_16_i4.c: Regenerated.
913 * generated/maxloc1_16_i8.c: Regenerated.
914 * generated/maxloc1_16_r10.c: Regenerated.
915 * generated/maxloc1_16_r16.c: Regenerated.
916 * generated/maxloc1_16_r4.c: Regenerated.
917 * generated/maxloc1_16_r8.c: Regenerated.
918 * generated/maxloc1_4_i1.c: Regenerated.
919 * generated/maxloc1_4_i16.c: Regenerated.
920 * generated/maxloc1_4_i2.c: Regenerated.
921 * generated/maxloc1_4_i4.c: Regenerated.
922 * generated/maxloc1_4_i8.c: Regenerated.
923 * generated/maxloc1_4_r10.c: Regenerated.
924 * generated/maxloc1_4_r16.c: Regenerated.
925 * generated/maxloc1_4_r4.c: Regenerated.
926 * generated/maxloc1_4_r8.c: Regenerated.
927 * generated/maxloc1_8_i1.c: Regenerated.
928 * generated/maxloc1_8_i16.c: Regenerated.
929 * generated/maxloc1_8_i2.c: Regenerated.
930 * generated/maxloc1_8_i4.c: Regenerated.
931 * generated/maxloc1_8_i8.c: Regenerated.
932 * generated/maxloc1_8_r10.c: Regenerated.
933 * generated/maxloc1_8_r16.c: Regenerated.
934 * generated/maxloc1_8_r4.c: Regenerated.
935 * generated/maxloc1_8_r8.c: Regenerated.
936 * generated/maxval_i1.c: Regenerated.
937 * generated/maxval_i16.c: Regenerated.
938 * generated/maxval_i2.c: Regenerated.
939 * generated/maxval_i4.c: Regenerated.
940 * generated/maxval_i8.c: Regenerated.
941 * generated/maxval_r10.c: Regenerated.
942 * generated/maxval_r16.c: Regenerated.
943 * generated/maxval_r4.c: Regenerated.
944 * generated/maxval_r8.c: Regenerated.
945 * generated/minloc1_16_i1.c: Regenerated.
946 * generated/minloc1_16_i16.c: Regenerated.
947 * generated/minloc1_16_i2.c: Regenerated.
948 * generated/minloc1_16_i4.c: Regenerated.
949 * generated/minloc1_16_i8.c: Regenerated.
950 * generated/minloc1_16_r10.c: Regenerated.
951 * generated/minloc1_16_r16.c: Regenerated.
952 * generated/minloc1_16_r4.c: Regenerated.
953 * generated/minloc1_16_r8.c: Regenerated.
954 * generated/minloc1_4_i1.c: Regenerated.
955 * generated/minloc1_4_i16.c: Regenerated.
956 * generated/minloc1_4_i2.c: Regenerated.
957 * generated/minloc1_4_i4.c: Regenerated.
958 * generated/minloc1_4_i8.c: Regenerated.
959 * generated/minloc1_4_r10.c: Regenerated.
960 * generated/minloc1_4_r16.c: Regenerated.
961 * generated/minloc1_4_r4.c: Regenerated.
962 * generated/minloc1_4_r8.c: Regenerated.
963 * generated/minloc1_8_i1.c: Regenerated.
964 * generated/minloc1_8_i16.c: Regenerated.
965 * generated/minloc1_8_i2.c: Regenerated.
966 * generated/minloc1_8_i4.c: Regenerated.
967 * generated/minloc1_8_i8.c: Regenerated.
968 * generated/minloc1_8_r10.c: Regenerated.
969 * generated/minloc1_8_r16.c: Regenerated.
970 * generated/minloc1_8_r4.c: Regenerated.
971 * generated/minloc1_8_r8.c: Regenerated.
972 * generated/minval_i1.c: Regenerated.
973 * generated/minval_i16.c: Regenerated.
974 * generated/minval_i2.c: Regenerated.
975 * generated/minval_i4.c: Regenerated.
976 * generated/minval_i8.c: Regenerated.
977 * generated/minval_r10.c: Regenerated.
978 * generated/minval_r16.c: Regenerated.
979 * generated/minval_r4.c: Regenerated.
980 * generated/minval_r8.c: Regenerated.
981 * generated/product_c10.c: Regenerated.
982 * generated/product_c16.c: Regenerated.
983 * generated/product_c4.c: Regenerated.
984 * generated/product_c8.c: Regenerated.
985 * generated/product_i1.c: Regenerated.
986 * generated/product_i16.c: Regenerated.
987 * generated/product_i2.c: Regenerated.
988 * generated/product_i4.c: Regenerated.
989 * generated/product_i8.c: Regenerated.
990 * generated/product_r10.c: Regenerated.
991 * generated/product_r16.c: Regenerated.
992 * generated/product_r4.c: Regenerated.
993 * generated/product_r8.c: Regenerated.
994 * generated/sum_c10.c: Regenerated.
995 * generated/sum_c16.c: Regenerated.
996 * generated/sum_c4.c: Regenerated.
997 * generated/sum_c8.c: Regenerated.
998 * generated/sum_i1.c: Regenerated.
999 * generated/sum_i16.c: Regenerated.
1000 * generated/sum_i2.c: Regenerated.
1001 * generated/sum_i4.c: Regenerated.
1002 * generated/sum_i8.c: Regenerated.
1003 * generated/sum_r10.c: Regenerated.
1004 * generated/sum_r16.c: Regenerated.
1005 * generated/sum_r4.c: Regenerated.
1006 * generated/sum_r8.c: Regenerated.
1008 2008-05-04 Thomas Koenig <tkoenig@gcc.gnu.org>
1011 * intrinsics/pack_generic.c: Really commit.
1013 2008-05-04 Thomas Koenig <tkoenig@gcc.gnu.org>
1016 * intrinsics/pack_generic.c: If an extent of the source
1017 array is less then zero, set it to zero. Set the source
1018 pointer to NULL if the source size is zero. Set the total
1019 number of elements to zero if the vector has an extent
1020 less or equal to zero.
1021 * m4/pack.m4: Set the source pointer to NULL if the
1022 source array is zero-sized. Set the total number of
1023 elemements to zero if the vector has an extent less or
1025 * generated/pack_i1.c: Regenerated.
1026 * generated/pack_i2.c: Regenerated.
1027 * generated/pack_i4.c: Regenerated.
1028 * generated/pack_i8.c: Regenerated.
1029 * generated/pack_i16.c: Regenerated.
1030 * generated/pack_r4.c: Regenerated.
1031 * generated/pack_r8.c: Regenerated.
1032 * generated/pack_r10.c: Regenerated.
1033 * generated/pack_r16.c: Regenerated.
1034 * generated/pack_c4.c: Regenerated.
1035 * generated/pack_c8.c: Regenerated.
1036 * generated/pack_c10.c: Regenerated.
1037 * generated/pack_c16.c: Regenerated.
1039 2008-05-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1042 * runtime/error.c (show_locus): Provide modified error message when
1043 filename has not yet been associated with a unit number.
1044 * io/open.c (encoding_opt[]): Comment out "utf-8" option and add TODO.
1046 2008-04-30 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1048 * intrinsics/selected_char_kind.c: New file.
1049 * gfortran.map (GFORTRAN_1.1): Add _gfortran_selected_char_kind.
1050 * Makefile.am: Add intrinsics/selected_char_kind.c.
1051 * Makefile.in: Regenerate.
1053 2008-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
1056 * ifunction.m4 (SCALAR_ARRAY_FUNCTION): Use correct
1057 implementation for multi-dimensional return arrays when
1059 * generated/maxloc1_16_i1.c: Regenerated.
1060 * generated/maxloc1_16_i16.c: Regenerated.
1061 * generated/maxloc1_16_i2.c: Regenerated.
1062 * generated/maxloc1_16_i4.c: Regenerated.
1063 * generated/maxloc1_16_i8.c: Regenerated.
1064 * generated/maxloc1_16_r10.c: Regenerated.
1065 * generated/maxloc1_16_r16.c: Regenerated.
1066 * generated/maxloc1_16_r4.c: Regenerated.
1067 * generated/maxloc1_16_r8.c: Regenerated.
1068 * generated/maxloc1_4_i1.c: Regenerated.
1069 * generated/maxloc1_4_i16.c: Regenerated.
1070 * generated/maxloc1_4_i2.c: Regenerated.
1071 * generated/maxloc1_4_i4.c: Regenerated.
1072 * generated/maxloc1_4_i8.c: Regenerated.
1073 * generated/maxloc1_4_r10.c: Regenerated.
1074 * generated/maxloc1_4_r16.c: Regenerated.
1075 * generated/maxloc1_4_r4.c: Regenerated.
1076 * generated/maxloc1_4_r8.c: Regenerated.
1077 * generated/maxloc1_8_i1.c: Regenerated.
1078 * generated/maxloc1_8_i16.c: Regenerated.
1079 * generated/maxloc1_8_i2.c: Regenerated.
1080 * generated/maxloc1_8_i4.c: Regenerated.
1081 * generated/maxloc1_8_i8.c: Regenerated.
1082 * generated/maxloc1_8_r10.c: Regenerated.
1083 * generated/maxloc1_8_r16.c: Regenerated.
1084 * generated/maxloc1_8_r4.c: Regenerated.
1085 * generated/maxloc1_8_r8.c: Regenerated.
1086 * generated/maxval_i1.c: Regenerated.
1087 * generated/maxval_i16.c: Regenerated.
1088 * generated/maxval_i2.c: Regenerated.
1089 * generated/maxval_i4.c: Regenerated.
1090 * generated/maxval_i8.c: Regenerated.
1091 * generated/maxval_r10.c: Regenerated.
1092 * generated/maxval_r16.c: Regenerated.
1093 * generated/maxval_r4.c: Regenerated.
1094 * generated/maxval_r8.c: Regenerated.
1095 * generated/minloc1_16_i1.c: Regenerated.
1096 * generated/minloc1_16_i16.c: Regenerated.
1097 * generated/minloc1_16_i2.c: Regenerated.
1098 * generated/minloc1_16_i4.c: Regenerated.
1099 * generated/minloc1_16_i8.c: Regenerated.
1100 * generated/minloc1_16_r10.c: Regenerated.
1101 * generated/minloc1_16_r16.c: Regenerated.
1102 * generated/minloc1_16_r4.c: Regenerated.
1103 * generated/minloc1_16_r8.c: Regenerated.
1104 * generated/minloc1_4_i1.c: Regenerated.
1105 * generated/minloc1_4_i16.c: Regenerated.
1106 * generated/minloc1_4_i2.c: Regenerated.
1107 * generated/minloc1_4_i4.c: Regenerated.
1108 * generated/minloc1_4_i8.c: Regenerated.
1109 * generated/minloc1_4_r10.c: Regenerated.
1110 * generated/minloc1_4_r16.c: Regenerated.
1111 * generated/minloc1_4_r4.c: Regenerated.
1112 * generated/minloc1_4_r8.c: Regenerated.
1113 * generated/minloc1_8_i1.c: Regenerated.
1114 * generated/minloc1_8_i16.c: Regenerated.
1115 * generated/minloc1_8_i2.c: Regenerated.
1116 * generated/minloc1_8_i4.c: Regenerated.
1117 * generated/minloc1_8_i8.c: Regenerated.
1118 * generated/minloc1_8_r10.c: Regenerated.
1119 * generated/minloc1_8_r16.c: Regenerated.
1120 * generated/minloc1_8_r4.c: Regenerated.
1121 * generated/minloc1_8_r8.c: Regenerated.
1122 * generated/minval_i1.c: Regenerated.
1123 * generated/minval_i16.c: Regenerated.
1124 * generated/minval_i2.c: Regenerated.
1125 * generated/minval_i4.c: Regenerated.
1126 * generated/minval_i8.c: Regenerated.
1127 * generated/minval_r10.c: Regenerated.
1128 * generated/minval_r16.c: Regenerated.
1129 * generated/minval_r4.c: Regenerated.
1130 * generated/minval_r8.c: Regenerated.
1131 * generated/product_c10.c: Regenerated.
1132 * generated/product_c16.c: Regenerated.
1133 * generated/product_c4.c: Regenerated.
1134 * generated/product_c8.c: Regenerated.
1135 * generated/product_i1.c: Regenerated.
1136 * generated/product_i16.c: Regenerated.
1137 * generated/product_i2.c: Regenerated.
1138 * generated/product_i4.c: Regenerated.
1139 * generated/product_i8.c: Regenerated.
1140 * generated/product_r10.c: Regenerated.
1141 * generated/product_r16.c: Regenerated.
1142 * generated/product_r4.c: Regenerated.
1143 * generated/product_r8.c: Regenerated.
1144 * generated/sum_c10.c: Regenerated.
1145 * generated/sum_c16.c: Regenerated.
1146 * generated/sum_c4.c: Regenerated.
1147 * generated/sum_c8.c: Regenerated.
1148 * generated/sum_i1.c: Regenerated.
1149 * generated/sum_i16.c: Regenerated.
1150 * generated/sum_i2.c: Regenerated.
1151 * generated/sum_i4.c: Regenerated.
1152 * generated/sum_i8.c: Regenerated.
1153 * generated/sum_r10.c: Regenerated.
1154 * generated/sum_r16.c: Regenerated.
1155 * generated/sum_r4.c: Regenerated.
1156 * generated/sum_r8.c: Regenerated.
1158 2008-04-25 Thomas Koenig <tkoenig@gcc.gnu.org>
1161 * m4/reshape.m4: Fix typo in last commit.
1162 * generated/reshape_i4.c: Regererated.
1163 * generated/reshape_i8.c: Regenerated.
1164 * generated/reshape_i16.c: Regenerated.
1165 * generated/reshape_r4.c: Regenerated.
1166 * generated/reshape_r8.c: Regenerated.
1167 * generated/reshape_r10.c: Regenerated.
1168 * generated/reshape_r16.c: Regenerated.
1169 * generated/reshape_c4.c: Regenerated.
1170 * generated/reshape_c8.c: Regenerated.
1171 * generated/reshape_c10.c: Regenerated.
1172 * generated/reshape_c16.c: Regenerated.
1174 2008-04-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1176 * intrinsics/time_1.h (__time_1): Remove unused variable.
1178 2008-04-23 Thomas Koenig <tkoenig@gcc.gnu.org>
1181 * m4/matmul.m4: Only issue a runtime error if extents are
1183 * generated/matmul_i1.c: Regenerated.
1184 * generated/matmul_i2.c: Regenerated.
1185 * generated/matmul_i4.c: Regenerated.
1186 * generated/matmul_i8.c: Regenerated.
1187 * generated/matmul_i16.c: Regenerated.
1188 * generated/matmul_r4.c: Regenerated.
1189 * generated/matmul_r8.c: Regenerated.
1190 * generated/matmul_r10.c: Regenerated.
1191 * generated/matmul_r16.c: Regenerated.
1192 * generated/matmul_c4.c: Regenerated.
1193 * generated/matmul_c8.c: Regenerated.
1194 * generated/matmul_c10.c: Regenerated.
1195 * generated/matmul_c16.c: Regenerated.
1197 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1199 * acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY)
1200 (LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT)
1201 (LIBGFOR_CHECK_ATTRIBUTE_ALIAS, LIBGFOR_CHECK_SYNC_FETCH_AND_ADD)
1202 (LIBGFOR_GTHREAD_WEAK, LIBGFOR_CHECK_UNLINK_OPEN_FILE)
1203 (LIBGFOR_CHECK_CRLF, LIBGFOR_CHECK_FOR_BROKEN_ISFINITE)
1204 (LIBGFOR_CHECK_FOR_BROKEN_ISNAN)
1205 (LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY, LIBGFOR_CHECK_WORKING_STAT)
1206 (LIBGFOR_CHECK_FPSETMASK, LIBGFOR_CHECK_MINGW_SNPRINTF):
1207 Fix cache variable names.
1208 * configure, Makefile.in: Regenerate.
1210 2008-04-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1213 * intrinsics/cshift0.c (cshift0): Avoid divide by zero.
1215 2008-04-20 Thomas Koenig <tkoenig@gcc.gnu.org>
1218 * intrinsics/reshape_generic.c (reshape_internal): If the size
1219 of the resized array is zero, as determined by the SHAPE
1220 argument, return early.
1221 * m4/reshape.m4: Likewise.
1222 * generated/reshape_i4.c: Regererated.
1223 * generated/reshape_i8.c: Regenerated.
1224 * generated/reshape_i16.c: Regenerated.
1225 * generated/reshape_r4.c: Regenerated.
1226 * generated/reshape_r8.c: Regenerated.
1227 * generated/reshape_r10.c: Regenerated.
1228 * generated/reshape_r16.c: Regenerated.
1229 * generated/reshape_c4.c: Regenerated.
1230 * generated/reshape_c8.c: Regenerated.
1231 * generated/reshape_c10.c: Regenerated.
1232 * generated/reshape_c16.c: Regenerated.
1234 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
1237 * aclocal.m4: Regenerate.
1238 * configure: Regenerate.
1240 2008-04-14 Thomas Koenig <tkoenig@gcc.gnu.org>
1243 * intrinsics/spread_generic.c (spread): Use spread_i2()
1244 for GFC_DTYPE_DERIVED_2 (fix typo from previous commit).
1246 2008-04-13 Thomas Koenig <tkoenig@gcc.gnu.org>
1247 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1251 configure.ac: Add test for uintptr_t.
1252 configure: Regenerated.
1253 config.h.in: Regenerated.
1254 * libgfortran.h: GFC_DTYPE_DERIVED_1: New macro.
1255 GFC_DTYPE_DERIVED_2: New macro.
1256 GFC_DTYPE_DERIVED_4: New macro.
1257 GFC_DTYPE_DERIVED_8: New macro.
1258 GFC_DTYPE_DERIVED_16: New macro.
1259 GFC_UNALIGNED_2: New macro.
1260 GFC_UNALIGNED_4: New macro.
1261 GFC_UNALIGNED_8: New macro.
1262 GFC_UNALIGNED_16: New macro.
1263 intptr_t: Define if we don't have it.
1264 uintptr_t: Likewise.
1265 * runtime/backtrace.c (show_backtrace): Use intptr_t.
1266 * intrinsics/signal.c (signal_sub): Likewise.
1267 (signal_sub_int): Likewise.
1268 (alarm_sub_int_i4): Likewise.
1269 * intrinsics/spread_generic.c (spread): Use the integer
1270 routines for handling derived types of sizes 1, 2, 4, 8 and 16
1271 if the alignment of all pointers is correct.
1272 (spread_scalar): Likewise.
1273 * intrinsics/pack_generic.c (pack): Likewise.
1274 Use GFD_DTYPE_TYPE_SIZE to avoid nested switch statements.
1275 * intrinsics/unpack_generic.c (unpack1): Likewise.
1276 (unpack0): Likewise.
1277 * runtime/in_pack_generic.c (internal_pack): Likewise.
1278 * runtime/in_unpack_generic.c (internal_unpack): Likewise.
1280 2008-04-09 Jakub Jelinek <jakub@redhat.com>
1282 * io/list_read.c (snprintf): Define if HAVE_SNPRINTF isn't defined.
1283 (nml_read_obj): Add nml_err_msg_size argument. Pass it down to
1284 recursive call. Use snprintf instead of sprintf when %s nl->var_name
1286 (nml_get_obj_data): Add nml_err_msg_size argument. Pass it down to
1287 nml_read_obj call. Use snprintf instead of sprintf when %s
1288 nl->var_name is used. Pass nml_err_msg to nml_parse_qualifier instead
1289 of parse_err_msg array. Append " for namelist variable " and
1291 (namelist_read): Increase size of nml_err_msg array to 200. Pass
1292 sizeof nml_err_msg as extra argument to nml_get_obj_data.
1294 2008-04-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1296 PR fortran/25829 28655
1297 * io/open.c (edit_modes): Set flags.async. (new_unit) Set flags.async
1298 and flags.status. (st_open): Initialize flags.async.
1299 * io/list_read.c (read_charactor): Use delim_status instead of
1301 * io/read.c (read_x): Use pad_status instead of flags.pad.
1302 * io/inquire.c (inquire_via_unit): Add new checks.
1303 (inquire_via_filename): Likewise.
1304 * io/io.h (st_parameter_inquire): Add new flags.
1305 (st_parameter_dt): Likewise.
1306 * io/unit.c (get_internal_unit): Set flags.async. (init_units): Set
1308 * io/transfer.c: Add delim and pad option arrays. (read_sf): Use
1309 pad_status instead of flags.pad. (read_block): Likewise.
1310 (data_transfer_init): Set flags.async and add checks.
1311 * io/write.c (write_character): Use delim_status.
1312 (list_formatted_write_scalar): Likewise. (nml_write_obj): Likewise.
1313 (namelist_write): Likewise.
1315 2008-04-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1317 PR fortran/25829 28655
1318 * gfortran.map: Add new symbol, _gfortran_st_wait.
1319 * libgfortran.h (st_paramter_common): Add new I/O parameters.
1320 * open.c (st_option decimal_opt[], st_option encoding_opt[],
1321 st_option round_opt[], st_option sign_opt[], st_option async_opt[]): New
1322 parameter option arrays. (edit_modes): Add checks for new parameters.
1323 (new_unit): Likewise. (st_open): Likewise.
1324 * list_read.c (CASE_SEPERATORS): Add ';' as a valid separator.
1325 (eat_separator): Handle deimal comma. (read_logical): Fix whitespace.
1326 (parse_real): Handle decimal comma. (read_real): Handle decimal comma.
1327 * read.c (read_a): Use decimal status flag to allow comma in place of a
1328 decimal point. (read_f): Allow comma as acceptable character in float.
1329 According to decimal flag, substitute a period for a comma.
1330 (read_x): If decimal status flag is comma, disable the read_comma flag,
1331 not allowing comma as a delimiter, an extension otherwise.
1332 * io.h: (unit_decimal, unit_encoding, unit_round, unit_sign,
1333 unit_async): New enumerators. Add all new I/O parameters.
1334 * unix.c (unix_stream, int_stream): Add io_mode asychronous I/O control.
1335 (move_pos_offset, fd_alloc_w_at): Fix some whitespace.
1336 (fd_sfree): Use new enumerator. (fd_read): Likewise.
1337 (fd_write): Likewise. (fd_close): Fix whitespace.
1338 (fd_open): Use new enumertors. (tempfile, regular_file,
1339 open_external): Fix whitespace. (output_stream, error_stream): Set
1340 method. (stream_offset): Fix whitespace.
1341 * transfer.c: (st_option decimal_opt[], sign_opt[], blank_opt[]): New
1342 option arrays. (formatted_transfer_scalar): Set sf_read_comma flag
1343 based on new decimal_status flag. (data_transfer_init): Initialize new
1344 parameters. Add checks for decimal, sign, and blank. (st_wait): New stub.
1345 * format.c: (format_lex): Add format specifiers DP, DC, and D.
1346 (parse_format_list): Parse the new specifiers.
1347 * write.c (write_decimal): Use new sign enumerators to set the sign.
1348 (write_complex): Handle decimal comma and semi-colon separator.
1349 (nml_write_obj): Likewise.
1350 * write_float.def: Revise sign enumerators. (calculate_sign): Use new
1351 sign enumerators. (output_float): Likewise. Use new decimal_status flag
1352 to set the decimal character to a point or a comma.
1354 2008-03-28 Thomas Koenig <tkoenig@gcc.gnu.org>
1358 * Makefile.am: Add new variable, i_spread_c, containing
1359 pack_i1.c, pack_i2.c, pack_i4.c, pack_i8.c, spread_i16.c,
1360 spread_r4.c, spread_r8.c, spread_r10.c, spread_r16.c,
1361 spread_c4.c, spread_c8.c, spread_c10.c, spread_c16.c.
1362 * Makefile.in: Regenerated.
1363 * libgfortran.h: Add prototypes for spread_i1, spread_i2,
1364 spread_i4, spread_i8, spread_i16, spread_r4, spread_r8,
1365 spread_c4, spread_c8, spread_c10, spread_c16,
1366 spread_scalar_i1, spread_scalar_i2, spread_scalar_i4,
1367 spread_scalar_i8, spread_scalar_i16, spread_scalar_r4
1368 spread_scalar_r8, spread_scalar_c4, spread_scalar_c8,
1369 spread_scalar_c10 and spread_scalar_c16.
1370 Add macros to isolate both type and size information
1371 from array descriptors with a single mask operation.
1372 * intrinsics/spread_generic.c: Add calls to specific
1374 * m4/spread.m4: New file.
1375 * generated/spread_i1.c: New file.
1376 * generated/spread_i2.c: New file.
1377 * generated/spread_i4.c: New file.
1378 * generated/spread_i8.c: New file.
1379 * generated/spread_i16.c: New file.
1380 * generated/spread_r4.c: New file.
1381 * generated/spread_r8.c: New file.
1382 * generated/spread_r10.c: New file.
1383 * generated/spread_r16.c: New file.
1384 * generated/spread_c4.c: New file.
1385 * generated/spread_c8.c: New file.
1386 * generated/spread_c10.c: New file.
1387 * generated/spread_c16.c: New file.
1389 2008-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1392 * io/transfer.c (write_buf): Don't pad the record, just return if the
1393 data is NULL. (next_record_w): If there are bytes left in the record
1394 for unformatted direct I/O, pad out the record with zero bytes.
1396 2008-03-28 Tobias Burnus <burnus@net-b.de>
1399 * intrinsics/associated.c (associated): Ignore different
1400 stride of pointer vs. target if only one element is referred.
1402 2008-03-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1404 * io/unix.c (fd_close): Do not close STDIN.
1406 2007-03-23 Thomas Koenig <tkoenig@gcc.gnu.org
1409 * Makefile.am: Add new variable, i_unpack_c, containing
1410 unpack_i1.c, unpack_i2.c, unpack_i4.c, unpack_i8.c,
1411 unpack_i16.c, unpack_r4.c, unpack_r8.c, unpack_r10.c,
1412 unpack_r16.c, unpack_c4.c, unpack_c8.c, unpack_c10.c
1414 Add i_unpack_c to gfor_built_src.
1415 Add rule to generate i_unpack_c from m4/unpack.m4.
1416 * Makefile.in: Regenerated.
1417 * libgfortran.h: Add prototypes for unpack0_i1, unpack0_i2,
1418 unpack0_i4, unpack0_i8, unpack0_i16, unpack0_r4, unpack0_r8,
1419 unpack0_r10, unpack0_r16, unpack0_c4, unpack0_c8, unpack0_c10,
1420 unpack0_c16, unpack1_i1, unpack1_i2, unpack1_i4, unpack1_i8,
1421 unpack1_i16, unpack1_r4, unpack1_r8, unpack1_r10, unpack1_r16,
1422 unpack1_c4, unpack1_c8, unpack1_c10 and unpack1_c16.
1423 * intrinsics/pack_generic.c (unpack1): Add calls to specific
1425 (unpack0): Add calls to specific unpack0 functions.
1426 * m4/unpack.m4: New file.
1427 * generated/unpack_i1.c: New file.
1428 * generated/unpack_i2.c: New file.
1429 * generated/unpack_i4.c: New file.
1430 * generated/unpack_i8.c: New file.
1431 * generated/unpack_i16.c: New file.
1432 * generated/unpack_r4.c: New file.
1433 * generated/unpack_r8.c: New file.
1434 * generated/unpack_r10.c: New file.
1435 * generated/unpack_r16.c: New file.
1436 * generated/unpack_c4.c: New file.
1437 * generated/unpack_c8.c: New file.
1438 * generated/unpack_c10.c: New file.
1439 * generated/unpack_c16.c: New file.
1441 2008-03-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1444 * io/transfer.c (data_transfer_init): Fix whitespace.
1445 (next_record_w): Truncate the file only if the stream
1446 position is short of the file end.
1448 2008-03-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1450 * intrinsics/pack_generic.c: Fix typo.
1452 2008-03-21 Janne Blomqvist <jb@gcc.gnu.org>
1454 * gfortran.map: Move erfc_scaled symbols to new symbol node
1455 GFORTRAN_1.1, thereby fixing ABI bug introduced in r132846.
1457 2008-03-21 Thomas Koenig <tkoenig@gcc.gnu.org>
1460 * runtime/in_pack_generic.c (internal_pack): Call correct
1461 function, pack_i16, for GFC_INTEGER_16.
1463 2008-03-21 Thomas Koenig <tkoenig@gcc.gnu.org>
1466 * Makefile.am: Add new variable, i_pack_c, containing
1467 pack_i1.c, pack_i2.c, pack_i4.c, pack_i8.c, pack_i16.c,
1468 pack_r4.c, pack_r8.c, pack_r10.c, pack_r16.c, pack_c4.c,
1469 pack_c8.c, pack_c10.c, pack_c16.c.
1470 Add m4/pack.m4 to m4_files.
1471 Add i_pack_c to gfor_built_src.
1472 Add rule to generate i_pack_c from m4/pack.m4.
1473 * Makefile.in: Regenerated.
1474 * libgfortran.h: Add prototypes for pack_i1, pack_i2, pack_i4,
1475 pack_i8, pack_i16, pack_r4, pack_r8, pack_c4, pack_c8,
1477 * intrinsics/pack_generic.c: Add calls to specific
1479 * m4/pack.m4: New file.
1480 * generated/pack_i1.c: New file.
1481 * generated/pack_i2.c: New file.
1482 * generated/pack_i4.c: New file.
1483 * generated/pack_i8.c: New file.
1484 * generated/pack_i16.c: New file.
1485 * generated/pack_r4.c: New file.
1486 * generated/pack_r8.c: New file.
1487 * generated/pack_r10.c: New file.
1488 * generated/pack_r16.c: New file.
1489 * generated/pack_c4.c: New file.
1490 * generated/pack_c8.c: New file.
1491 * generated/pack_c10.c: New file.
1492 * generated/pack_c16.c: New file.
1494 2008-03-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1497 * io/list_read.c (free_line): Clear the line buffer enable flag and
1498 reset the index into line_buffer, aka item_count.
1499 (next_char): Cleanup whitespace.
1500 (read_logical): Use unget_char to assure that the first character of the
1501 bad logical is saved in case it is part of an object name. Remove the
1502 clearing of index and flag that is now in free_line.
1503 (read_real): Likewise.
1505 2008-03-19 Thomas Koenig <tkoenig@gcc.gnu.org>
1508 * runtime/in_pack_generic.c (internal_pack): Fix typo in
1511 2008-03-19 Thomas Koenig <tkoenig@gcc.gnu.org>
1514 * Makefile.am (in_pack_c): Add in_pack_i1.c, in_pack_i2.c,
1515 in_pack_r4.c, in_pack_r8.c, in_pack_r10.c and in_pack_r16.c.
1516 (in_unpack_c): Add in_unpack_i1.c, in_unpack_i2.c,
1517 in_unpack_r4.c, in_unpack_r8.c, in_unpack_r10.c and
1519 * Makefile.in: Regenerate.
1520 * libgfortran.h: Add prototypes for internal_pack_1,
1521 internal_pack_2, internal_pack_16, internal_pack_r4,
1522 internal_pack_r8, internal_pack_r10, internal_pack_r16,
1523 internal_pack_c10 and internal_pack_c16. Add prototypes for
1524 internal_unpack_1, internal_unpack_2, internal_unpack_16,
1525 internal_unpack_r4, internal_unpack_r8, internal_unpack_r10,
1526 internal_unpack_r16, internal_unpack_c10 and
1527 internal_unpack_c16.
1528 * runtime/in_pack_generic.c (internal_pack): Use sizeof instead
1530 Add calls to internal_pack_1, internal_pack_2,
1531 internal_pack_16, internal_pack_r4, internal_pack_r8,
1532 internal_pack_r10, internal_pack_r16, internal_pack_c10 and
1534 * runtime/in_unpack_generic.c (internal_unpack): Use sizeof
1535 instead of hardwired sizes.
1536 Add calls to internal_unpack_1, internal_unpack_2,
1537 internal_unpack_16, internal_unpack_r4, internal_unpack_r8,
1538 internal_unpack_r10, internal_unpack_r16, internal_unpack_c10
1539 and internal_unpack_c16.
1540 * generated/in_pack_r4.c: New file.
1541 * generated/in_pack_i2.c: New file.
1542 * generated/in_unpack_i1.c: New file.
1543 * generated/in_pack_r10.c: New file.
1544 * generated/in_unpack_r4.c: New file.
1545 * generated/in_unpack_i2.c: New file.
1546 * generated/in_unpack_r16.c: New file.
1547 * generated/in_pack_r8.c: New file.
1548 * generated/in_unpack_r10.c: New file.
1549 * generated/in_unpack_r8.c: New file.
1550 * generated/in_pack_r16.c: New file.
1551 * generated/in_pack_i1.c: New file.
1553 2008-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1556 * io/list_read.c (eat_separator): If next character after eatline is '!'
1559 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1561 * aclocal.m4: Regenerate.
1562 * configure: Likewise.
1563 * Makefile.in: Likewise.
1565 2008-03-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1568 * intrinsics/erfc_scaled_inc.c: Only define the long double
1569 variant of erfc_scaled if expl is available.
1571 2008-03-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1574 * intrinsics/random.c (scramble_seed, unscramble_seed): New
1576 (random_seed_i4): Scramble the seed the user gives us before
1577 storing it, and unscramble it when we return it back later.
1579 2008-03-05 Hans-Peter Nilsson <hp@axis.com>
1582 * io/unix.c (fd_truncate): Fold s->special_file case into
1583 success case of ftruncate/chsize call instead of the failure case.
1584 Make failure case actually return failure. Properly update stream
1585 pointers on failure. Call runtime_error for targets without
1586 neither ftruncate nor chsize where such a call would be needed.
1588 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1591 * intrinsics/erfc_scaled_inc.c: New file.
1592 * intrinsics/erfc_scaled.c: New file.
1593 * gfortran.map (GFORTRAN_1.0): Add _gfortran_erfc_scaled_r*.
1594 * Makefile.am: Add intrinsics/erfc_scaled.c.
1595 * config.h.in: Regenerate.
1596 * configure: Regenerate.
1597 * Makefile.in: Regenerate.
1599 2008-03-01 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1602 * intrinsics/time_1.h (__time_1): Fix calculation of user_usec
1605 2008-03-01 Janne Blomqvist <jb@gcc.gnu.org>
1608 * io/unit.c (destroy_unit_mutex): Call __gthread_mutex_destroy
1609 instead of macro kludge.
1611 2008-02-25 Janne Blomqvist <jb@gcc.gnu.org>
1614 * Makefile.am: Add -fcx-fortran-rules to AM_CFLAGS for all of
1616 * Makefile.in: Regenerated.
1618 2008-02-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1620 * m4/ifunction_logical.m4: Add casts to get rid of warnings.
1621 * generated/all_l1.c: Regenerate.
1622 * generated/all_l2.c: Regenerate.
1623 * generated/all_l4.c: Regenerate.
1624 * generated/all_l8.c: Regenerate.
1625 * generated/all_l16.c: Regenerate.
1626 * generated/any_l1.c: Regenerate.
1627 * generated/any_l2.c: Regenerate.
1628 * generated/any_l4.c: Regenerate.
1629 * generated/any_l8.c: Regenerate.
1630 * generated/any_l16.c: Regenerate.
1631 * generated/count_1_l.c: Regenerate.
1632 * generated/count_2_l.c: Regenerate.
1633 * generated/count_4_l.c: Regenerate.
1634 * generated/count_8_l.c: Regenerate.
1635 * generated/count_16_l.c: Regenerate.
1637 2008-02-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1640 * acinclude.m4: Don't use HAVE_MATH_H.
1641 * configure: Regenerate.
1643 2008-02-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1646 * io/transfer.c (next_record_w): Truncate after the last record for
1650 * io/transfer.c (data_transfer_init): Initialize dtp->rec if writing.
1653 * io/transfer.c (formatted_transfer_scalar): Flush the buffer if skips
1654 is less than zero. (next_record_w): Use sseek to position the file to
1655 the max position reached.
1657 2008-02-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1660 * write_float.def (output_float): Add error checks for zero digits
1661 after decimal point in E and D format specifiers.
1663 2008-02-10 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1666 * io/unit.c (destroy_unit_mutex): New function that uses
1667 __gthread_mutex_destroy_function or pthread_mutex_destroy after
1668 unlocking and before free_mem for final closure of I/O unit.
1669 (delete_root): Use new function.
1670 (free_internal_unit): Likewise.
1671 (close_unit_1): Likewise.
1673 2008-02-02 Thomas Koenig <tkoenig@gcc.gnu.org>
1676 * m4/shape.m4: Return 0 for extents <= 0.
1677 * generated/shape_i4.c: Regenerated.
1678 * generated/shape_i8.c: Regenerated.
1679 * generated/shape_i16.c: Regenerated.
1681 2008-01-27 Thomas Koenig <tkoenig@gcc.gnu.org>
1684 * m4/shape.m4: If return array is empty, return early.
1685 * generated/shape_i4.c: Regenerated.
1686 * generated/shape_i8.c: Regenerated.
1687 * generated/shape_i16.c: Regenerated.
1689 2008-01-26 Thomas Koenig <tkoenig@gcc.gnu.org>
1691 PR libfofortran/34887
1692 * io/transfer.c (next_record_w): Always move to the farthest
1693 position when completing the record (also when we are
1694 processing a slash edit descriptor).
1696 2008-01-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1699 * io/transfer.c (write_buf): Handle case of zero sized array.
1700 (transfer_array): Set data pointer to NULL and size to zero. Then
1701 make a data transfer and return.
1703 2008-01-24 David Edelsohn <edelsohn@gnu.org>
1705 * configure: Regenerate.
1707 2008-01-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1710 * io/inquire.c (inquire_via_unit): If a unit is opened, return values
1711 according to the open action for DIRECT, FORMATTED, and UNFORMATTED.
1712 (inquire_via_filename): Return "UNKNOWN" for SEQUENTIAL, DIRECT,
1713 FORAMATTED, and UNFORMATTED inquiries.
1714 * io/unix.c (inquire_sequential): Return "UNKNOWN" when appropriate
1715 for files that are not opened. (inquire_direct): Same.
1716 (inquire_formatted): Same.
1718 2008-01-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1721 * io/transfer.c (formatted_transfer_scalar): Set max_pos to the greater
1722 of the current max_pos or the newly calculated position.
1724 2008-01-18 Tobias Burnus <burnus@net-b.de>
1726 * io/write.c (write_real): Increase default precision
1727 for REAL(16) by one.
1729 2008-01-16 Steven Bosscher <steven@gcc.gnu.org>
1732 * mk-kinds-h.sh: Compile with -S to avoid calling the assembler,
1733 to avoid piping the -fdump-parse-tree output to the assembler
1734 when configuring with -pipe.
1735 * mk-sik-inc.sh: Likewise.
1736 * mk-srk-inc.sh: Likewise.
1738 2008-01-15 Thomas Koenig <tkoenig@gcc.gnu.org>
1741 * gfortran.am: Added _gfortran_all_l1, _gfortran_all_l2,
1742 _gfortran_any_l1, _gfortran_any_l2, -28,15 _gfortran_count_1_l,
1743 _gfortran_count_16_l, _gfortran_count_2_l, _gfortran_count_4_l and
1744 _gfortran_count_8_l Removed _gfortran_count_16_l16,
1745 _gfortran_count_16_l4, _gfortran_count_16_l8,
1746 _gfortran_count_4_l16, _gfortran_count_4_l4, _gfortran_count_4_l8,
1747 _gfortran_count_8_l16, _gfortran_count_8_l4 and
1748 _gfortran_count_8_l8.
1749 * Makefile.am: Added generated/any_l1.c and generated/any_l2.c to
1750 i_any_c. Added generated/all_l1. and generated/all_l2.c to
1751 i_all_c. Removed generated/count_4_l4.c, generated/count_8_l4.c,
1752 generated/count_16_l4.c, generated/count_4_l8.c,
1753 generated/count_8_l8.c, generated/count_16_l8.c,
1754 generated/count_4_l16.c, generated/count_8_l16.c, and
1755 generated/count_16_l16.c from i_count_c. Added count_1_l.c,
1756 count_2_l.c, count_4_l.c, count_8_l.c and count_16_l.c to
1757 i_count_c. I_M4_DEPS2 depends on ifunction_logical.m4, for
1758 any of the files generated from all.m4, any.m4 and count.m4.
1759 * Makefile.in: Regenerated.
1760 * m4/ifunction_logical.m4: New file. Use
1761 GFC_LOGICAL_1 pointer for access to source arrays.
1762 * m4/any.m4: Include ifunction_logical.m4 instead of
1763 ifunction.m4. Don't check atype_name.
1764 * m4/all.m4: Likewise.
1765 * m4/count.m4: Likewise.
1766 * generated/any_l1.c: New file.
1767 * generated/any_l2.c: New file.
1768 * generated/all_l1.c: New file.
1769 * generated/count_1_l.c: New file.
1770 * generated/count_2_l.c: New file.
1771 * generated/count_4_l.c: New file.
1772 * generated/count_8_l.c: New file.
1773 * generated/count_16_l.c: New file.
1774 * generated/any_l4.c: Regenerated.
1775 * generated/any_l8.c: Regenerated.
1776 * generated/any_l16.c: Regenerated.
1777 * generated/all_l4.c: Regenerated.
1778 * generated/all_l8.c: Regenerated.
1779 * generated/all_l16.c: Regenerated.
1780 * generated/count_4_l4.c: Removed.
1781 * generated/count_4_l8.c: Removed.
1782 * generated/count_4_l16.c: Removed.
1783 * generated/count_8_l4.c: Removed.
1784 * generated/count_8_l8.c: Removed.
1785 * generated/count_8_l16.c: Removed.
1786 * generated/count_16_l4.c: Removed.
1787 * generated/count_16_l8.c: Removed.
1788 * generated/count_16_l16.c: Removed.
1790 2008-01-13 Thomas Koenig <tkoenig@gcc.gnu.org>
1793 * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Use %ld
1794 in printf format for all bounds checking; cast all
1795 integer-like arguments to runtime_error() to long int.
1796 (`m'name`'rtype_qual`_'atype_code): Likewise.
1797 (`s'name`'rtype_qual`_'atype_code): Likewise.
1798 * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Likewise.
1799 (`m'name`'rtype_qual`_'atype_code): Likewise.
1800 (`s'name`'rtype_qual`_'atype_code): Likewise.
1801 * generated/all_l16.c: Regenerated.
1802 * generated/all_l4.c: Regenerated.
1803 * generated/all_l8.c: Regenerated.
1804 * generated/any_l16.c: Regenerated.
1805 * generated/any_l4.c: Regenerated.
1806 * generated/any_l8.c: Regenerated.
1807 * generated/count_16_l16.c: Regenerated.
1808 * generated/count_16_l4.c: Regenerated.
1809 * generated/count_16_l8.c: Regenerated.
1810 * generated/count_4_l16.c: Regenerated.
1811 * generated/count_4_l4.c: Regenerated.
1812 * generated/count_4_l8.c: Regenerated.
1813 * generated/count_8_l16.c: Regenerated.
1814 * generated/count_8_l4.c: Regenerated.
1815 * generated/count_8_l8.c: Regenerated.
1816 * generated/maxloc0_16_i1.c: Regenerated.
1817 * generated/maxloc0_16_i16.c: Regenerated.
1818 * generated/maxloc0_16_i2.c: Regenerated.
1819 * generated/maxloc0_16_i4.c: Regenerated.
1820 * generated/maxloc0_16_i8.c: Regenerated.
1821 * generated/maxloc0_16_r10.c: Regenerated.
1822 * generated/maxloc0_16_r16.c: Regenerated.
1823 * generated/maxloc0_16_r4.c: Regenerated.
1824 * generated/maxloc0_16_r8.c: Regenerated.
1825 * generated/maxloc0_4_i1.c: Regenerated.
1826 * generated/maxloc0_4_i16.c: Regenerated.
1827 * generated/maxloc0_4_i2.c: Regenerated.
1828 * generated/maxloc0_4_i4.c: Regenerated.
1829 * generated/maxloc0_4_i8.c: Regenerated.
1830 * generated/maxloc0_4_r10.c: Regenerated.
1831 * generated/maxloc0_4_r16.c: Regenerated.
1832 * generated/maxloc0_4_r4.c: Regenerated.
1833 * generated/maxloc0_4_r8.c: Regenerated.
1834 * generated/maxloc0_8_i1.c: Regenerated.
1835 * generated/maxloc0_8_i16.c: Regenerated.
1836 * generated/maxloc0_8_i2.c: Regenerated.
1837 * generated/maxloc0_8_i4.c: Regenerated.
1838 * generated/maxloc0_8_i8.c: Regenerated.
1839 * generated/maxloc0_8_r10.c: Regenerated.
1840 * generated/maxloc0_8_r16.c: Regenerated.
1841 * generated/maxloc0_8_r4.c: Regenerated.
1842 * generated/maxloc0_8_r8.c: Regenerated.
1843 * generated/maxloc1_16_i1.c: Regenerated.
1844 * generated/maxloc1_16_i16.c: Regenerated.
1845 * generated/maxloc1_16_i2.c: Regenerated.
1846 * generated/maxloc1_16_i4.c: Regenerated.
1847 * generated/maxloc1_16_i8.c: Regenerated.
1848 * generated/maxloc1_16_r10.c: Regenerated.
1849 * generated/maxloc1_16_r16.c: Regenerated.
1850 * generated/maxloc1_16_r4.c: Regenerated.
1851 * generated/maxloc1_16_r8.c: Regenerated.
1852 * generated/maxloc1_4_i1.c: Regenerated.
1853 * generated/maxloc1_4_i16.c: Regenerated.
1854 * generated/maxloc1_4_i2.c: Regenerated.
1855 * generated/maxloc1_4_i4.c: Regenerated.
1856 * generated/maxloc1_4_i8.c: Regenerated.
1857 * generated/maxloc1_4_r10.c: Regenerated.
1858 * generated/maxloc1_4_r16.c: Regenerated.
1859 * generated/maxloc1_4_r4.c: Regenerated.
1860 * generated/maxloc1_4_r8.c: Regenerated.
1861 * generated/maxloc1_8_i1.c: Regenerated.
1862 * generated/maxloc1_8_i16.c: Regenerated.
1863 * generated/maxloc1_8_i2.c: Regenerated.
1864 * generated/maxloc1_8_i4.c: Regenerated.
1865 * generated/maxloc1_8_i8.c: Regenerated.
1866 * generated/maxloc1_8_r10.c: Regenerated.
1867 * generated/maxloc1_8_r16.c: Regenerated.
1868 * generated/maxloc1_8_r4.c: Regenerated.
1869 * generated/maxloc1_8_r8.c: Regenerated.
1870 * generated/maxval_i1.c: Regenerated.
1871 * generated/maxval_i16.c: Regenerated.
1872 * generated/maxval_i2.c: Regenerated.
1873 * generated/maxval_i4.c: Regenerated.
1874 * generated/maxval_i8.c: Regenerated.
1875 * generated/maxval_r10.c: Regenerated.
1876 * generated/maxval_r16.c: Regenerated.
1877 * generated/maxval_r4.c: Regenerated.
1878 * generated/maxval_r8.c: Regenerated.
1879 * generated/minloc0_16_i1.c: Regenerated.
1880 * generated/minloc0_16_i16.c: Regenerated.
1881 * generated/minloc0_16_i2.c: Regenerated.
1882 * generated/minloc0_16_i4.c: Regenerated.
1883 * generated/minloc0_16_i8.c: Regenerated.
1884 * generated/minloc0_16_r10.c: Regenerated.
1885 * generated/minloc0_16_r16.c: Regenerated.
1886 * generated/minloc0_16_r4.c: Regenerated.
1887 * generated/minloc0_16_r8.c: Regenerated.
1888 * generated/minloc0_4_i1.c: Regenerated.
1889 * generated/minloc0_4_i16.c: Regenerated.
1890 * generated/minloc0_4_i2.c: Regenerated.
1891 * generated/minloc0_4_i4.c: Regenerated.
1892 * generated/minloc0_4_i8.c: Regenerated.
1893 * generated/minloc0_4_r10.c: Regenerated.
1894 * generated/minloc0_4_r16.c: Regenerated.
1895 * generated/minloc0_4_r4.c: Regenerated.
1896 * generated/minloc0_4_r8.c: Regenerated.
1897 * generated/minloc0_8_i1.c: Regenerated.
1898 * generated/minloc0_8_i16.c: Regenerated.
1899 * generated/minloc0_8_i2.c: Regenerated.
1900 * generated/minloc0_8_i4.c: Regenerated.
1901 * generated/minloc0_8_i8.c: Regenerated.
1902 * generated/minloc0_8_r10.c: Regenerated.
1903 * generated/minloc0_8_r16.c: Regenerated.
1904 * generated/minloc0_8_r4.c: Regenerated.
1905 * generated/minloc0_8_r8.c: Regenerated.
1906 * generated/minloc1_16_i1.c: Regenerated.
1907 * generated/minloc1_16_i16.c: Regenerated.
1908 * generated/minloc1_16_i2.c: Regenerated.
1909 * generated/minloc1_16_i4.c: Regenerated.
1910 * generated/minloc1_16_i8.c: Regenerated.
1911 * generated/minloc1_16_r10.c: Regenerated.
1912 * generated/minloc1_16_r16.c: Regenerated.
1913 * generated/minloc1_16_r4.c: Regenerated.
1914 * generated/minloc1_16_r8.c: Regenerated.
1915 * generated/minloc1_4_i1.c: Regenerated.
1916 * generated/minloc1_4_i16.c: Regenerated.
1917 * generated/minloc1_4_i2.c: Regenerated.
1918 * generated/minloc1_4_i4.c: Regenerated.
1919 * generated/minloc1_4_i8.c: Regenerated.
1920 * generated/minloc1_4_r10.c: Regenerated.
1921 * generated/minloc1_4_r16.c: Regenerated.
1922 * generated/minloc1_4_r4.c: Regenerated.
1923 * generated/minloc1_4_r8.c: Regenerated.
1924 * generated/minloc1_8_i1.c: Regenerated.
1925 * generated/minloc1_8_i16.c: Regenerated.
1926 * generated/minloc1_8_i2.c: Regenerated.
1927 * generated/minloc1_8_i4.c: Regenerated.
1928 * generated/minloc1_8_i8.c: Regenerated.
1929 * generated/minloc1_8_r10.c: Regenerated.
1930 * generated/minloc1_8_r16.c: Regenerated.
1931 * generated/minloc1_8_r4.c: Regenerated.
1932 * generated/minloc1_8_r8.c: Regenerated.
1933 * generated/minval_i1.c: Regenerated.
1934 * generated/minval_i16.c: Regenerated.
1935 * generated/minval_i2.c: Regenerated.
1936 * generated/minval_i4.c: Regenerated.
1937 * generated/minval_i8.c: Regenerated.
1938 * generated/minval_r10.c: Regenerated.
1939 * generated/minval_r16.c: Regenerated.
1940 * generated/minval_r4.c: Regenerated.
1941 * generated/minval_r8.c: Regenerated.
1942 * generated/product_c10.c: Regenerated.
1943 * generated/product_c16.c: Regenerated.
1944 * generated/product_c4.c: Regenerated.
1945 * generated/product_c8.c: Regenerated.
1946 * generated/product_i1.c: Regenerated.
1947 * generated/product_i16.c: Regenerated.
1948 * generated/product_i2.c: Regenerated.
1949 * generated/product_i4.c: Regenerated.
1950 * generated/product_i8.c: Regenerated.
1951 * generated/product_r10.c: Regenerated.
1952 * generated/product_r16.c: Regenerated.
1953 * generated/product_r4.c: Regenerated.
1954 * generated/product_r8.c: Regenerated.
1955 * generated/sum_c10.c: Regenerated.
1956 * generated/sum_c16.c: Regenerated.
1957 * generated/sum_c4.c: Regenerated.
1958 * generated/sum_c8.c: Regenerated.
1959 * generated/sum_i1.c: Regenerated.
1960 * generated/sum_i16.c: Regenerated.
1961 * generated/sum_i2.c: Regenerated.
1962 * generated/sum_i4.c: Regenerated.
1963 * generated/sum_i8.c: Regenerated.
1964 * generated/sum_r10.c: Regenerated.
1965 * generated/sum_r16.c: Regenerated.
1966 * generated/sum_r4.c: Regenerated.
1967 * generated/sum_r8.c: Regenerated.
1969 2008-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
1972 * m4/iparm.m4 (upcase): New macro (copied from the m4 manual).
1973 (u_name): New macro for the upper case name of the intrinsic.
1974 * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Add
1975 bounds checking and rank check, depending on
1976 compile_options.bounds_check.
1977 (`m'name`'rtype_qual`_'atype_code): Likewise.
1978 (`s'name`'rtype_qual`_'atype_code): Likewise.
1979 * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Add
1980 bounds checking and rank check, depending on
1981 compile_options.bounds_check.
1982 (`m'name`'rtype_qual`_'atype_code): Likewise.
1983 (`s'name`'rtype_qual`_'atype_code): Likewise.
1984 * generated/all_l16.c: Regenerated.
1985 * generated/all_l4.c: Regenerated.
1986 * generated/all_l8.c: Regenerated.
1987 * generated/any_l16.c: Regenerated.
1988 * generated/any_l4.c: Regenerated.
1989 * generated/any_l8.c: Regenerated.
1990 * generated/count_16_l16.c: Regenerated.
1991 * generated/count_16_l4.c: Regenerated.
1992 * generated/count_16_l8.c: Regenerated.
1993 * generated/count_4_l16.c: Regenerated.
1994 * generated/count_4_l4.c: Regenerated.
1995 * generated/count_4_l8.c: Regenerated.
1996 * generated/count_8_l16.c: Regenerated.
1997 * generated/count_8_l4.c: Regenerated.
1998 * generated/count_8_l8.c: Regenerated.
1999 * generated/maxloc0_16_i1.c: Regenerated.
2000 * generated/maxloc0_16_i16.c: Regenerated.
2001 * generated/maxloc0_16_i2.c: Regenerated.
2002 * generated/maxloc0_16_i4.c: Regenerated.
2003 * generated/maxloc0_16_i8.c: Regenerated.
2004 * generated/maxloc0_16_r10.c: Regenerated.
2005 * generated/maxloc0_16_r16.c: Regenerated.
2006 * generated/maxloc0_16_r4.c: Regenerated.
2007 * generated/maxloc0_16_r8.c: Regenerated.
2008 * generated/maxloc0_4_i1.c: Regenerated.
2009 * generated/maxloc0_4_i16.c: Regenerated.
2010 * generated/maxloc0_4_i2.c: Regenerated.
2011 * generated/maxloc0_4_i4.c: Regenerated.
2012 * generated/maxloc0_4_i8.c: Regenerated.
2013 * generated/maxloc0_4_r10.c: Regenerated.
2014 * generated/maxloc0_4_r16.c: Regenerated.
2015 * generated/maxloc0_4_r4.c: Regenerated.
2016 * generated/maxloc0_4_r8.c: Regenerated.
2017 * generated/maxloc0_8_i1.c: Regenerated.
2018 * generated/maxloc0_8_i16.c: Regenerated.
2019 * generated/maxloc0_8_i2.c: Regenerated.
2020 * generated/maxloc0_8_i4.c: Regenerated.
2021 * generated/maxloc0_8_i8.c: Regenerated.
2022 * generated/maxloc0_8_r10.c: Regenerated.
2023 * generated/maxloc0_8_r16.c: Regenerated.
2024 * generated/maxloc0_8_r4.c: Regenerated.
2025 * generated/maxloc0_8_r8.c: Regenerated.
2026 * generated/maxloc1_16_i1.c: Regenerated.
2027 * generated/maxloc1_16_i16.c: Regenerated.
2028 * generated/maxloc1_16_i2.c: Regenerated.
2029 * generated/maxloc1_16_i4.c: Regenerated.
2030 * generated/maxloc1_16_i8.c: Regenerated.
2031 * generated/maxloc1_16_r10.c: Regenerated.
2032 * generated/maxloc1_16_r16.c: Regenerated.
2033 * generated/maxloc1_16_r4.c: Regenerated.
2034 * generated/maxloc1_16_r8.c: Regenerated.
2035 * generated/maxloc1_4_i1.c: Regenerated.
2036 * generated/maxloc1_4_i16.c: Regenerated.
2037 * generated/maxloc1_4_i2.c: Regenerated.
2038 * generated/maxloc1_4_i4.c: Regenerated.
2039 * generated/maxloc1_4_i8.c: Regenerated.
2040 * generated/maxloc1_4_r10.c: Regenerated.
2041 * generated/maxloc1_4_r16.c: Regenerated.
2042 * generated/maxloc1_4_r4.c: Regenerated.
2043 * generated/maxloc1_4_r8.c: Regenerated.
2044 * generated/maxloc1_8_i1.c: Regenerated.
2045 * generated/maxloc1_8_i16.c: Regenerated.
2046 * generated/maxloc1_8_i2.c: Regenerated.
2047 * generated/maxloc1_8_i4.c: Regenerated.
2048 * generated/maxloc1_8_i8.c: Regenerated.
2049 * generated/maxloc1_8_r10.c: Regenerated.
2050 * generated/maxloc1_8_r16.c: Regenerated.
2051 * generated/maxloc1_8_r4.c: Regenerated.
2052 * generated/maxloc1_8_r8.c: Regenerated.
2053 * generated/maxval_i1.c: Regenerated.
2054 * generated/maxval_i16.c: Regenerated.
2055 * generated/maxval_i2.c: Regenerated.
2056 * generated/maxval_i4.c: Regenerated.
2057 * generated/maxval_i8.c: Regenerated.
2058 * generated/maxval_r10.c: Regenerated.
2059 * generated/maxval_r16.c: Regenerated.
2060 * generated/maxval_r4.c: Regenerated.
2061 * generated/maxval_r8.c: Regenerated.
2062 * generated/minloc0_16_i1.c: Regenerated.
2063 * generated/minloc0_16_i16.c: Regenerated.
2064 * generated/minloc0_16_i2.c: Regenerated.
2065 * generated/minloc0_16_i4.c: Regenerated.
2066 * generated/minloc0_16_i8.c: Regenerated.
2067 * generated/minloc0_16_r10.c: Regenerated.
2068 * generated/minloc0_16_r16.c: Regenerated.
2069 * generated/minloc0_16_r4.c: Regenerated.
2070 * generated/minloc0_16_r8.c: Regenerated.
2071 * generated/minloc0_4_i1.c: Regenerated.
2072 * generated/minloc0_4_i16.c: Regenerated.
2073 * generated/minloc0_4_i2.c: Regenerated.
2074 * generated/minloc0_4_i4.c: Regenerated.
2075 * generated/minloc0_4_i8.c: Regenerated.
2076 * generated/minloc0_4_r10.c: Regenerated.
2077 * generated/minloc0_4_r16.c: Regenerated.
2078 * generated/minloc0_4_r4.c: Regenerated.
2079 * generated/minloc0_4_r8.c: Regenerated.
2080 * generated/minloc0_8_i1.c: Regenerated.
2081 * generated/minloc0_8_i16.c: Regenerated.
2082 * generated/minloc0_8_i2.c: Regenerated.
2083 * generated/minloc0_8_i4.c: Regenerated.
2084 * generated/minloc0_8_i8.c: Regenerated.
2085 * generated/minloc0_8_r10.c: Regenerated.
2086 * generated/minloc0_8_r16.c: Regenerated.
2087 * generated/minloc0_8_r4.c: Regenerated.
2088 * generated/minloc0_8_r8.c: Regenerated.
2089 * generated/minloc1_16_i1.c: Regenerated.
2090 * generated/minloc1_16_i16.c: Regenerated.
2091 * generated/minloc1_16_i2.c: Regenerated.
2092 * generated/minloc1_16_i4.c: Regenerated.
2093 * generated/minloc1_16_i8.c: Regenerated.
2094 * generated/minloc1_16_r10.c: Regenerated.
2095 * generated/minloc1_16_r16.c: Regenerated.
2096 * generated/minloc1_16_r4.c: Regenerated.
2097 * generated/minloc1_16_r8.c: Regenerated.
2098 * generated/minloc1_4_i1.c: Regenerated.
2099 * generated/minloc1_4_i16.c: Regenerated.
2100 * generated/minloc1_4_i2.c: Regenerated.
2101 * generated/minloc1_4_i4.c: Regenerated.
2102 * generated/minloc1_4_i8.c: Regenerated.
2103 * generated/minloc1_4_r10.c: Regenerated.
2104 * generated/minloc1_4_r16.c: Regenerated.
2105 * generated/minloc1_4_r4.c: Regenerated.
2106 * generated/minloc1_4_r8.c: Regenerated.
2107 * generated/minloc1_8_i1.c: Regenerated.
2108 * generated/minloc1_8_i16.c: Regenerated.
2109 * generated/minloc1_8_i2.c: Regenerated.
2110 * generated/minloc1_8_i4.c: Regenerated.
2111 * generated/minloc1_8_i8.c: Regenerated.
2112 * generated/minloc1_8_r10.c: Regenerated.
2113 * generated/minloc1_8_r16.c: Regenerated.
2114 * generated/minloc1_8_r4.c: Regenerated.
2115 * generated/minloc1_8_r8.c: Regenerated.
2116 * generated/minval_i1.c: Regenerated.
2117 * generated/minval_i16.c: Regenerated.
2118 * generated/minval_i2.c: Regenerated.
2119 * generated/minval_i4.c: Regenerated.
2120 * generated/minval_i8.c: Regenerated.
2121 * generated/minval_r10.c: Regenerated.
2122 * generated/minval_r16.c: Regenerated.
2123 * generated/minval_r4.c: Regenerated.
2124 * generated/minval_r8.c: Regenerated.
2125 * generated/product_c10.c: Regenerated.
2126 * generated/product_c16.c: Regenerated.
2127 * generated/product_c4.c: Regenerated.
2128 * generated/product_c8.c: Regenerated.
2129 * generated/product_i1.c: Regenerated.
2130 * generated/product_i16.c: Regenerated.
2131 * generated/product_i2.c: Regenerated.
2132 * generated/product_i4.c: Regenerated.
2133 * generated/product_i8.c: Regenerated.
2134 * generated/product_r10.c: Regenerated.
2135 * generated/product_r16.c: Regenerated.
2136 * generated/product_r4.c: Regenerated.
2137 * generated/product_r8.c: Regenerated.
2138 * generated/sum_c10.c: Regenerated.
2139 * generated/sum_c16.c: Regenerated.
2140 * generated/sum_c4.c: Regenerated.
2141 * generated/sum_c8.c: Regenerated.
2142 * generated/sum_i1.c: Regenerated.
2143 * generated/sum_i16.c: Regenerated.
2144 * generated/sum_i2.c: Regenerated.
2145 * generated/sum_i4.c: Regenerated.
2146 * generated/sum_i8.c: Regenerated.
2147 * generated/sum_r10.c: Regenerated.
2148 * generated/sum_r16.c: Regenerated.
2149 * generated/sum_r4.c: Regenerated.
2150 * generated/sum_r8.c: Regenerated.
2152 2008-01-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2155 * io/list_read.c (next_char): Only save the EOF condition for later if
2158 2008-01-03 Thomas Koenig <tkoenig@gcc.gnu.org>
2161 * io/io.h: Adjust protoypes for open_internal(),
2162 next_array_record() and init_loop_spec().
2163 * io/list_read.c (next_char): Use argument "finished"
2164 of next_array_record to check for end on internal file.
2165 * io/unit.c: Calculate the offset for an array
2166 internal file and supply this informatin to open_internal().
2167 * io/unix.c (open_internal): Set the offset for the internal
2169 * io/transfer.c (init_loop_spec): Calculate the starting
2170 record in case of negative strides. Return size of 0 for
2172 (next_array_record): Use an extra flag to signal that the
2174 (next_record_r): Use the new flag to next_array_record().
2175 (next_record_w): Likewise.