1 2009-12-19 Janne Blomqvist <jb@gcc.gnu.org>
3 * intrinsics/system_clock.c: Fix library name in comment, move TCK
4 definition into functions.
5 (system_clock_4): Remove unused struct timezone.
6 (system_clock_8): Remove unused struct timezone, increase TCK.
8 2009-12-08 Tobias Burnus <burnus@net-b.de>
11 * io/read.c (set_integer): Support kind=10 for reading
14 2009-12-06 Janus Weil <janus@gcc.gnu.org>
18 * intrinsics/pack_generic.c (pack): Add safety checks for the case that
21 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
23 * Makefile.in: Regenerate.
24 * configure: Regenerate.
26 2009-12-04 Janne Blomqvist <jb@gcc.gnu.org>
29 * libgfortran.h: typedef gfc_offset differently for MinGW.
30 * io/unix.h (struct stream): Change function pointers to use
31 gfc_offset instead of off_t.
32 (sseek): Change prototype to use gfc_offset instead of off_t.
34 (struncate): Likewise.
35 * io/unix.c: Redefine lseek() for mingw.
36 (raw_seek): Use gfc_offset instead of off_t.
40 (buf_truncate): Likewise.
43 (mem_truncate): Likewise.
44 (fd_to_stream): Likewise.
45 (file_length): Likewise.
46 (raw_truncate): Use gfc_offset instead of off_t, add large file
47 capable implementation for MinGW.
49 2009-11-30 Janus Weil <janus@gcc.gnu.org>
51 * gfortran.map: Add _gfortran_is_extension_of.
52 * Makefile.am: Add intrinsics/extends_type_of.c.
53 * Makefile.in: Regenerated.
54 * intrinsics/extends_type_of.c: New file.
56 2009-11-30 Kai Tietz <Kai.Tietz@onevision.com>
58 * io/unix.c (find_file): Add variable id conditionally for
61 2009-11-28 Jakub Jelinek <jakub@redhat.com>
63 * intrinsics/pack_generic.c (pack_internal): Remove unused
65 * intrinsics/unpack_generic.c (unpack0): Remove unused size
67 * io/write.c (namelist_write_newline): Remove unused length
69 * io/unix.c (find_file): Remove unused id variable.
70 * m4/ifunction.m4 (SCALAR_ARRAY_FUNCTION): Remove unused sstride
72 * generated/maxloc1_16_i1.c: Regenerated.
73 * generated/maxloc1_16_i16.c: Regenerated.
74 * generated/maxloc1_16_i2.c: Regenerated.
75 * generated/maxloc1_16_i4.c: Regenerated.
76 * generated/maxloc1_16_i8.c: Regenerated.
77 * generated/maxloc1_16_r10.c: Regenerated.
78 * generated/maxloc1_16_r16.c: Regenerated.
79 * generated/maxloc1_16_r4.c: Regenerated.
80 * generated/maxloc1_16_r8.c: Regenerated.
81 * generated/maxloc1_4_i1.c: Regenerated.
82 * generated/maxloc1_4_i16.c: Regenerated.
83 * generated/maxloc1_4_i2.c: Regenerated.
84 * generated/maxloc1_4_i4.c: Regenerated.
85 * generated/maxloc1_4_i8.c: Regenerated.
86 * generated/maxloc1_4_r10.c: Regenerated.
87 * generated/maxloc1_4_r16.c: Regenerated.
88 * generated/maxloc1_4_r4.c: Regenerated.
89 * generated/maxloc1_4_r8.c: Regenerated.
90 * generated/maxloc1_8_i1.c: Regenerated.
91 * generated/maxloc1_8_i16.c: Regenerated.
92 * generated/maxloc1_8_i2.c: Regenerated.
93 * generated/maxloc1_8_i4.c: Regenerated.
94 * generated/maxloc1_8_i8.c: Regenerated.
95 * generated/maxloc1_8_r10.c: Regenerated.
96 * generated/maxloc1_8_r16.c: Regenerated.
97 * generated/maxloc1_8_r4.c: Regenerated.
98 * generated/maxloc1_8_r8.c: Regenerated.
99 * generated/maxval_i1.c: Regenerated.
100 * generated/maxval_i16.c: Regenerated.
101 * generated/maxval_i2.c: Regenerated.
102 * generated/maxval_i4.c: Regenerated.
103 * generated/maxval_i8.c: Regenerated.
104 * generated/maxval_r10.c: Regenerated.
105 * generated/maxval_r16.c: Regenerated.
106 * generated/maxval_r4.c: Regenerated.
107 * generated/maxval_r8.c: Regenerated.
108 * generated/minloc1_16_i1.c: Regenerated.
109 * generated/minloc1_16_i16.c: Regenerated.
110 * generated/minloc1_16_i2.c: Regenerated.
111 * generated/minloc1_16_i4.c: Regenerated.
112 * generated/minloc1_16_i8.c: Regenerated.
113 * generated/minloc1_16_r10.c: Regenerated.
114 * generated/minloc1_16_r16.c: Regenerated.
115 * generated/minloc1_16_r4.c: Regenerated.
116 * generated/minloc1_16_r8.c: Regenerated.
117 * generated/minloc1_4_i1.c: Regenerated.
118 * generated/minloc1_4_i16.c: Regenerated.
119 * generated/minloc1_4_i2.c: Regenerated.
120 * generated/minloc1_4_i4.c: Regenerated.
121 * generated/minloc1_4_i8.c: Regenerated.
122 * generated/minloc1_4_r10.c: Regenerated.
123 * generated/minloc1_4_r16.c: Regenerated.
124 * generated/minloc1_4_r4.c: Regenerated.
125 * generated/minloc1_4_r8.c: Regenerated.
126 * generated/minloc1_8_i1.c: Regenerated.
127 * generated/minloc1_8_i16.c: Regenerated.
128 * generated/minloc1_8_i2.c: Regenerated.
129 * generated/minloc1_8_i4.c: Regenerated.
130 * generated/minloc1_8_i8.c: Regenerated.
131 * generated/minloc1_8_r10.c: Regenerated.
132 * generated/minloc1_8_r16.c: Regenerated.
133 * generated/minloc1_8_r4.c: Regenerated.
134 * generated/minloc1_8_r8.c: Regenerated.
135 * generated/minval_i1.c: Regenerated.
136 * generated/minval_i16.c: Regenerated.
137 * generated/minval_i2.c: Regenerated.
138 * generated/minval_i4.c: Regenerated.
139 * generated/minval_i8.c: Regenerated.
140 * generated/minval_r10.c: Regenerated.
141 * generated/minval_r16.c: Regenerated.
142 * generated/minval_r4.c: Regenerated.
143 * generated/minval_r8.c: Regenerated.
144 * generated/product_c10.c: Regenerated.
145 * generated/product_c16.c: Regenerated.
146 * generated/product_c4.c: Regenerated.
147 * generated/product_c8.c: Regenerated.
148 * generated/product_i1.c: Regenerated.
149 * generated/product_i16.c: Regenerated.
150 * generated/product_i2.c: Regenerated.
151 * generated/product_i4.c: Regenerated.
152 * generated/product_i8.c: Regenerated.
153 * generated/product_r10.c: Regenerated.
154 * generated/product_r16.c: Regenerated.
155 * generated/product_r4.c: Regenerated.
156 * generated/product_r8.c: Regenerated.
157 * generated/sum_c10.c: Regenerated.
158 * generated/sum_c16.c: Regenerated.
159 * generated/sum_c4.c: Regenerated.
160 * generated/sum_c8.c: Regenerated.
161 * generated/sum_i1.c: Regenerated.
162 * generated/sum_i16.c: Regenerated.
163 * generated/sum_i2.c: Regenerated.
164 * generated/sum_i4.c: Regenerated.
165 * generated/sum_i8.c: Regenerated.
166 * generated/sum_r10.c: Regenerated.
167 * generated/sum_r16.c: Regenerated.
168 * generated/sum_r4.c: Regenerated.
169 * generated/sum_r8.c: Regenerated.
171 2009-11-19 Janne Blomqvist <jb@gcc.gnu.org>
173 * io/fbuf.h: Move includes after include guard.
174 * io/format.h: Likewise.
175 * io/unix.h: Likewise.
177 2009-11-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
180 * io/transfer.c (skip_record): Set bytes_left_subrecord to zero after
181 skipping the remaining bytes in the record.
182 (next_record_r): Call skip_record with the number of bytes_left to be
185 2009-11-02 Janne Blomqvist <jb@gcc.gnu.org>
187 * Makefile.am (gfor_io_headers): Add fbuf.h, format.h, unix.h.
188 * Makefile.in: Regenerated.
189 * io/fbuf.h: New file.
190 * io/format.h: New file.
191 * io/unix.h: New file.
192 * io/io.h (struct stream): Move to unix.h, add forward declaration.
197 (struncate): Likewise.
201 (compared_files): Move prototype to unix.h.
202 (open_external): Likewise.
203 (open_internal): Likewise.
204 (mem_alloc_w): Likewise.
205 (mem_alloc_r): Likewise.
206 (input_stream): Likewise.
207 (output_stream): Likewise.
208 (error_stream): Likewise.
209 (compare_file_filename): Likewise.
210 (find_file): Likewise.
211 (delete_file): Likewise.
212 (file_exists): Likewise.
213 (inquire_sequential): Likewise.
214 (inquire_direct): Likewise.
215 (inquire_formatted): Likewise.
216 (inquire_unformatted): Likewise.
217 (inquire_read): Likewise.
218 (inquire_write): Likewise.
219 (inquire_readwrite): Likewise.
220 (file_length): Likewise.
221 (is_seekable): Likewise.
222 (is_special): Likewise.
223 (flush_if_preconnected): Likewise.
224 (empty_internal_buffer): Likewise.
225 (stream_isatty): Likewise.
226 (stream_ttyname): Likewise.
227 (unpack_filename): Likewise.
228 (struct fbuf): Move to fbuf.h, add forward declaration.
229 (fbuf_init): Move prototype to fbuf.h.
230 (fbuf_destroy): Likewise.
231 (fbuf_reset): Likewise.
232 (fbuf_alloc): Likewise.
233 (fbuf_flush): Likewise.
234 (fbuf_seek): Likewise.
235 (fbuf_read): Likewise.
236 (fbuf_getc_refill): Likewise.
237 (fbuf_getc): Move inline function to fbuf.h.
238 (enum format_token): Move to format.h.
239 (struct fnode): Move to format.h, add forward declaration.
240 (parse_format): Move prototype to format.h.
241 (next_format): Likewise.
242 (unget_format): Likewise.
243 (format_error): Likewise.
244 (free_format_data): Likewise.
245 (free_format_hash_table): Likewise.
246 (init_format_hash): Likewise.
247 (free_format_hash): Likewise.
248 * io/close.c: Include unix.h.
249 * io/fbuf.c: Include fbuf.h and unix.h.
250 * io/file_pos.c: Include fbuf.h and unix.h.
251 * io/format.c: Include format.h.
252 * io/inquire.c: Include unix.h.
253 * io/intrinsics.c: Include fbuf.h and unix.h.
254 * io/list_read.c: Include fbuf.h and unix.h.
255 * io/open.c: Include fbuf.h and unix.h.
256 * io/read.c: Include format.h.
257 * io/transfer.c: Include fbuf.h, format.h, and unix.h.
258 * io/unit.c: Likewise.
259 * io/unix.c: Include unix.h.
260 * io/write.c: Include format.h and unix.h.
262 2009-10-31 Janne Blomqvist <jb@gcc.gnu.org>
265 * intrinsics/unpack_generic.c (unpack_internal): Remove unused
266 argument from prototype.
267 (unpack1): Update unpack_internal call.
268 (unpack1_char): Likewise.
269 (unpack1_char4): Likewise.
271 (unpack0_char): Likewise.
272 (unpack0_char4): Likewise.
273 * intrinsics/iso_c_binding.c (c_f_pointer_u0): Get rid of
274 uninitialized variable warning.
276 2009-10-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
279 * libgfortran.h: Define larger sizes for BOZ conversion buffers.
280 * io/write.c (extract_uint): Include case where size is 10 if integer
281 is large enough. (write_int): Rename to write_boz. (write_boz): Factor
282 out extract_uint and delete the conversion function.
283 (btoa_big): New binary conversion function.
284 (otoa_big): New octal conversion function.
285 (ztoa_big): New hexidecimal conversion function.
286 (write_b): Modify to use new function.
290 2009-10-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
293 * io/format.c (parse_format_list): Allow a repeat specifier immediately
296 2009-10-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
299 * io/format.c (parse_format_list): Correct logic for FMT_F reading vs
300 writing. Code clean-up.
302 2009-10-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
305 * io/format.c (parse_format_list): Add check for tokens not allowed
306 after P specifier. Fix comments. Remove un-needed code. Fix the
307 default exponent list. Correct pointer assignment error.
309 2009-10-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
312 * write_float.def (outout_float): Fix handling of special case where no
313 digits after the decimal point and values less than 1.0. Adjust index
314 into digits string. (WRITE_FLOAT): Remove special case code from macro.
316 2009-09-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
319 * io.h (gfc_unit): Add round_status.
320 (format_token): Add enumerators for rounding format specifiers.
321 * transfer.c (round_opt): New options table.
322 (formatted_transfer_scalar_read): Add set round_status for each rounding
323 format token. (formatted_transfer_scalar_write): Likewise.
324 * format.c (format_lex): Tokenize the rounding format specifiers.
325 (parse_format_list): Parse the rounding format specifiers.
326 * write_float.def (outout_float): Modify rounding code to use new
327 variable rchar to set the appropriate rounding. Fix some whitespace.
328 * unit.c (get_internal_unit): Initialize rounding mode for internal
329 units. (init_units): Likewise.
331 2009-09-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
333 * configure.ac: Check for GFORTRAN_C99_1.1 funcs in OS libm.
334 * configure: Regenerate.
335 * config.h.in: Ditto.
337 2009-09-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
340 * io/transfer.c (read_sf): Set at_eof flag on short read if any
341 characters were successfully read so that EOF condition with no EOR
344 2009-09-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
347 * io/transfer.c (read_sf): Adjust fbuf position and do proper
348 fbuf reads to traverse CR, CR-LF, and LF style line ends.
350 2009-09-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
353 * io/write.c (write_a_char4): Use correct type for crlf constant.
355 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
357 * Makefile.am (libgfortranbegin_la_LINK): New.
358 * Makefile.in: Regenerate.
360 2009-09-09 Paolo Bonzini <bonzini@gnu.org>
362 * configure: Regenerate.
364 2009-09-08 Paolo Bonzini <bonzini@gnu.org>
366 * configure: Regenerate.
368 2009-09-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
371 * io/list_read.c (eat_line): Enable eat_line to function on
375 * io/list_read.c (nml_read_obj): Replace GFC_DTYPE_UNKNOWN with
376 BT_NULL to get rid of warning.
378 2009-09-04 Tobias Burnus <burnus@net-b.de>
381 * intrinsics/getlog.c: Define _POSIX for MINGW32.
383 2009-09-03 Tobias Burnus <burnus@net-b.de>
386 * intrinsics/iso_c_binding.c (c_f_pointer_u0): Move variable
387 declaration out of the loop.
389 2009-08-30 Thomas Koenig <tkoenig@gcc.gnu.org>
391 * m4/pack.m4 (pack_'rtype_code`): Use count_0 for counting true
392 values in a logical array. Mark bounds checking tests as
394 * intrinsics/pack_generic.c (pack_internal): Likewise.
395 * runtime/bounds.c (count_0): Fix off-by-one error in detecting
397 * generated/pack_c4.c: Regenerated.
398 * generated/pack_c8.c: Regenerated.
399 * generated/pack_c10.c: Regenerated.
400 * generated/pack_c16.c: Regenerated.
401 * generated/pack_i1.c: Regenerated.
402 * generated/pack_i16.c: Regenerated.
403 * generated/pack_i2.c: Regenerated.
404 * generated/pack_i4.c: Regenerated.
405 * generated/pack_i8.c: Regenerated.
406 * generated/pack_r4.c: Regenerated.
407 * generated/pack_r8.c: Regenerated.
408 * generated/pack_r10.c: Regenerated.
409 * generated/pack_r16.c: Regenerated.
411 2009-08-25 Thomas Koenig <tkoenig@gcc.gnu.org>
414 * runtime/bounds.c (count_0): New function.
415 * intrinsics/unpack_generic (unpack_bounds): New function.
416 (unpack_internal): Remove zero stride checks.
417 (unpack1): Use unpack_bounds.
418 (unpack1_char): Likeweise.
419 (unpack1_char4): Likewise
421 (unpack0_char): Likewise.
422 (unpack0_char4): Likewise.
424 2009-08-24 Steven G. Kargl <kargl@gcc.gnu.org>
427 * dtime.c (dtime_sub): Fix computing time increment.
428 * time_1.h: Add <sys/types.h> header. Use RUSAGE_SELF macro instead
431 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
433 * configure.ac (AC_PREREQ): Bump to 2.64.
435 2009-08-23 Steven G. Kargl <kargl@gcc.gnu.org>
437 * intrinsics/cshift0.c: Update license to GPL3+exception.
438 * runtime/fpu.c: Add a GPL3+exception statement.
440 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
442 * Makefile.am (install-html, install-pdf): Remove.
443 * Makefile.in: Regenerate.
445 * Makefile.in: Regenerate.
446 * aclocal.m4: Regenerate.
447 * config.h.in: Regenerate.
448 * configure: Regenerate.
450 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
452 * Makefile.am (libgfortran_la_LINK): Add $(libgfortran_la_LDFLAGS).
453 * Makefile.in: Regenerate.
455 2009-08-20 Thomas Koenig <tkoenig@gcc.gnu.org>
458 * iso_c_binding.c (c_f_pointer_u0): Multiply stride by
461 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
463 * Makefile.am (LTLDFLAGS): Add -bindir flag.
464 * Makefile.in: Regenerate.
466 2009-08-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
469 * io/io.h (enum format_token): Add FMT_STAR.
470 * io/format.c (format_lex): Add case for FMT_STAR.
471 (parse_format_list): Parse FMT_STAR and check for left paren
472 after. (next_format0): Modify helper function to check for
473 unimited format and return the repeated format node. Update
476 2009-08-15 Kai Tietz <kai.tietz@onevision.com>
478 * intrinsics/string_intrinsics_inc.c (string_len_trim): Use
479 __INTPTR_TYPE__ to cast from pointer to scalar integer, if
480 __INTPTR_TYPE is defined.
482 2009-08-14 Janne Blomqvist <jb@gcc.gnu.org>
484 * fmain.c: Add comment saying file is deprecated.
486 2009-08-14 Janne Blomqvist <jb@gcc.gnu.org>
489 * gfortran.map: Move new symbols to GFORTRAN_C99_1.1 version node.
491 2009-08-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
494 * Makefile.in (LTLDFLAGS): Add -no-undefined.
495 * Makefile.am: Regenerate.
496 * libgfortran.h: Remove unused block of code.
498 2009-08-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
501 * io/list_read.c (nml_get_obj_data): Do not set nl
502 pointer to first_nl if nl->next is NULL.
504 2009-07-31 Kaz Kojima <kkojima@gcc.gnu.org>
506 * Makefile.am: Don't set SECTION_FLAGS with @SECTION_FLAGS@.
507 Don't set IEEE_FLAGS with @IEEE_FLAGS@.
508 * Makefile.in: Regenerate.
510 2009-07-30 Kaz Kojima <kkojima@gcc.gnu.org>
512 * configure.host: Define ieee_flags and set it to -mieee for sh.
513 * configure.ac: Set IEEE_FLAGS with ieee_flags.
514 * Makefile.am: Add IEEE_FLAGS to AM_CFLAGS.
515 * configure: Regenerate.
516 * Makefile.in: Regenerate.
518 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
520 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
522 2009-07-27 Tobias Burnus <burnus@net-b.de>
525 * c99_functions.c: Define complex I, if not defined.
526 Create prototypes for C99 functions to silence warnings.
527 * gfortran.map: Add missing functions to GFORTRAN_C99_1.0
528 and new GFORTRAN_C99_1.1.
530 2009-07-25 Tobias Burnus <burnus@net-b.de>
533 * intrinsics/c99_functions.c (cacosf,cacos,cacosl,casinf,
534 casin,casind,catanf,catan,catanl,cacoshf,cacosh,cacoshl,
535 casinhf,casinh,casinhf,catanhf,catanh,catanhl): New functions.
536 * c99_protos.h: Add prototypes for those.
538 2009-07-24 Jakub Jelinek <jakub@redhat.com>
542 * libgfortran.h (GFC_REAL_4_INFINITY, GFC_REAL_8_INFINITY,
543 GFC_REAL_10_INFINITY, GFC_REAL_16_INFINITY, GFC_REAL_4_QUIET_NAN,
544 GFC_REAL_8_QUIET_NAN, GFC_REAL_10_QUIET_NAN, GFC_REAL_16_QUIET_NAN):
546 * m4/iparm.m4 (atype_inf, atype_nan): Define.
547 * m4/ifunction.m4: Formatting.
548 * m4/iforeach.m4: Likewise.
549 (START_FOREACH_FUNCTION): Initialize dest to all 1s, not all 0s.
550 (START_FOREACH_BLOCK, FINISH_FOREACH_FUNCTION,
551 FINISH_MASKED_FOREACH_FUNCTION): Run foreach block inside a loop
552 until count[0] == extent[0].
553 * m4/minval.m4: Formatting. Handle NaNs and infinities. Optimize.
554 * m4/maxval.m4: Likewise.
555 * m4/minloc0.m4: Likewise.
556 * m4/maxloc0.m4: Likewise.
557 * m4/minloc1.m4: Likewise.
558 * m4/maxloc1.m4: Likewise.
559 * generated/maxloc0_16_i16.c: Regenerated.
560 * generated/maxloc0_16_i1.c: Likewise.
561 * generated/maxloc0_16_i2.c: Likewise.
562 * generated/maxloc0_16_i4.c: Likewise.
563 * generated/maxloc0_16_i8.c: Likewise.
564 * generated/maxloc0_16_r10.c: Likewise.
565 * generated/maxloc0_16_r16.c: Likewise.
566 * generated/maxloc0_16_r4.c: Likewise.
567 * generated/maxloc0_16_r8.c: Likewise.
568 * generated/maxloc0_4_i16.c: Likewise.
569 * generated/maxloc0_4_i1.c: Likewise.
570 * generated/maxloc0_4_i2.c: Likewise.
571 * generated/maxloc0_4_i4.c: Likewise.
572 * generated/maxloc0_4_i8.c: Likewise.
573 * generated/maxloc0_4_r10.c: Likewise.
574 * generated/maxloc0_4_r16.c: Likewise.
575 * generated/maxloc0_4_r4.c: Likewise.
576 * generated/maxloc0_4_r8.c: Likewise.
577 * generated/maxloc0_8_i16.c: Likewise.
578 * generated/maxloc0_8_i1.c: Likewise.
579 * generated/maxloc0_8_i2.c: Likewise.
580 * generated/maxloc0_8_i4.c: Likewise.
581 * generated/maxloc0_8_i8.c: Likewise.
582 * generated/maxloc0_8_r10.c: Likewise.
583 * generated/maxloc0_8_r16.c: Likewise.
584 * generated/maxloc0_8_r4.c: Likewise.
585 * generated/maxloc0_8_r8.c: Likewise.
586 * generated/maxloc1_16_i16.c: Likewise.
587 * generated/maxloc1_16_i1.c: Likewise.
588 * generated/maxloc1_16_i2.c: Likewise.
589 * generated/maxloc1_16_i4.c: Likewise.
590 * generated/maxloc1_16_i8.c: Likewise.
591 * generated/maxloc1_16_r10.c: Likewise.
592 * generated/maxloc1_16_r16.c: Likewise.
593 * generated/maxloc1_16_r4.c: Likewise.
594 * generated/maxloc1_16_r8.c: Likewise.
595 * generated/maxloc1_4_i16.c: Likewise.
596 * generated/maxloc1_4_i1.c: Likewise.
597 * generated/maxloc1_4_i2.c: Likewise.
598 * generated/maxloc1_4_i4.c: Likewise.
599 * generated/maxloc1_4_i8.c: Likewise.
600 * generated/maxloc1_4_r10.c: Likewise.
601 * generated/maxloc1_4_r16.c: Likewise.
602 * generated/maxloc1_4_r4.c: Likewise.
603 * generated/maxloc1_4_r8.c: Likewise.
604 * generated/maxloc1_8_i16.c: Likewise.
605 * generated/maxloc1_8_i1.c: Likewise.
606 * generated/maxloc1_8_i2.c: Likewise.
607 * generated/maxloc1_8_i4.c: Likewise.
608 * generated/maxloc1_8_i8.c: Likewise.
609 * generated/maxloc1_8_r10.c: Likewise.
610 * generated/maxloc1_8_r16.c: Likewise.
611 * generated/maxloc1_8_r4.c: Likewise.
612 * generated/maxloc1_8_r8.c: Likewise.
613 * generated/maxval_i16.c: Likewise.
614 * generated/maxval_i1.c: Likewise.
615 * generated/maxval_i2.c: Likewise.
616 * generated/maxval_i4.c: Likewise.
617 * generated/maxval_i8.c: Likewise.
618 * generated/maxval_r10.c: Likewise.
619 * generated/maxval_r16.c: Likewise.
620 * generated/maxval_r4.c: Likewise.
621 * generated/maxval_r8.c: Likewise.
622 * generated/minloc0_16_i16.c: Likewise.
623 * generated/minloc0_16_i1.c: Likewise.
624 * generated/minloc0_16_i2.c: Likewise.
625 * generated/minloc0_16_i4.c: Likewise.
626 * generated/minloc0_16_i8.c: Likewise.
627 * generated/minloc0_16_r10.c: Likewise.
628 * generated/minloc0_16_r16.c: Likewise.
629 * generated/minloc0_16_r4.c: Likewise.
630 * generated/minloc0_16_r8.c: Likewise.
631 * generated/minloc0_4_i16.c: Likewise.
632 * generated/minloc0_4_i1.c: Likewise.
633 * generated/minloc0_4_i2.c: Likewise.
634 * generated/minloc0_4_i4.c: Likewise.
635 * generated/minloc0_4_i8.c: Likewise.
636 * generated/minloc0_4_r10.c: Likewise.
637 * generated/minloc0_4_r16.c: Likewise.
638 * generated/minloc0_4_r4.c: Likewise.
639 * generated/minloc0_4_r8.c: Likewise.
640 * generated/minloc0_8_i16.c: Likewise.
641 * generated/minloc0_8_i1.c: Likewise.
642 * generated/minloc0_8_i2.c: Likewise.
643 * generated/minloc0_8_i4.c: Likewise.
644 * generated/minloc0_8_i8.c: Likewise.
645 * generated/minloc0_8_r10.c: Likewise.
646 * generated/minloc0_8_r16.c: Likewise.
647 * generated/minloc0_8_r4.c: Likewise.
648 * generated/minloc0_8_r8.c: Likewise.
649 * generated/minloc1_16_i16.c: Likewise.
650 * generated/minloc1_16_i1.c: Likewise.
651 * generated/minloc1_16_i2.c: Likewise.
652 * generated/minloc1_16_i4.c: Likewise.
653 * generated/minloc1_16_i8.c: Likewise.
654 * generated/minloc1_16_r10.c: Likewise.
655 * generated/minloc1_16_r16.c: Likewise.
656 * generated/minloc1_16_r4.c: Likewise.
657 * generated/minloc1_16_r8.c: Likewise.
658 * generated/minloc1_4_i16.c: Likewise.
659 * generated/minloc1_4_i1.c: Likewise.
660 * generated/minloc1_4_i2.c: Likewise.
661 * generated/minloc1_4_i4.c: Likewise.
662 * generated/minloc1_4_i8.c: Likewise.
663 * generated/minloc1_4_r10.c: Likewise.
664 * generated/minloc1_4_r16.c: Likewise.
665 * generated/minloc1_4_r4.c: Likewise.
666 * generated/minloc1_4_r8.c: Likewise.
667 * generated/minloc1_8_i16.c: Likewise.
668 * generated/minloc1_8_i1.c: Likewise.
669 * generated/minloc1_8_i2.c: Likewise.
670 * generated/minloc1_8_i4.c: Likewise.
671 * generated/minloc1_8_i8.c: Likewise.
672 * generated/minloc1_8_r10.c: Likewise.
673 * generated/minloc1_8_r16.c: Likewise.
674 * generated/minloc1_8_r4.c: Likewise.
675 * generated/minloc1_8_r8.c: Likewise.
676 * generated/minval_i16.c: Likewise.
677 * generated/minval_i1.c: Likewise.
678 * generated/minval_i2.c: Likewise.
679 * generated/minval_i4.c: Likewise.
680 * generated/minval_i8.c: Likewise.
681 * generated/minval_r10.c: Likewise.
682 * generated/minval_r16.c: Likewise.
683 * generated/minval_r4.c: Likewise.
684 * generated/minval_r8.c: Likewise.
685 * generated/product_c10.c: Likewise.
686 * generated/product_c16.c: Likewise.
687 * generated/product_c4.c: Likewise.
688 * generated/product_c8.c: Likewise.
689 * generated/product_i16.c: Likewise.
690 * generated/product_i1.c: Likewise.
691 * generated/product_i2.c: Likewise.
692 * generated/product_i4.c: Likewise.
693 * generated/product_i8.c: Likewise.
694 * generated/product_r10.c: Likewise.
695 * generated/product_r16.c: Likewise.
696 * generated/product_r4.c: Likewise.
697 * generated/product_r8.c: Likewise.
698 * generated/sum_c10.c: Likewise.
699 * generated/sum_c16.c: Likewise.
700 * generated/sum_c4.c: Likewise.
701 * generated/sum_c8.c: Likewise.
702 * generated/sum_i16.c: Likewise.
703 * generated/sum_i1.c: Likewise.
704 * generated/sum_i2.c: Likewise.
705 * generated/sum_i4.c: Likewise.
706 * generated/sum_i8.c: Likewise.
707 * generated/sum_r10.c: Likewise.
708 * generated/sum_r16.c: Likewise.
709 * generated/sum_r4.c: Likewise.
710 * generated/sum_r8.c: Likewise.
712 2009-07-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
715 * unix.c (regular_file): Check for CONIN$ CONOUT$, and CONERR$ and open
716 the respective /dev/conin or /dev/conout devices. This is Cygwin
719 2009-07-19 Thomas Koenig <tkoenig@gcc.gnu.org>
723 * Makefile.am: Add bounds.c
724 * libgfortran.h (bounds_equal_extents): Add prototype.
725 (bounds_iforeach_return): Likewise.
726 (bounds_ifunction_return): Likewise.
727 (bounds_reduced_extents): Likewise.
728 * runtime/bounds.c: New file.
729 (bounds_iforeach_return): New function; correct typo in
731 (bounds_ifunction_return): New function.
732 (bounds_equal_extents): New function.
733 (bounds_reduced_extents): Likewise.
734 * intrinsics/cshift0.c (cshift0): Use new functions
736 * intrinsics/eoshift0.c (eoshift0): Likewise.
737 * intrinsics/eoshift2.c (eoshift2): Likewise.
738 * m4/iforeach.m4: Likewise.
739 * m4/eoshift1.m4: Likewise.
740 * m4/eoshift3.m4: Likewise.
741 * m4/cshift1.m4: Likewise.
742 * m4/ifunction.m4: Likewise.
743 * Makefile.in: Regenerated.
744 * generated/cshift1_16.c: Regenerated.
745 * generated/cshift1_4.c: Regenerated.
746 * generated/cshift1_8.c: Regenerated.
747 * generated/eoshift1_16.c: Regenerated.
748 * generated/eoshift1_4.c: Regenerated.
749 * generated/eoshift1_8.c: Regenerated.
750 * generated/eoshift3_16.c: Regenerated.
751 * generated/eoshift3_4.c: Regenerated.
752 * generated/eoshift3_8.c: Regenerated.
753 * generated/maxloc0_16_i1.c: Regenerated.
754 * generated/maxloc0_16_i16.c: Regenerated.
755 * generated/maxloc0_16_i2.c: Regenerated.
756 * generated/maxloc0_16_i4.c: Regenerated.
757 * generated/maxloc0_16_i8.c: Regenerated.
758 * generated/maxloc0_16_r10.c: Regenerated.
759 * generated/maxloc0_16_r16.c: Regenerated.
760 * generated/maxloc0_16_r4.c: Regenerated.
761 * generated/maxloc0_16_r8.c: Regenerated.
762 * generated/maxloc0_4_i1.c: Regenerated.
763 * generated/maxloc0_4_i16.c: Regenerated.
764 * generated/maxloc0_4_i2.c: Regenerated.
765 * generated/maxloc0_4_i4.c: Regenerated.
766 * generated/maxloc0_4_i8.c: Regenerated.
767 * generated/maxloc0_4_r10.c: Regenerated.
768 * generated/maxloc0_4_r16.c: Regenerated.
769 * generated/maxloc0_4_r4.c: Regenerated.
770 * generated/maxloc0_4_r8.c: Regenerated.
771 * generated/maxloc0_8_i1.c: Regenerated.
772 * generated/maxloc0_8_i16.c: Regenerated.
773 * generated/maxloc0_8_i2.c: Regenerated.
774 * generated/maxloc0_8_i4.c: Regenerated.
775 * generated/maxloc0_8_i8.c: Regenerated.
776 * generated/maxloc0_8_r10.c: Regenerated.
777 * generated/maxloc0_8_r16.c: Regenerated.
778 * generated/maxloc0_8_r4.c: Regenerated.
779 * generated/maxloc0_8_r8.c: Regenerated.
780 * generated/maxloc1_16_i1.c: Regenerated.
781 * generated/maxloc1_16_i16.c: Regenerated.
782 * generated/maxloc1_16_i2.c: Regenerated.
783 * generated/maxloc1_16_i4.c: Regenerated.
784 * generated/maxloc1_16_i8.c: Regenerated.
785 * generated/maxloc1_16_r10.c: Regenerated.
786 * generated/maxloc1_16_r16.c: Regenerated.
787 * generated/maxloc1_16_r4.c: Regenerated.
788 * generated/maxloc1_16_r8.c: Regenerated.
789 * generated/maxloc1_4_i1.c: Regenerated.
790 * generated/maxloc1_4_i16.c: Regenerated.
791 * generated/maxloc1_4_i2.c: Regenerated.
792 * generated/maxloc1_4_i4.c: Regenerated.
793 * generated/maxloc1_4_i8.c: Regenerated.
794 * generated/maxloc1_4_r10.c: Regenerated.
795 * generated/maxloc1_4_r16.c: Regenerated.
796 * generated/maxloc1_4_r4.c: Regenerated.
797 * generated/maxloc1_4_r8.c: Regenerated.
798 * generated/maxloc1_8_i1.c: Regenerated.
799 * generated/maxloc1_8_i16.c: Regenerated.
800 * generated/maxloc1_8_i2.c: Regenerated.
801 * generated/maxloc1_8_i4.c: Regenerated.
802 * generated/maxloc1_8_i8.c: Regenerated.
803 * generated/maxloc1_8_r10.c: Regenerated.
804 * generated/maxloc1_8_r16.c: Regenerated.
805 * generated/maxloc1_8_r4.c: Regenerated.
806 * generated/maxloc1_8_r8.c: Regenerated.
807 * generated/maxval_i1.c: Regenerated.
808 * generated/maxval_i16.c: Regenerated.
809 * generated/maxval_i2.c: Regenerated.
810 * generated/maxval_i4.c: Regenerated.
811 * generated/maxval_i8.c: Regenerated.
812 * generated/maxval_r10.c: Regenerated.
813 * generated/maxval_r16.c: Regenerated.
814 * generated/maxval_r4.c: Regenerated.
815 * generated/maxval_r8.c: Regenerated.
816 * generated/minloc0_16_i1.c: Regenerated.
817 * generated/minloc0_16_i16.c: Regenerated.
818 * generated/minloc0_16_i2.c: Regenerated.
819 * generated/minloc0_16_i4.c: Regenerated.
820 * generated/minloc0_16_i8.c: Regenerated.
821 * generated/minloc0_16_r10.c: Regenerated.
822 * generated/minloc0_16_r16.c: Regenerated.
823 * generated/minloc0_16_r4.c: Regenerated.
824 * generated/minloc0_16_r8.c: Regenerated.
825 * generated/minloc0_4_i1.c: Regenerated.
826 * generated/minloc0_4_i16.c: Regenerated.
827 * generated/minloc0_4_i2.c: Regenerated.
828 * generated/minloc0_4_i4.c: Regenerated.
829 * generated/minloc0_4_i8.c: Regenerated.
830 * generated/minloc0_4_r10.c: Regenerated.
831 * generated/minloc0_4_r16.c: Regenerated.
832 * generated/minloc0_4_r4.c: Regenerated.
833 * generated/minloc0_4_r8.c: Regenerated.
834 * generated/minloc0_8_i1.c: Regenerated.
835 * generated/minloc0_8_i16.c: Regenerated.
836 * generated/minloc0_8_i2.c: Regenerated.
837 * generated/minloc0_8_i4.c: Regenerated.
838 * generated/minloc0_8_i8.c: Regenerated.
839 * generated/minloc0_8_r10.c: Regenerated.
840 * generated/minloc0_8_r16.c: Regenerated.
841 * generated/minloc0_8_r4.c: Regenerated.
842 * generated/minloc0_8_r8.c: Regenerated.
843 * generated/minloc1_16_i1.c: Regenerated.
844 * generated/minloc1_16_i16.c: Regenerated.
845 * generated/minloc1_16_i2.c: Regenerated.
846 * generated/minloc1_16_i4.c: Regenerated.
847 * generated/minloc1_16_i8.c: Regenerated.
848 * generated/minloc1_16_r10.c: Regenerated.
849 * generated/minloc1_16_r16.c: Regenerated.
850 * generated/minloc1_16_r4.c: Regenerated.
851 * generated/minloc1_16_r8.c: Regenerated.
852 * generated/minloc1_4_i1.c: Regenerated.
853 * generated/minloc1_4_i16.c: Regenerated.
854 * generated/minloc1_4_i2.c: Regenerated.
855 * generated/minloc1_4_i4.c: Regenerated.
856 * generated/minloc1_4_i8.c: Regenerated.
857 * generated/minloc1_4_r10.c: Regenerated.
858 * generated/minloc1_4_r16.c: Regenerated.
859 * generated/minloc1_4_r4.c: Regenerated.
860 * generated/minloc1_4_r8.c: Regenerated.
861 * generated/minloc1_8_i1.c: Regenerated.
862 * generated/minloc1_8_i16.c: Regenerated.
863 * generated/minloc1_8_i2.c: Regenerated.
864 * generated/minloc1_8_i4.c: Regenerated.
865 * generated/minloc1_8_i8.c: Regenerated.
866 * generated/minloc1_8_r10.c: Regenerated.
867 * generated/minloc1_8_r16.c: Regenerated.
868 * generated/minloc1_8_r4.c: Regenerated.
869 * generated/minloc1_8_r8.c: Regenerated.
870 * generated/minval_i1.c: Regenerated.
871 * generated/minval_i16.c: Regenerated.
872 * generated/minval_i2.c: Regenerated.
873 * generated/minval_i4.c: Regenerated.
874 * generated/minval_i8.c: Regenerated.
875 * generated/minval_r10.c: Regenerated.
876 * generated/minval_r16.c: Regenerated.
877 * generated/minval_r4.c: Regenerated.
878 * generated/minval_r8.c: Regenerated.
879 * generated/product_c10.c: Regenerated.
880 * generated/product_c16.c: Regenerated.
881 * generated/product_c4.c: Regenerated.
882 * generated/product_c8.c: Regenerated.
883 * generated/product_i1.c: Regenerated.
884 * generated/product_i16.c: Regenerated.
885 * generated/product_i2.c: Regenerated.
886 * generated/product_i4.c: Regenerated.
887 * generated/product_i8.c: Regenerated.
888 * generated/product_r10.c: Regenerated.
889 * generated/product_r16.c: Regenerated.
890 * generated/product_r4.c: Regenerated.
891 * generated/product_r8.c: Regenerated.
892 * generated/sum_c10.c: Regenerated.
893 * generated/sum_c16.c: Regenerated.
894 * generated/sum_c4.c: Regenerated.
895 * generated/sum_c8.c: Regenerated.
896 * generated/sum_i1.c: Regenerated.
897 * generated/sum_i16.c: Regenerated.
898 * generated/sum_i2.c: Regenerated.
899 * generated/sum_i4.c: Regenerated.
900 * generated/sum_i8.c: Regenerated.
901 * generated/sum_r10.c: Regenerated.
902 * generated/sum_r16.c: Regenerated.
903 * generated/sum_r4.c: Regenerated.
904 * generated/sum_r8.c: Regenerated.
906 2009-07-17 Janne Blomqvist <jb@gcc.gnu.org>
907 Jerry DeLisle <jvdelisle@gcc.gnu.org>
910 * io/transfer.c (finalize_transfer): Set current_record to 0
911 before returning in case of error.
913 2009-07-12 Tobias Burnus <burnus@net-b.de>
916 * io/io.h (namelist_type): Use the proper enum for GFC_DTYPE_*.
917 * intrinsics/iso_c_binding.c (c_f_pointer_u0): Make sure
918 variable is initialized to silence warning.
920 2009-07-10 Steven G. Kargl <kargl@gcc.gnu.org>
922 * c99_functions.c (ccoshf, ccosh, ccoshl, ctanhf, ctanh, ctanl):
925 2009-07-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
929 * io/io.h (st_parameter_dt): Define format_not_saved bit used to signal
930 whether the parsed format data was previously saved. Used to determine
931 if the current format data should be freed or not.
932 * io/transfer.c (st_read_done): Use the format_not_saved bit.
933 (st_write_done): Likewise.
934 * io/format.c (parse_format_list): Add boolean pointer to arg list. This
935 pointer is used to return status to the caller regarding whether it is
936 safe to cache the parsed format data. Currently, if a FMT_STRING token
937 is encounetered, it is not safe to cache. Also, added a local boolean
938 variable to hold this information as recursive calls to
939 parse_format_list are made. Remove previous save_format logic.
940 (parse_format): Do not use the format caching facility if the current
941 unit is an internal unit or if it is not safe to save parsed format
944 2009-06-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
947 * io/transfer.c (sset): Adjust exit condition for loop.
949 2009-06-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
952 * io/format.c: Don't save parsed format data for internal units.
954 2009-06-21 Thomas Koenig <tkoenig@gcc.gnu.org>
957 Port from fortran-dev
958 * runtime/in_pack_generic (internal_pack): Remove unnecessary
959 test for stride == 0.
960 * runtime/in_unpack_generic.c (internal_unpack): Likewise.
961 * intrinsics/iso_c_binding.c (c_f_pointer_u0): Take care
962 of stride in "shape" argument. Use array access macros for
963 accessing array descriptors.
964 * libgfortran.h (struct descriptor_dimension): Change stride
965 to _stride, lbound to _lbound and ubound to _ubound.
966 (GFC_DIMENSION_LBOUND): Use new name(s) in struct
967 descriptor_dimension.
968 (GFC_DIMENSION_UBOUND): Likewise.
969 (GFC_DIMENSION_STRIDE): Likewise.
970 (GFC_DIMENSION_EXTENT): Likewise.
971 (GFC_DIMENSION_SET): Likewise.
972 (GFC_DESCRIPTOR_LBOUND): Likewise.
973 (GFC_DESCRIPTOR_UBOUND): Likewise.
974 (GFC_DESCRIPTOR_EXTENT): Likewise.
975 (GFC_DESCRIPTOR_STRIDE): Likewise.
976 * io/transfer.c (transfer_array): Use array access macros.
977 Use byte-sized strides.
978 * intrinsics/eoshift0.c (eoshift0): Use array access
980 * m4/in_pack.m4 (internal_pack_'rtype_ccode`): Use
981 array access macros for accessing array descriptors.
982 * m4/in_unpack.m4 (internal_unpack_'rtype_ccode`):
984 * m4/matmull.m4 (matmul_'rtype_code`): Likewise.
985 * m4/matmul.m4 (matmul_'rtype_code`): Likewise.
986 * m4/unpack.m4 (unpack0_'rtype_code`): Likewise.
987 (unpack1_'rtype_code`): Likewise.
988 * m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code): Likewise.
989 * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Use array access
991 * intrinsics/dtime.c (dtime_sub): Use array access macros
992 for accessing array descriptors.
993 * intrinsics/cshift0 (cshift0): Likewise.
994 * intrinsics/etime.c: Likewise. Remove redundant calculation
996 * m4/cshift0.m4 (cshift0_'rtype_code`): Use array access macros
997 for accessing array descriptors.
998 * m4/pack.m4 (pack_'rtype_code`): Likewise.
999 * m4/spread.m4 (spread_'rtype_code`): Likewise.
1000 (spread_scalar_'rtype_code`): Likewise.
1001 * m4/transpose.m4 (transpose_'rtype_code`): Likewise.
1002 * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Likewise.
1003 * m4/eoshift1.m4 (eoshift1): Likewise. Remove size argument,
1004 calculate within function.
1005 (eoshift1_'atype_kind`): Remove size argument from call
1007 (eoshift1_'atype_kind`_char): Likewise.
1008 (eoshift1_'atype_kind`_char4): Likewise.
1009 * m4/eoshift3.m4 (eoshift3): Remove size argument, calculate
1010 within function. Use array access macros for accessing array
1012 (eoshift3_'atype_kind`): Remove size argument from call
1014 (eoshift3_'atype_kind`_char): Likewise.
1015 (eoshift3_'atype_kind`_char4): Likewise.
1016 * m4/shape.m4 (shape_'rtype_kind`): Use array access macros
1017 for accessing array descriptors.
1018 * m4/cshift1.m4 (cshift1): Remove size argument, calculate
1019 within function. Use array access macros for accessing array
1021 (cshift1_'atype_kind`): Remove size argument from call to
1023 (cshift1_'atype_kind`_char): Remove size argument from call to
1025 (cshift1_'atype_kind`_char4): Remove size argument from call to
1027 * m4/reshape.m4 (reshape_'rtype_ccode`): Use array access macros
1028 for accessing array descriptors.
1029 * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): Likewise.
1030 * intrinsics/pack_generic.c (pack_internal): Use array access
1031 macros for accessing array descriptors.
1032 (pack_s_internal): Likewise.
1033 * intrinsics/transpose_generic.c (transpose_internal): Remove
1034 size argument, calculate from array descriptor. Use array
1035 access macros for accessing array descriptors.
1036 (transpose): Remove size argument from call.
1037 (transpoe_char): Likewise.
1038 (transpose_char4): Likewise.
1039 * intrinsics/move_alloc.c (move_alloc): Use array access macros
1040 for accessing array descriptors.
1041 * intrinsics/spread_generic.c (spread_internal): Remove size
1042 argument, calculate from array descriptor. Use array access
1043 macros for accessing array descriptors.
1044 (spread_internal_scalar): Likewise.
1045 (spread): Remove size argument from call to spread_internal.
1046 (spread_char): Mark argument source_length as unused.
1047 Remove size argument from call to spread_internal.
1048 (spread_char4): Likewise.
1049 (spread_char_scalar): Likewise.
1050 (spread_char4_scalar): Likewise.
1051 * intrinsics/unpack_generic.c (unpack_internal): Use array access
1052 macros for accessing array descriptors.
1053 * intrinsics/eoshift2.c (eoshift2): Remove size argument, calculate
1054 from array descriptor instead. Use array access macros for
1055 accessing array descriptors.
1056 (eoshift2_##N): Remove size argument from call to eoshift2.
1057 (eoshift2_##N_##char): Likewise.
1058 (eoshift2_##N_##char4): Likewise.
1059 * intrinsics/reshape_generic.c (reshape_internal): Use array
1060 access macross for accessing array descriptors.
1061 * libgfortran.h: Introduce new macros GFC_DIMENSION_LBOUND,
1062 GFC_DIMENSION_UBOUND,GFC_DIMENSION_STRIDE, GFC_DIMENSION_EXTENT,
1063 GFC_DIMENSION_SET, GFC_DESCRIPTOR_LBOUND, GFC_DESCRIPTOR_UBOUND,
1064 GFC_DESCRIPTOR_EXTENT, GFC_DESCRIPTOR_EXTENT_BYTES,
1065 GFC_DESCRIPTOR_STRIDE, GFC_DESCRIPTOR_STRIDE_BYTES
1066 * runtime/in_pack_generic.c (internal_pack): Use new macros
1067 for array descriptor access.
1068 * runtime/in_unpack_generic.c (internal_unpack): Likewise.
1069 * intrinsics/dtime.c (dtime_sub): Likewise.
1070 * intrinsics/cshift0 (cshift0): Remove argument size,
1071 calculate directly from the array descriptor. Use new macros
1072 for array descriptor access.
1073 * cshift0_##N: Remove shift argument in call to cshift0.
1074 * cshift0_##N_char: Mark array_length as unused. Remove
1075 array_length in call to cshift0.
1076 * cshift0_##N_char4: Likewise.
1077 * intrisics/etime.c: Use new macros for array descriptor access.
1078 * intrinsics/stat.c (stat_i4_sub_0): Likewise.
1079 (stat_i8_sub_0): Likewise.
1080 (fstat_i4_sub): Likewise.
1081 (fstat_i8_sub): Likewise.
1082 * intrinsics/date_and_time.c (date_and_time): Likewise.
1084 (itime_i4): Likewise.
1085 (itime_i8): Likewise.
1086 (idate_i4): Likewise.
1087 (idate_i8): Likewise.
1088 (gmtime_i4): Likewise.
1089 (gmtime_i8): Likewise.
1090 (ltime_i4): Likewise.
1091 (litme_i8): Likewise.
1092 * intrinsics/associated.c (associated): Likewise.
1093 * intrinsics/eoshift0.c (eoshift0): Likewise.
1094 * intriniscs/size.c (size0): Likewise.
1095 * intrinsics/random.c (arandom_r4): Likewise.
1096 (arandom_r8): Likewise.
1097 (arandom_r10): Likewise.
1098 (arandom_r16): Likewise.
1099 (random_seed_i4): Likewise.
1100 (random_seed_i8): Likewise.
1101 * io/list_read.c (nml_parse_qualifier): Likewise.
1102 (nml_touch_nodes): Likewise.
1103 (nml_read_obj): Likewise.
1104 (get_name): Likewise.
1105 * io/transfer.c (transfer_array): Likewise.
1106 (init_loop_spec): Likewise.
1107 (st_set_nml_var_dim): Likewise.
1108 * io/write.c (nml_write_obj): Likewise.
1109 (obj_loop): Likewise.
1110 * generated/all_l1.c: Regenerated.
1111 * generated/all_l16.c: Regenerated.
1112 * generated/all_l2.c: Regenerated.
1113 * generated/all_l4.c: Regenerated.
1114 * generated/all_l8.c: Regenerated.
1115 * generated/any_l1.c: Regenerated.
1116 * generated/any_l16.c: Regenerated.
1117 * generated/any_l2.c: Regenerated.
1118 * generated/any_l4.c: Regenerated.
1119 * generated/any_l8.c: Regenerated.
1120 * generated/count_16_l.c: Regenerated.
1121 * generated/count_1_l.c: Regenerated.
1122 * generated/count_2_l.c: Regenerated.
1123 * generated/count_4_l.c: Regenerated.
1124 * generated/count_8_l.c: Regenerated.
1125 * generated/cshift0_c10.c: Regenerated.
1126 * generated/cshift0_c16.c: Regenerated.
1127 * generated/cshift0_c4.c: Regenerated.
1128 * generated/cshift0_c8.c: Regenerated.
1129 * generated/cshift0_i1.c: Regenerated.
1130 * generated/cshift0_i16.c: Regenerated.
1131 * generated/cshift0_i2.c: Regenerated.
1132 * generated/cshift0_i4.c: Regenerated.
1133 * generated/cshift0_i8.c: Regenerated.
1134 * generated/cshift0_r10.c: Regenerated.
1135 * generated/cshift0_r16.c: Regenerated.
1136 * generated/cshift0_r4.c: Regenerated.
1137 * generated/cshift0_r8.c: Regenerated.
1138 * generated/cshift1_16.c: Regenerated.
1139 * generated/cshift1_4.c: Regenerated.
1140 * generated/cshift1_8.c: Regenerated.
1141 * generated/eoshift1_16.c: Regenerated.
1142 * generated/eoshift1_4.c: Regenerated.
1143 * generated/eoshift1_8.c: Regenerated.
1144 * generated/eoshift3_16.c: Regenerated.
1145 * generated/eoshift3_4.c: Regenerated.
1146 * generated/eoshift3_8.c: Regenerated.
1147 * generated/in_pack_c10.c: Regenerated.
1148 * generated/in_pack_c16.c: Regenerated.
1149 * generated/in_pack_c4.c: Regenerated.
1150 * generated/in_pack_c8.c: Regenerated.
1151 * generated/in_pack_i1.c: Regenerated.
1152 * generated/in_pack_i16.c: Regenerated.
1153 * generated/in_pack_i2.c: Regenerated.
1154 * generated/in_pack_i4.c: Regenerated.
1155 * generated/in_pack_i8.c: Regenerated.
1156 * generated/in_pack_r10.c: Regenerated.
1157 * generated/in_pack_r16.c: Regenerated.
1158 * generated/in_pack_r4.c: Regenerated.
1159 * generated/in_pack_r8.c: Regenerated.
1160 * generated/in_unpack_c10.c: Regenerated.
1161 * generated/in_unpack_c16.c: Regenerated.
1162 * generated/in_unpack_c4.c: Regenerated.
1163 * generated/in_unpack_c8.c: Regenerated.
1164 * generated/in_unpack_i1.c: Regenerated.
1165 * generated/in_unpack_i16.c: Regenerated.
1166 * generated/in_unpack_i2.c: Regenerated.
1167 * generated/in_unpack_i4.c: Regenerated.
1168 * generated/in_unpack_i8.c: Regenerated.
1169 * generated/in_unpack_r10.c: Regenerated.
1170 * generated/in_unpack_r16.c: Regenerated.
1171 * generated/in_unpack_r4.c: Regenerated.
1172 * generated/in_unpack_r8.c: Regenerated.
1173 * generated/matmul_c10.c: Regenerated.
1174 * generated/matmul_c16.c: Regenerated.
1175 * generated/matmul_c4.c: Regenerated.
1176 * generated/matmul_c8.c: Regenerated.
1177 * generated/matmul_i1.c: Regenerated.
1178 * generated/matmul_i16.c: Regenerated.
1179 * generated/matmul_i2.c: Regenerated.
1180 * generated/matmul_i4.c: Regenerated.
1181 * generated/matmul_i8.c: Regenerated.
1182 * generated/matmul_l16.c: Regenerated.
1183 * generated/matmul_l4.c: Regenerated.
1184 * generated/matmul_l8.c: Regenerated.
1185 * generated/matmul_r10.c: Regenerated.
1186 * generated/matmul_r16.c: Regenerated.
1187 * generated/matmul_r4.c: Regenerated.
1188 * generated/matmul_r8.c: Regenerated.
1189 * generated/maxloc0_16_i1.c: Regenerated.
1190 * generated/maxloc0_16_i16.c: Regenerated.
1191 * generated/maxloc0_16_i2.c: Regenerated.
1192 * generated/maxloc0_16_i4.c: Regenerated.
1193 * generated/maxloc0_16_i8.c: Regenerated.
1194 * generated/maxloc0_16_r10.c: Regenerated.
1195 * generated/maxloc0_16_r16.c: Regenerated.
1196 * generated/maxloc0_16_r4.c: Regenerated.
1197 * generated/maxloc0_16_r8.c: Regenerated.
1198 * generated/maxloc0_4_i1.c: Regenerated.
1199 * generated/maxloc0_4_i16.c: Regenerated.
1200 * generated/maxloc0_4_i2.c: Regenerated.
1201 * generated/maxloc0_4_i4.c: Regenerated.
1202 * generated/maxloc0_4_i8.c: Regenerated.
1203 * generated/maxloc0_4_r10.c: Regenerated.
1204 * generated/maxloc0_4_r16.c: Regenerated.
1205 * generated/maxloc0_4_r4.c: Regenerated.
1206 * generated/maxloc0_4_r8.c: Regenerated.
1207 * generated/maxloc0_8_i1.c: Regenerated.
1208 * generated/maxloc0_8_i16.c: Regenerated.
1209 * generated/maxloc0_8_i2.c: Regenerated.
1210 * generated/maxloc0_8_i4.c: Regenerated.
1211 * generated/maxloc0_8_i8.c: Regenerated.
1212 * generated/maxloc0_8_r10.c: Regenerated.
1213 * generated/maxloc0_8_r16.c: Regenerated.
1214 * generated/maxloc0_8_r4.c: Regenerated.
1215 * generated/maxloc0_8_r8.c: Regenerated.
1216 * generated/maxloc1_16_i1.c: Regenerated.
1217 * generated/maxloc1_16_i16.c: Regenerated.
1218 * generated/maxloc1_16_i2.c: Regenerated.
1219 * generated/maxloc1_16_i4.c: Regenerated.
1220 * generated/maxloc1_16_i8.c: Regenerated.
1221 * generated/maxloc1_16_r10.c: Regenerated.
1222 * generated/maxloc1_16_r16.c: Regenerated.
1223 * generated/maxloc1_16_r4.c: Regenerated.
1224 * generated/maxloc1_16_r8.c: Regenerated.
1225 * generated/maxloc1_4_i1.c: Regenerated.
1226 * generated/maxloc1_4_i16.c: Regenerated.
1227 * generated/maxloc1_4_i2.c: Regenerated.
1228 * generated/maxloc1_4_i4.c: Regenerated.
1229 * generated/maxloc1_4_i8.c: Regenerated.
1230 * generated/maxloc1_4_r10.c: Regenerated.
1231 * generated/maxloc1_4_r16.c: Regenerated.
1232 * generated/maxloc1_4_r4.c: Regenerated.
1233 * generated/maxloc1_4_r8.c: Regenerated.
1234 * generated/maxloc1_8_i1.c: Regenerated.
1235 * generated/maxloc1_8_i16.c: Regenerated.
1236 * generated/maxloc1_8_i2.c: Regenerated.
1237 * generated/maxloc1_8_i4.c: Regenerated.
1238 * generated/maxloc1_8_i8.c: Regenerated.
1239 * generated/maxloc1_8_r10.c: Regenerated.
1240 * generated/maxloc1_8_r16.c: Regenerated.
1241 * generated/maxloc1_8_r4.c: Regenerated.
1242 * generated/maxloc1_8_r8.c: Regenerated.
1243 * generated/maxval_i1.c: Regenerated.
1244 * generated/maxval_i16.c: Regenerated.
1245 * generated/maxval_i2.c: Regenerated.
1246 * generated/maxval_i4.c: Regenerated.
1247 * generated/maxval_i8.c: Regenerated.
1248 * generated/maxval_r10.c: Regenerated.
1249 * generated/maxval_r16.c: Regenerated.
1250 * generated/maxval_r4.c: Regenerated.
1251 * generated/maxval_r8.c: Regenerated.
1252 * generated/minloc0_16_i1.c: Regenerated.
1253 * generated/minloc0_16_i16.c: Regenerated.
1254 * generated/minloc0_16_i2.c: Regenerated.
1255 * generated/minloc0_16_i4.c: Regenerated.
1256 * generated/minloc0_16_i8.c: Regenerated.
1257 * generated/minloc0_16_r10.c: Regenerated.
1258 * generated/minloc0_16_r16.c: Regenerated.
1259 * generated/minloc0_16_r4.c: Regenerated.
1260 * generated/minloc0_16_r8.c: Regenerated.
1261 * generated/minloc0_4_i1.c: Regenerated.
1262 * generated/minloc0_4_i16.c: Regenerated.
1263 * generated/minloc0_4_i2.c: Regenerated.
1264 * generated/minloc0_4_i4.c: Regenerated.
1265 * generated/minloc0_4_i8.c: Regenerated.
1266 * generated/minloc0_4_r10.c: Regenerated.
1267 * generated/minloc0_4_r16.c: Regenerated.
1268 * generated/minloc0_4_r4.c: Regenerated.
1269 * generated/minloc0_4_r8.c: Regenerated.
1270 * generated/minloc0_8_i1.c: Regenerated.
1271 * generated/minloc0_8_i16.c: Regenerated.
1272 * generated/minloc0_8_i2.c: Regenerated.
1273 * generated/minloc0_8_i4.c: Regenerated.
1274 * generated/minloc0_8_i8.c: Regenerated.
1275 * generated/minloc0_8_r10.c: Regenerated.
1276 * generated/minloc0_8_r16.c: Regenerated.
1277 * generated/minloc0_8_r4.c: Regenerated.
1278 * generated/minloc0_8_r8.c: Regenerated.
1279 * generated/minloc1_16_i1.c: Regenerated.
1280 * generated/minloc1_16_i16.c: Regenerated.
1281 * generated/minloc1_16_i2.c: Regenerated.
1282 * generated/minloc1_16_i4.c: Regenerated.
1283 * generated/minloc1_16_i8.c: Regenerated.
1284 * generated/minloc1_16_r10.c: Regenerated.
1285 * generated/minloc1_16_r16.c: Regenerated.
1286 * generated/minloc1_16_r4.c: Regenerated.
1287 * generated/minloc1_16_r8.c: Regenerated.
1288 * generated/minloc1_4_i1.c: Regenerated.
1289 * generated/minloc1_4_i16.c: Regenerated.
1290 * generated/minloc1_4_i2.c: Regenerated.
1291 * generated/minloc1_4_i4.c: Regenerated.
1292 * generated/minloc1_4_i8.c: Regenerated.
1293 * generated/minloc1_4_r10.c: Regenerated.
1294 * generated/minloc1_4_r16.c: Regenerated.
1295 * generated/minloc1_4_r4.c: Regenerated.
1296 * generated/minloc1_4_r8.c: Regenerated.
1297 * generated/minloc1_8_i1.c: Regenerated.
1298 * generated/minloc1_8_i16.c: Regenerated.
1299 * generated/minloc1_8_i2.c: Regenerated.
1300 * generated/minloc1_8_i4.c: Regenerated.
1301 * generated/minloc1_8_i8.c: Regenerated.
1302 * generated/minloc1_8_r10.c: Regenerated.
1303 * generated/minloc1_8_r16.c: Regenerated.
1304 * generated/minloc1_8_r4.c: Regenerated.
1305 * generated/minloc1_8_r8.c: Regenerated.
1306 * generated/minval_i1.c: Regenerated.
1307 * generated/minval_i16.c: Regenerated.
1308 * generated/minval_i2.c: Regenerated.
1309 * generated/minval_i4.c: Regenerated.
1310 * generated/minval_i8.c: Regenerated.
1311 * generated/minval_r10.c: Regenerated.
1312 * generated/minval_r16.c: Regenerated.
1313 * generated/minval_r4.c: Regenerated.
1314 * generated/minval_r8.c: Regenerated.
1315 * generated/pack_c10.c: Regenerated.
1316 * generated/pack_c16.c: Regenerated.
1317 * generated/pack_c4.c: Regenerated.
1318 * generated/pack_c8.c: Regenerated.
1319 * generated/pack_i1.c: Regenerated.
1320 * generated/pack_i16.c: Regenerated.
1321 * generated/pack_i2.c: Regenerated.
1322 * generated/pack_i4.c: Regenerated.
1323 * generated/pack_i8.c: Regenerated.
1324 * generated/pack_r10.c: Regenerated.
1325 * generated/pack_r16.c: Regenerated.
1326 * generated/pack_r4.c: Regenerated.
1327 * generated/pack_r8.c: Regenerated.
1328 * generated/product_c10.c: Regenerated.
1329 * generated/product_c16.c: Regenerated.
1330 * generated/product_c4.c: Regenerated.
1331 * generated/product_c8.c: Regenerated.
1332 * generated/product_i1.c: Regenerated.
1333 * generated/product_i16.c: Regenerated.
1334 * generated/product_i2.c: Regenerated.
1335 * generated/product_i4.c: Regenerated.
1336 * generated/product_i8.c: Regenerated.
1337 * generated/product_r10.c: Regenerated.
1338 * generated/product_r16.c: Regenerated.
1339 * generated/product_r4.c: Regenerated.
1340 * generated/product_r8.c: Regenerated.
1341 * generated/reshape_c10.c: Regenerated.
1342 * generated/reshape_c16.c: Regenerated.
1343 * generated/reshape_c4.c: Regenerated.
1344 * generated/reshape_c8.c: Regenerated.
1345 * generated/reshape_i16.c: Regenerated.
1346 * generated/reshape_i4.c: Regenerated.
1347 * generated/reshape_i8.c: Regenerated.
1348 * generated/reshape_r10.c: Regenerated.
1349 * generated/reshape_r16.c: Regenerated.
1350 * generated/reshape_r4.c: Regenerated.
1351 * generated/reshape_r8.c: Regenerated.
1352 * generated/shape_i16.c: Regenerated.
1353 * generated/shape_i4.c: Regenerated.
1354 * generated/shape_i8.c: Regenerated.
1355 * generated/spread_c10.c: Regenerated.
1356 * generated/spread_c16.c: Regenerated.
1357 * generated/spread_c4.c: Regenerated.
1358 * generated/spread_c8.c: Regenerated.
1359 * generated/spread_i1.c: Regenerated.
1360 * generated/spread_i16.c: Regenerated.
1361 * generated/spread_i2.c: Regenerated.
1362 * generated/spread_i4.c: Regenerated.
1363 * generated/spread_i8.c: Regenerated.
1364 * generated/spread_r10.c: Regenerated.
1365 * generated/spread_r16.c: Regenerated.
1366 * generated/spread_r4.c: Regenerated.
1367 * generated/spread_r8.c: Regenerated.
1368 * generated/sum_c10.c: Regenerated.
1369 * generated/sum_c16.c: Regenerated.
1370 * generated/sum_c4.c: Regenerated.
1371 * generated/sum_c8.c: Regenerated.
1372 * generated/sum_i1.c: Regenerated.
1373 * generated/sum_i16.c: Regenerated.
1374 * generated/sum_i2.c: Regenerated.
1375 * generated/sum_i4.c: Regenerated.
1376 * generated/sum_i8.c: Regenerated.
1377 * generated/sum_r10.c: Regenerated.
1378 * generated/sum_r16.c: Regenerated.
1379 * generated/sum_r4.c: Regenerated.
1380 * generated/sum_r8.c: Regenerated.
1381 * generated/transpose_c10.c: Regenerated.
1382 * generated/transpose_c16.c: Regenerated.
1383 * generated/transpose_c4.c: Regenerated.
1384 * generated/transpose_c8.c: Regenerated.
1385 * generated/transpose_i16.c: Regenerated.
1386 * generated/transpose_i4.c: Regenerated.
1387 * generated/transpose_i8.c: Regenerated.
1388 * generated/transpose_r10.c: Regenerated.
1389 * generated/transpose_r16.c: Regenerated.
1390 * generated/transpose_r4.c: Regenerated.
1391 * generated/transpose_r8.c: Regenerated.
1392 * generated/unpack_c10.c: Regenerated.
1393 * generated/unpack_c16.c: Regenerated.
1394 * generated/unpack_c4.c: Regenerated.
1395 * generated/unpack_c8.c: Regenerated.
1396 * generated/unpack_i1.c: Regenerated.
1397 * generated/unpack_i16.c: Regenerated.
1398 * generated/unpack_i2.c: Regenerated.
1399 * generated/unpack_i4.c: Regenerated.
1400 * generated/unpack_i8.c: Regenerated.
1401 * generated/unpack_r10.c: Regenerated.
1402 * generated/unpack_r16.c: Regenerated.
1403 * generated/unpack_r4.c: Regenerated.
1404 * generated/unpack_r8.c: Regenerated.
1406 2009-06-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1408 * fmain.c (main): Don't PREFIX set_args.
1409 * libgfortran.h (set_args): Use iexport_proto.
1410 * runtime/main.c (set_args): Use iexport.
1412 2009-06-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1415 * libgfortran.h: Define IOPARM_OPEN_HAS_NEWUNIT.
1416 * io/open.c (st_open): Don't error on negative unit number if NEWUNIT
1417 was specified. If NEWUNIT is specified, call new function to get the
1418 unique unit number and assign it.
1419 * io/io.h (st_parameter_open): Add pointer to newunit. Add prototype for
1420 next_available_newunit. Add prototype for new function,
1421 get_unique_unit_number.
1422 * io/unit.c: Declare next_available_newunit. Define the first newunit
1423 number. (init_units): Initialize next_available_unit.
1424 (get_unique_unit_number): New function. Fix whitespace and comments.
1425 * io/transfer.c (data_transfer_init): Update error message to not be
1426 specific to OPEN statements.
1428 2009-06-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1431 * io/list_read.c (list_formatted_read_scalar): Set the end file
1432 conditions after a return from EOF error.
1434 2009-06-04 Janne Blomqvist <jb@gcc.gnu.org>
1437 * io/format.c (free_format_hash_table): Also free and nullify hash key.
1438 (save_parsed_format): Copy string rather than pointer copy.
1440 2009-05-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1443 * intrinsics/bit_intrinsics.c: New file.
1444 * gfortran.map (GFORTRAN_1.2): New list.
1445 * Makefile.am: Add intrinsics/bit_intrinsics.c.
1446 * Makefile.in: Regenerate.
1448 2009-05-29 Janne Blomqvist <jb@gcc.gnu.org>
1451 * configure.ac: Check for localtime_r and gmtime_r.
1452 * intrinsics/date_and_time.c: Add fallback implementations for
1453 localtime_r and gmtime_r.
1454 (date_and_time): Change to use localtime_r and gmtime_r instead of
1455 localtime and gmtime, respectively.
1456 (itime0): Use localtime_r instead of localtime.
1457 (ltime_0): Likewise.
1458 (gmtime_0): Use gmtime_r instead of gmtime.
1459 * config.h.in: Regenerated
1460 * configure: Regenerated.
1462 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
1465 * runtime/main.c (store_exe_path): Remove static attribute.
1466 * libgfortran.h: Add back store_exe_path prototype.
1468 2009-05-27 Thomas Koenig <tkoenig@gcc.gnu.org>
1471 * intrinsics/iso_c_binding.c (c_f_pointer_u0): Take care
1472 of stride in "shape" argument.
1474 2009-05-26 Tobias Burnus <burnus@net-b.de>
1477 * runtime/main.c (store_exe_path): Make static
1478 and multiple-times callable.
1479 (set_args): Call store_exe_path.
1480 * libgfortran.h: Remove store_exe_path prototype.
1481 * fmain.c (main): Remove store_exe_path call.
1483 2009-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1486 * io/write_float.def: Simplify format calculation.
1488 2009-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1491 * io/transfer.c (read_block_direct): Avoid warning.
1492 * runtime/string.c (compare0): Avoid warning.
1494 2009-04-30 Janne Blomqvist <jb@gcc.gnu.org>
1497 * io/file_pos.c (st_rewind): Don't truncate or flush.
1498 * io/intrinsics.c (fgetc): Flush if switching mode.
1501 2009-04-18 Janne Blomqvist <jb@gcc.gnu.org>
1504 * io/transfer.c (data_transfer_init): Don't flush before seek.
1505 (finalize_transfer): Remove extra flush.
1507 2009-04-17 Janne Blomqvist <jb@gcc.gnu.org>
1509 * io/io.h (is_preconnected): Remove prototype.
1510 * io/unix.c (is_preconnected): Remove function.
1512 2009-04-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1514 * configure.ac: Test for -ffunction-sections -fdata-sections and
1515 set SECTION_FLAGS accordingly.
1516 * configure: Regenerate.
1518 * Makefile.am: Add SECTION_FLAGS to AM_CFLAGS.
1519 * Makefile.in: Regenerate.
1521 2009-04-15 Janne Blomqvist <jb@gcc.gnu.org>
1524 * io/transfer.c (finalize_transfer): Don't flush for advance='no'.
1526 2009-04-15 Danny Smith <dannysmith@clear.net.nz>
1528 * io/write.c (itoa) : Rename back to gfc_itoa.
1529 (write_i): Adjust call to write_decimal.
1530 (write_integer): Use gfc_itoa.
1532 2009-04-10 Janne Blomqvist <jb@gcc.gnu.org>
1534 * io/io.h (move_pos_offset): Remove prototype.
1535 * io/transfer.c (formatted_transfer_scalar_read): Use sseek
1536 instead of move_pos_offset.
1537 * io/unix.c (move_pos_offset): Remove.
1539 2009-04-10 Janne Blomqvist <jb@gcc.gnu.org>
1541 PR libfortran/39665 libfortran/39702 libfortran/39709
1542 * io/io.h (st_parameter_dt): Revert aligned attribute from u.p.value.
1543 * io/list_read.c (read_complex): Read directly into user pointer.
1544 (read_real): Likewise.
1545 (list_formatted_read_scalar): Update read_complex and read_real calls.
1546 (nml_read_obj): Read directly into user pointer.
1548 2009-04-09 Janne Blomqvist <jb@gcc.gnu.org>
1551 * io/io.h (st_parameter_dt): Add aligned attribute to u.p.value.
1552 * io/read.c (convert_real): Add note about alignment requirements.
1554 2009-04-09 Nick Clifton <nickc@redhat.com>
1556 * m4/cshift0.m4: Change copyright header to refer to version 3
1557 of the GNU General Public License with version 3.1 of the GCC
1558 Runtime Library Exception and to point readers at the COPYING3
1559 and COPYING3.RUNTIME files and the FSF's license web page.
1560 * c99_protos.h: Likewise.
1561 * config/fpu-387.h: Likewise.
1562 * config/fpu-aix.h: Likewise.
1563 * config/fpu-generic.h: Likewise.
1564 * config/fpu-glibc.h: Likewise.
1565 * config/fpu-sysv.h: Likewise.
1566 * intrinsics/abort.c: Likewise.
1567 * intrinsics/access.c: Likewise.
1568 * intrinsics/args.c: Likewise.
1569 * intrinsics/associated.c: Likewise.
1570 * intrinsics/c99_functions.c: Likewise.
1571 * intrinsics/chdir.c: Likewise.
1572 * intrinsics/chmod.c: Likewise.
1573 * intrinsics/clock.c: Likewise.
1574 * intrinsics/cpu_time.c: Likewise.
1575 * intrinsics/cshift0.c: Likewise.
1576 * intrinsics/ctime.c: Likewise.
1577 * intrinsics/date_and_time.c: Likewise.
1578 * intrinsics/dprod_r8.f90: Likewise.
1579 * intrinsics/dtime.c: Likewise.
1580 * intrinsics/env.c: Likewise.
1581 * intrinsics/eoshift0.c: Likewise.
1582 * intrinsics/eoshift2.c: Likewise.
1583 * intrinsics/erfc_scaled.c: Likewise.
1584 * intrinsics/erfc_scaled_inc.c: Likewise.
1585 * intrinsics/etime.c: Likewise.
1586 * intrinsics/exit.c: Likewise.
1587 * intrinsics/f2c_specifics.F90: Likewise.
1588 * intrinsics/fnum.c: Likewise.
1589 * intrinsics/gerror.c: Likewise.
1590 * intrinsics/getXid.c: Likewise.
1591 * intrinsics/getcwd.c: Likewise.
1592 * intrinsics/getlog.c: Likewise.
1593 * intrinsics/hostnm.c: Likewise.
1594 * intrinsics/ierrno.c: Likewise.
1595 * intrinsics/ishftc.c: Likewise.
1596 * intrinsics/iso_c_binding.c: Likewise.
1597 * intrinsics/iso_c_binding.h: Likewise.
1598 * intrinsics/iso_c_generated_procs.c: Likewise.
1599 * intrinsics/kill.c: Likewise.
1600 * intrinsics/link.c: Likewise.
1601 * intrinsics/malloc.c: Likewise.
1602 * intrinsics/move_alloc.c: Likewise.
1603 * intrinsics/mvbits.c: Likewise.
1604 * intrinsics/pack_generic.c: Likewise.
1605 * intrinsics/perror.c: Likewise.
1606 * intrinsics/rand.c: Likewise.
1607 * intrinsics/random.c: Likewise.
1608 * intrinsics/rename.c: Likewise.
1609 * intrinsics/reshape_generic.c: Likewise.
1610 * intrinsics/reshape_packed.c: Likewise.
1611 * intrinsics/selected_char_kind.c: Likewise.
1612 * intrinsics/selected_int_kind.f90: Likewise.
1613 * intrinsics/selected_real_kind.f90: Likewise.
1614 * intrinsics/signal.c: Likewise.
1615 * intrinsics/size.c: Likewise.
1616 * intrinsics/sleep.c: Likewise.
1617 * intrinsics/spread_generic.c: Likewise.
1618 * intrinsics/stat.c: Likewise.
1619 * intrinsics/string_intrinsics.c: Likewise.
1620 * intrinsics/string_intrinsics_inc.c: Likewise.
1621 * intrinsics/symlnk.c: Likewise.
1622 * intrinsics/system.c: Likewise.
1623 * intrinsics/system_clock.c: Likewise.
1624 * intrinsics/time.c: Likewise.
1625 * intrinsics/time_1.h: Likewise.
1626 * intrinsics/transpose_generic.c: Likewise.
1627 * intrinsics/umask.c: Likewise.
1628 * intrinsics/unlink.c: Likewise.
1629 * intrinsics/unpack_generic.c: Likewise.
1630 * io/close.c: Likewise.
1631 * io/fbuf.c: Likewise.
1632 * io/file_pos.c: Likewise.
1633 * io/format.c: Likewise.
1634 * io/inquire.c: Likewise.
1635 * io/intrinsics.c: Likewise.
1636 * io/io.h: Likewise.
1637 * io/list_read.c: Likewise.
1638 * io/lock.c: Likewise.
1639 * io/open.c: Likewise.
1640 * io/read.c: Likewise.
1641 * io/size_from_kind.c: Likewise.
1642 * io/transfer.c: Likewise.
1643 * io/unit.c: Likewise.
1644 * io/unix.c: Likewise.
1645 * io/write.c: Likewise.
1646 * io/write_float.def: Likewise.
1647 * libgfortran.h: Likewise.
1648 * m4/all.m4: Likewise.
1649 * m4/any.m4: Likewise.
1650 * m4/count.m4: Likewise.
1651 * m4/cshift1.m4: Likewise.
1652 * m4/eoshift1.m4: Likewise.
1653 * m4/eoshift3.m4: Likewise.
1654 * m4/exponent.m4: Likewise.
1655 * m4/fraction.m4: Likewise.
1656 * m4/head.m4: Likewise.
1657 * m4/in_pack.m4: Likewise.
1658 * m4/in_unpack.m4: Likewise.
1659 * m4/matmul.m4: Likewise.
1660 * m4/matmull.m4: Likewise.
1661 * m4/maxloc0.m4: Likewise.
1662 * m4/maxloc1.m4: Likewise.
1663 * m4/maxval.m4: Likewise.
1664 * m4/minloc0.m4: Likewise.
1665 * m4/minloc1.m4: Likewise.
1666 * m4/minval.m4: Likewise.
1667 * m4/nearest.m4: Likewise.
1668 * m4/pack.m4: Likewise.
1669 * m4/pow.m4: Likewise.
1670 * m4/product.m4: Likewise.
1671 * m4/reshape.m4: Likewise.
1672 * m4/rrspacing.m4: Likewise.
1673 * m4/set_exponent.m4: Likewise.
1674 * m4/shape.m4: Likewise.
1675 * m4/spacing.m4: Likewise.
1676 * m4/spread.m4: Likewise.
1677 * m4/sum.m4: Likewise.
1678 * m4/transpose.m4: Likewise.
1679 * m4/unpack.m4: Likewise.
1680 * runtime/backtrace.c: Likewise.
1681 * runtime/compile_options.c: Likewise.
1682 * runtime/convert_char.c: Likewise.
1683 * runtime/environ.c: Likewise.
1684 * runtime/error.c: Likewise.
1685 * runtime/in_pack_generic.c: Likewise.
1686 * runtime/in_unpack_generic.c: Likewise.
1687 * runtime/main.c: Likewise.
1688 * runtime/memory.c: Likewise.
1689 * runtime/pause.c: Likewise.
1690 * runtime/select.c: Likewise.
1691 * runtime/select_inc.c: Likewise.
1692 * runtime/stop.c: Likewise.
1693 * runtime/string.c: Likewise.
1694 * generated/_abs_c10.F90: Regenerate.
1695 * generated/_abs_c16.F90: Regenerate.
1696 * generated/_abs_c4.F90: Regenerate.
1697 * generated/_abs_c8.F90: Regenerate.
1698 * generated/_abs_i16.F90: Regenerate.
1699 * generated/_abs_i4.F90: Regenerate.
1700 * generated/_abs_i8.F90: Regenerate.
1701 * generated/_abs_r10.F90: Regenerate.
1702 * generated/_abs_r16.F90: Regenerate.
1703 * generated/_abs_r4.F90: Regenerate.
1704 * generated/_abs_r8.F90: Regenerate.
1705 * generated/_acos_r10.F90: Regenerate.
1706 * generated/_acos_r16.F90: Regenerate.
1707 * generated/_acos_r4.F90: Regenerate.
1708 * generated/_acos_r8.F90: Regenerate.
1709 * generated/_acosh_r10.F90: Regenerate.
1710 * generated/_acosh_r16.F90: Regenerate.
1711 * generated/_acosh_r4.F90: Regenerate.
1712 * generated/_acosh_r8.F90: Regenerate.
1713 * generated/_aimag_c10.F90: Regenerate.
1714 * generated/_aimag_c16.F90: Regenerate.
1715 * generated/_aimag_c4.F90: Regenerate.
1716 * generated/_aimag_c8.F90: Regenerate.
1717 * generated/_aint_r10.F90: Regenerate.
1718 * generated/_aint_r16.F90: Regenerate.
1719 * generated/_aint_r4.F90: Regenerate.
1720 * generated/_aint_r8.F90: Regenerate.
1721 * generated/_anint_r10.F90: Regenerate.
1722 * generated/_anint_r16.F90: Regenerate.
1723 * generated/_anint_r4.F90: Regenerate.
1724 * generated/_anint_r8.F90: Regenerate.
1725 * generated/_asin_r10.F90: Regenerate.
1726 * generated/_asin_r16.F90: Regenerate.
1727 * generated/_asin_r4.F90: Regenerate.
1728 * generated/_asin_r8.F90: Regenerate.
1729 * generated/_asinh_r10.F90: Regenerate.
1730 * generated/_asinh_r16.F90: Regenerate.
1731 * generated/_asinh_r4.F90: Regenerate.
1732 * generated/_asinh_r8.F90: Regenerate.
1733 * generated/_atan2_r10.F90: Regenerate.
1734 * generated/_atan2_r16.F90: Regenerate.
1735 * generated/_atan2_r4.F90: Regenerate.
1736 * generated/_atan2_r8.F90: Regenerate.
1737 * generated/_atan_r10.F90: Regenerate.
1738 * generated/_atan_r16.F90: Regenerate.
1739 * generated/_atan_r4.F90: Regenerate.
1740 * generated/_atan_r8.F90: Regenerate.
1741 * generated/_atanh_r10.F90: Regenerate.
1742 * generated/_atanh_r16.F90: Regenerate.
1743 * generated/_atanh_r4.F90: Regenerate.
1744 * generated/_atanh_r8.F90: Regenerate.
1745 * generated/_conjg_c10.F90: Regenerate.
1746 * generated/_conjg_c16.F90: Regenerate.
1747 * generated/_conjg_c4.F90: Regenerate.
1748 * generated/_conjg_c8.F90: Regenerate.
1749 * generated/_cos_c10.F90: Regenerate.
1750 * generated/_cos_c16.F90: Regenerate.
1751 * generated/_cos_c4.F90: Regenerate.
1752 * generated/_cos_c8.F90: Regenerate.
1753 * generated/_cos_r10.F90: Regenerate.
1754 * generated/_cos_r16.F90: Regenerate.
1755 * generated/_cos_r4.F90: Regenerate.
1756 * generated/_cos_r8.F90: Regenerate.
1757 * generated/_cosh_r10.F90: Regenerate.
1758 * generated/_cosh_r16.F90: Regenerate.
1759 * generated/_cosh_r4.F90: Regenerate.
1760 * generated/_cosh_r8.F90: Regenerate.
1761 * generated/_dim_i16.F90: Regenerate.
1762 * generated/_dim_i4.F90: Regenerate.
1763 * generated/_dim_i8.F90: Regenerate.
1764 * generated/_dim_r10.F90: Regenerate.
1765 * generated/_dim_r16.F90: Regenerate.
1766 * generated/_dim_r4.F90: Regenerate.
1767 * generated/_dim_r8.F90: Regenerate.
1768 * generated/_exp_c10.F90: Regenerate.
1769 * generated/_exp_c16.F90: Regenerate.
1770 * generated/_exp_c4.F90: Regenerate.
1771 * generated/_exp_c8.F90: Regenerate.
1772 * generated/_exp_r10.F90: Regenerate.
1773 * generated/_exp_r16.F90: Regenerate.
1774 * generated/_exp_r4.F90: Regenerate.
1775 * generated/_exp_r8.F90: Regenerate.
1776 * generated/_log10_r10.F90: Regenerate.
1777 * generated/_log10_r16.F90: Regenerate.
1778 * generated/_log10_r4.F90: Regenerate.
1779 * generated/_log10_r8.F90: Regenerate.
1780 * generated/_log_c10.F90: Regenerate.
1781 * generated/_log_c16.F90: Regenerate.
1782 * generated/_log_c4.F90: Regenerate.
1783 * generated/_log_c8.F90: Regenerate.
1784 * generated/_log_r10.F90: Regenerate.
1785 * generated/_log_r16.F90: Regenerate.
1786 * generated/_log_r4.F90: Regenerate.
1787 * generated/_log_r8.F90: Regenerate.
1788 * generated/_mod_i16.F90: Regenerate.
1789 * generated/_mod_i4.F90: Regenerate.
1790 * generated/_mod_i8.F90: Regenerate.
1791 * generated/_mod_r10.F90: Regenerate.
1792 * generated/_mod_r16.F90: Regenerate.
1793 * generated/_mod_r4.F90: Regenerate.
1794 * generated/_mod_r8.F90: Regenerate.
1795 * generated/_sign_i16.F90: Regenerate.
1796 * generated/_sign_i4.F90: Regenerate.
1797 * generated/_sign_i8.F90: Regenerate.
1798 * generated/_sign_r10.F90: Regenerate.
1799 * generated/_sign_r16.F90: Regenerate.
1800 * generated/_sign_r4.F90: Regenerate.
1801 * generated/_sign_r8.F90: Regenerate.
1802 * generated/_sin_c10.F90: Regenerate.
1803 * generated/_sin_c16.F90: Regenerate.
1804 * generated/_sin_c4.F90: Regenerate.
1805 * generated/_sin_c8.F90: Regenerate.
1806 * generated/_sin_r10.F90: Regenerate.
1807 * generated/_sin_r16.F90: Regenerate.
1808 * generated/_sin_r4.F90: Regenerate.
1809 * generated/_sin_r8.F90: Regenerate.
1810 * generated/_sinh_r10.F90: Regenerate.
1811 * generated/_sinh_r16.F90: Regenerate.
1812 * generated/_sinh_r4.F90: Regenerate.
1813 * generated/_sinh_r8.F90: Regenerate.
1814 * generated/_sqrt_c10.F90: Regenerate.
1815 * generated/_sqrt_c16.F90: Regenerate.
1816 * generated/_sqrt_c4.F90: Regenerate.
1817 * generated/_sqrt_c8.F90: Regenerate.
1818 * generated/_sqrt_r10.F90: Regenerate.
1819 * generated/_sqrt_r16.F90: Regenerate.
1820 * generated/_sqrt_r4.F90: Regenerate.
1821 * generated/_sqrt_r8.F90: Regenerate.
1822 * generated/_tan_r10.F90: Regenerate.
1823 * generated/_tan_r16.F90: Regenerate.
1824 * generated/_tan_r4.F90: Regenerate.
1825 * generated/_tan_r8.F90: Regenerate.
1826 * generated/_tanh_r10.F90: Regenerate.
1827 * generated/_tanh_r16.F90: Regenerate.
1828 * generated/_tanh_r4.F90: Regenerate.
1829 * generated/_tanh_r8.F90: Regenerate.
1830 * generated/all_l1.c: Regenerate.
1831 * generated/all_l16.c: Regenerate.
1832 * generated/all_l2.c: Regenerate.
1833 * generated/all_l4.c: Regenerate.
1834 * generated/all_l8.c: Regenerate.
1835 * generated/any_l1.c: Regenerate.
1836 * generated/any_l16.c: Regenerate.
1837 * generated/any_l2.c: Regenerate.
1838 * generated/any_l4.c: Regenerate.
1839 * generated/any_l8.c: Regenerate.
1840 * generated/count_16_l.c: Regenerate.
1841 * generated/count_1_l.c: Regenerate.
1842 * generated/count_2_l.c: Regenerate.
1843 * generated/count_4_l.c: Regenerate.
1844 * generated/count_8_l.c: Regenerate.
1845 * generated/cshift0_c10.c: Regenerate.
1846 * generated/cshift0_c16.c: Regenerate.
1847 * generated/cshift0_c4.c: Regenerate.
1848 * generated/cshift0_c8.c: Regenerate.
1849 * generated/cshift0_i1.c: Regenerate.
1850 * generated/cshift0_i16.c: Regenerate.
1851 * generated/cshift0_i2.c: Regenerate.
1852 * generated/cshift0_i4.c: Regenerate.
1853 * generated/cshift0_i8.c: Regenerate.
1854 * generated/cshift0_r10.c: Regenerate.
1855 * generated/cshift0_r16.c: Regenerate.
1856 * generated/cshift0_r4.c: Regenerate.
1857 * generated/cshift0_r8.c: Regenerate.
1858 * generated/cshift1_16.c: Regenerate.
1859 * generated/cshift1_4.c: Regenerate.
1860 * generated/cshift1_8.c: Regenerate.
1861 * generated/eoshift1_16.c: Regenerate.
1862 * generated/eoshift1_4.c: Regenerate.
1863 * generated/eoshift1_8.c: Regenerate.
1864 * generated/eoshift3_16.c: Regenerate.
1865 * generated/eoshift3_4.c: Regenerate.
1866 * generated/eoshift3_8.c: Regenerate.
1867 * generated/exponent_r10.c: Regenerate.
1868 * generated/exponent_r16.c: Regenerate.
1869 * generated/exponent_r4.c: Regenerate.
1870 * generated/exponent_r8.c: Regenerate.
1871 * generated/fraction_r10.c: Regenerate.
1872 * generated/fraction_r16.c: Regenerate.
1873 * generated/fraction_r4.c: Regenerate.
1874 * generated/fraction_r8.c: Regenerate.
1875 * generated/in_pack_c10.c: Regenerate.
1876 * generated/in_pack_c16.c: Regenerate.
1877 * generated/in_pack_c4.c: Regenerate.
1878 * generated/in_pack_c8.c: Regenerate.
1879 * generated/in_pack_i1.c: Regenerate.
1880 * generated/in_pack_i16.c: Regenerate.
1881 * generated/in_pack_i2.c: Regenerate.
1882 * generated/in_pack_i4.c: Regenerate.
1883 * generated/in_pack_i8.c: Regenerate.
1884 * generated/in_pack_r10.c: Regenerate.
1885 * generated/in_pack_r16.c: Regenerate.
1886 * generated/in_pack_r4.c: Regenerate.
1887 * generated/in_pack_r8.c: Regenerate.
1888 * generated/in_unpack_c10.c: Regenerate.
1889 * generated/in_unpack_c16.c: Regenerate.
1890 * generated/in_unpack_c4.c: Regenerate.
1891 * generated/in_unpack_c8.c: Regenerate.
1892 * generated/in_unpack_i1.c: Regenerate.
1893 * generated/in_unpack_i16.c: Regenerate.
1894 * generated/in_unpack_i2.c: Regenerate.
1895 * generated/in_unpack_i4.c: Regenerate.
1896 * generated/in_unpack_i8.c: Regenerate.
1897 * generated/in_unpack_r10.c: Regenerate.
1898 * generated/in_unpack_r16.c: Regenerate.
1899 * generated/in_unpack_r4.c: Regenerate.
1900 * generated/in_unpack_r8.c: Regenerate.
1901 * generated/matmul_c10.c: Regenerate.
1902 * generated/matmul_c16.c: Regenerate.
1903 * generated/matmul_c4.c: Regenerate.
1904 * generated/matmul_c8.c: Regenerate.
1905 * generated/matmul_i1.c: Regenerate.
1906 * generated/matmul_i16.c: Regenerate.
1907 * generated/matmul_i2.c: Regenerate.
1908 * generated/matmul_i4.c: Regenerate.
1909 * generated/matmul_i8.c: Regenerate.
1910 * generated/matmul_l16.c: Regenerate.
1911 * generated/matmul_l4.c: Regenerate.
1912 * generated/matmul_l8.c: Regenerate.
1913 * generated/matmul_r10.c: Regenerate.
1914 * generated/matmul_r16.c: Regenerate.
1915 * generated/matmul_r4.c: Regenerate.
1916 * generated/matmul_r8.c: Regenerate.
1917 * generated/maxloc0_16_i1.c: Regenerate.
1918 * generated/maxloc0_16_i16.c: Regenerate.
1919 * generated/maxloc0_16_i2.c: Regenerate.
1920 * generated/maxloc0_16_i4.c: Regenerate.
1921 * generated/maxloc0_16_i8.c: Regenerate.
1922 * generated/maxloc0_16_r10.c: Regenerate.
1923 * generated/maxloc0_16_r16.c: Regenerate.
1924 * generated/maxloc0_16_r4.c: Regenerate.
1925 * generated/maxloc0_16_r8.c: Regenerate.
1926 * generated/maxloc0_4_i1.c: Regenerate.
1927 * generated/maxloc0_4_i16.c: Regenerate.
1928 * generated/maxloc0_4_i2.c: Regenerate.
1929 * generated/maxloc0_4_i4.c: Regenerate.
1930 * generated/maxloc0_4_i8.c: Regenerate.
1931 * generated/maxloc0_4_r10.c: Regenerate.
1932 * generated/maxloc0_4_r16.c: Regenerate.
1933 * generated/maxloc0_4_r4.c: Regenerate.
1934 * generated/maxloc0_4_r8.c: Regenerate.
1935 * generated/maxloc0_8_i1.c: Regenerate.
1936 * generated/maxloc0_8_i16.c: Regenerate.
1937 * generated/maxloc0_8_i2.c: Regenerate.
1938 * generated/maxloc0_8_i4.c: Regenerate.
1939 * generated/maxloc0_8_i8.c: Regenerate.
1940 * generated/maxloc0_8_r10.c: Regenerate.
1941 * generated/maxloc0_8_r16.c: Regenerate.
1942 * generated/maxloc0_8_r4.c: Regenerate.
1943 * generated/maxloc0_8_r8.c: Regenerate.
1944 * generated/maxloc1_16_i1.c: Regenerate.
1945 * generated/maxloc1_16_i16.c: Regenerate.
1946 * generated/maxloc1_16_i2.c: Regenerate.
1947 * generated/maxloc1_16_i4.c: Regenerate.
1948 * generated/maxloc1_16_i8.c: Regenerate.
1949 * generated/maxloc1_16_r10.c: Regenerate.
1950 * generated/maxloc1_16_r16.c: Regenerate.
1951 * generated/maxloc1_16_r4.c: Regenerate.
1952 * generated/maxloc1_16_r8.c: Regenerate.
1953 * generated/maxloc1_4_i1.c: Regenerate.
1954 * generated/maxloc1_4_i16.c: Regenerate.
1955 * generated/maxloc1_4_i2.c: Regenerate.
1956 * generated/maxloc1_4_i4.c: Regenerate.
1957 * generated/maxloc1_4_i8.c: Regenerate.
1958 * generated/maxloc1_4_r10.c: Regenerate.
1959 * generated/maxloc1_4_r16.c: Regenerate.
1960 * generated/maxloc1_4_r4.c: Regenerate.
1961 * generated/maxloc1_4_r8.c: Regenerate.
1962 * generated/maxloc1_8_i1.c: Regenerate.
1963 * generated/maxloc1_8_i16.c: Regenerate.
1964 * generated/maxloc1_8_i2.c: Regenerate.
1965 * generated/maxloc1_8_i4.c: Regenerate.
1966 * generated/maxloc1_8_i8.c: Regenerate.
1967 * generated/maxloc1_8_r10.c: Regenerate.
1968 * generated/maxloc1_8_r16.c: Regenerate.
1969 * generated/maxloc1_8_r4.c: Regenerate.
1970 * generated/maxloc1_8_r8.c: Regenerate.
1971 * generated/maxval_i1.c: Regenerate.
1972 * generated/maxval_i16.c: Regenerate.
1973 * generated/maxval_i2.c: Regenerate.
1974 * generated/maxval_i4.c: Regenerate.
1975 * generated/maxval_i8.c: Regenerate.
1976 * generated/maxval_r10.c: Regenerate.
1977 * generated/maxval_r16.c: Regenerate.
1978 * generated/maxval_r4.c: Regenerate.
1979 * generated/maxval_r8.c: Regenerate.
1980 * generated/minloc0_16_i1.c: Regenerate.
1981 * generated/minloc0_16_i16.c: Regenerate.
1982 * generated/minloc0_16_i2.c: Regenerate.
1983 * generated/minloc0_16_i4.c: Regenerate.
1984 * generated/minloc0_16_i8.c: Regenerate.
1985 * generated/minloc0_16_r10.c: Regenerate.
1986 * generated/minloc0_16_r16.c: Regenerate.
1987 * generated/minloc0_16_r4.c: Regenerate.
1988 * generated/minloc0_16_r8.c: Regenerate.
1989 * generated/minloc0_4_i1.c: Regenerate.
1990 * generated/minloc0_4_i16.c: Regenerate.
1991 * generated/minloc0_4_i2.c: Regenerate.
1992 * generated/minloc0_4_i4.c: Regenerate.
1993 * generated/minloc0_4_i8.c: Regenerate.
1994 * generated/minloc0_4_r10.c: Regenerate.
1995 * generated/minloc0_4_r16.c: Regenerate.
1996 * generated/minloc0_4_r4.c: Regenerate.
1997 * generated/minloc0_4_r8.c: Regenerate.
1998 * generated/minloc0_8_i1.c: Regenerate.
1999 * generated/minloc0_8_i16.c: Regenerate.
2000 * generated/minloc0_8_i2.c: Regenerate.
2001 * generated/minloc0_8_i4.c: Regenerate.
2002 * generated/minloc0_8_i8.c: Regenerate.
2003 * generated/minloc0_8_r10.c: Regenerate.
2004 * generated/minloc0_8_r16.c: Regenerate.
2005 * generated/minloc0_8_r4.c: Regenerate.
2006 * generated/minloc0_8_r8.c: Regenerate.
2007 * generated/minloc1_16_i1.c: Regenerate.
2008 * generated/minloc1_16_i16.c: Regenerate.
2009 * generated/minloc1_16_i2.c: Regenerate.
2010 * generated/minloc1_16_i4.c: Regenerate.
2011 * generated/minloc1_16_i8.c: Regenerate.
2012 * generated/minloc1_16_r10.c: Regenerate.
2013 * generated/minloc1_16_r16.c: Regenerate.
2014 * generated/minloc1_16_r4.c: Regenerate.
2015 * generated/minloc1_16_r8.c: Regenerate.
2016 * generated/minloc1_4_i1.c: Regenerate.
2017 * generated/minloc1_4_i16.c: Regenerate.
2018 * generated/minloc1_4_i2.c: Regenerate.
2019 * generated/minloc1_4_i4.c: Regenerate.
2020 * generated/minloc1_4_i8.c: Regenerate.
2021 * generated/minloc1_4_r10.c: Regenerate.
2022 * generated/minloc1_4_r16.c: Regenerate.
2023 * generated/minloc1_4_r4.c: Regenerate.
2024 * generated/minloc1_4_r8.c: Regenerate.
2025 * generated/minloc1_8_i1.c: Regenerate.
2026 * generated/minloc1_8_i16.c: Regenerate.
2027 * generated/minloc1_8_i2.c: Regenerate.
2028 * generated/minloc1_8_i4.c: Regenerate.
2029 * generated/minloc1_8_i8.c: Regenerate.
2030 * generated/minloc1_8_r10.c: Regenerate.
2031 * generated/minloc1_8_r16.c: Regenerate.
2032 * generated/minloc1_8_r4.c: Regenerate.
2033 * generated/minloc1_8_r8.c: Regenerate.
2034 * generated/minval_i1.c: Regenerate.
2035 * generated/minval_i16.c: Regenerate.
2036 * generated/minval_i2.c: Regenerate.
2037 * generated/minval_i4.c: Regenerate.
2038 * generated/minval_i8.c: Regenerate.
2039 * generated/minval_r10.c: Regenerate.
2040 * generated/minval_r16.c: Regenerate.
2041 * generated/minval_r4.c: Regenerate.
2042 * generated/minval_r8.c: Regenerate.
2043 * generated/misc_specifics.F90: Regenerate.
2044 * generated/nearest_r10.c: Regenerate.
2045 * generated/nearest_r16.c: Regenerate.
2046 * generated/nearest_r4.c: Regenerate.
2047 * generated/nearest_r8.c: Regenerate.
2048 * generated/pack_c10.c: Regenerate.
2049 * generated/pack_c16.c: Regenerate.
2050 * generated/pack_c4.c: Regenerate.
2051 * generated/pack_c8.c: Regenerate.
2052 * generated/pack_i1.c: Regenerate.
2053 * generated/pack_i16.c: Regenerate.
2054 * generated/pack_i2.c: Regenerate.
2055 * generated/pack_i4.c: Regenerate.
2056 * generated/pack_i8.c: Regenerate.
2057 * generated/pack_r10.c: Regenerate.
2058 * generated/pack_r16.c: Regenerate.
2059 * generated/pack_r4.c: Regenerate.
2060 * generated/pack_r8.c: Regenerate.
2061 * generated/pow_c10_i16.c: Regenerate.
2062 * generated/pow_c10_i4.c: Regenerate.
2063 * generated/pow_c10_i8.c: Regenerate.
2064 * generated/pow_c16_i16.c: Regenerate.
2065 * generated/pow_c16_i4.c: Regenerate.
2066 * generated/pow_c16_i8.c: Regenerate.
2067 * generated/pow_c4_i16.c: Regenerate.
2068 * generated/pow_c4_i4.c: Regenerate.
2069 * generated/pow_c4_i8.c: Regenerate.
2070 * generated/pow_c8_i16.c: Regenerate.
2071 * generated/pow_c8_i4.c: Regenerate.
2072 * generated/pow_c8_i8.c: Regenerate.
2073 * generated/pow_i16_i16.c: Regenerate.
2074 * generated/pow_i16_i4.c: Regenerate.
2075 * generated/pow_i16_i8.c: Regenerate.
2076 * generated/pow_i4_i16.c: Regenerate.
2077 * generated/pow_i4_i4.c: Regenerate.
2078 * generated/pow_i4_i8.c: Regenerate.
2079 * generated/pow_i8_i16.c: Regenerate.
2080 * generated/pow_i8_i4.c: Regenerate.
2081 * generated/pow_i8_i8.c: Regenerate.
2082 * generated/pow_r10_i16.c: Regenerate.
2083 * generated/pow_r10_i8.c: Regenerate.
2084 * generated/pow_r16_i16.c: Regenerate.
2085 * generated/pow_r16_i8.c: Regenerate.
2086 * generated/pow_r4_i16.c: Regenerate.
2087 * generated/pow_r4_i8.c: Regenerate.
2088 * generated/pow_r8_i16.c: Regenerate.
2089 * generated/pow_r8_i8.c: Regenerate.
2090 * generated/product_c10.c: Regenerate.
2091 * generated/product_c16.c: Regenerate.
2092 * generated/product_c4.c: Regenerate.
2093 * generated/product_c8.c: Regenerate.
2094 * generated/product_i1.c: Regenerate.
2095 * generated/product_i16.c: Regenerate.
2096 * generated/product_i2.c: Regenerate.
2097 * generated/product_i4.c: Regenerate.
2098 * generated/product_i8.c: Regenerate.
2099 * generated/product_r10.c: Regenerate.
2100 * generated/product_r16.c: Regenerate.
2101 * generated/product_r4.c: Regenerate.
2102 * generated/product_r8.c: Regenerate.
2103 * generated/reshape_c10.c: Regenerate.
2104 * generated/reshape_c16.c: Regenerate.
2105 * generated/reshape_c4.c: Regenerate.
2106 * generated/reshape_c8.c: Regenerate.
2107 * generated/reshape_i16.c: Regenerate.
2108 * generated/reshape_i4.c: Regenerate.
2109 * generated/reshape_i8.c: Regenerate.
2110 * generated/reshape_r10.c: Regenerate.
2111 * generated/reshape_r16.c: Regenerate.
2112 * generated/reshape_r4.c: Regenerate.
2113 * generated/reshape_r8.c: Regenerate.
2114 * generated/rrspacing_r10.c: Regenerate.
2115 * generated/rrspacing_r16.c: Regenerate.
2116 * generated/rrspacing_r4.c: Regenerate.
2117 * generated/rrspacing_r8.c: Regenerate.
2118 * generated/set_exponent_r10.c: Regenerate.
2119 * generated/set_exponent_r16.c: Regenerate.
2120 * generated/set_exponent_r4.c: Regenerate.
2121 * generated/set_exponent_r8.c: Regenerate.
2122 * generated/shape_i16.c: Regenerate.
2123 * generated/shape_i4.c: Regenerate.
2124 * generated/shape_i8.c: Regenerate.
2125 * generated/spacing_r10.c: Regenerate.
2126 * generated/spacing_r16.c: Regenerate.
2127 * generated/spacing_r4.c: Regenerate.
2128 * generated/spacing_r8.c: Regenerate.
2129 * generated/spread_c10.c: Regenerate.
2130 * generated/spread_c16.c: Regenerate.
2131 * generated/spread_c4.c: Regenerate.
2132 * generated/spread_c8.c: Regenerate.
2133 * generated/spread_i1.c: Regenerate.
2134 * generated/spread_i16.c: Regenerate.
2135 * generated/spread_i2.c: Regenerate.
2136 * generated/spread_i4.c: Regenerate.
2137 * generated/spread_i8.c: Regenerate.
2138 * generated/spread_r10.c: Regenerate.
2139 * generated/spread_r16.c: Regenerate.
2140 * generated/spread_r4.c: Regenerate.
2141 * generated/spread_r8.c: Regenerate.
2142 * generated/sum_c10.c: Regenerate.
2143 * generated/sum_c16.c: Regenerate.
2144 * generated/sum_c4.c: Regenerate.
2145 * generated/sum_c8.c: Regenerate.
2146 * generated/sum_i1.c: Regenerate.
2147 * generated/sum_i16.c: Regenerate.
2148 * generated/sum_i2.c: Regenerate.
2149 * generated/sum_i4.c: Regenerate.
2150 * generated/sum_i8.c: Regenerate.
2151 * generated/sum_r10.c: Regenerate.
2152 * generated/sum_r16.c: Regenerate.
2153 * generated/sum_r4.c: Regenerate.
2154 * generated/sum_r8.c: Regenerate.
2155 * generated/transpose_c10.c: Regenerate.
2156 * generated/transpose_c16.c: Regenerate.
2157 * generated/transpose_c4.c: Regenerate.
2158 * generated/transpose_c8.c: Regenerate.
2159 * generated/transpose_i16.c: Regenerate.
2160 * generated/transpose_i4.c: Regenerate.
2161 * generated/transpose_i8.c: Regenerate.
2162 * generated/transpose_r10.c: Regenerate.
2163 * generated/transpose_r16.c: Regenerate.
2164 * generated/transpose_r4.c: Regenerate.
2165 * generated/transpose_r8.c: Regenerate.
2166 * generated/unpack_c10.c: Regenerate.
2167 * generated/unpack_c16.c: Regenerate.
2168 * generated/unpack_c4.c: Regenerate.
2169 * generated/unpack_c8.c: Regenerate.
2170 * generated/unpack_i1.c: Regenerate.
2171 * generated/unpack_i16.c: Regenerate.
2172 * generated/unpack_i2.c: Regenerate.
2173 * generated/unpack_i4.c: Regenerate.
2174 * generated/unpack_i8.c: Regenerate.
2175 * generated/unpack_r10.c: Regenerate.
2176 * generated/unpack_r16.c: Regenerate.
2177 * generated/unpack_r4.c: Regenerate.
2178 * generated/unpack_r8.c: Regenerate.
2180 2009-04-08 Janne Blomqvist <jb@gcc.gnu.org>
2182 * io/open.c (already_open): Test for POSIX close return value.
2183 * io/unit.c (close_unit_1): Likewise.
2184 * io/unix.c (raw_close): Return 0 for success for preconnected units.
2186 2009-04-08 Janne Blomqvist <jb@gcc.gnu.org>
2188 * runtime/string.c (compare0): Use gfc_charlen_type.
2189 * runtime/error.c (gfc_itoa): Move to io/write.c
2190 (xtoa): Rename to gfc_xtoa.
2191 * runtime/backtrace.c (show_backtrace): Call gfc_xtoa.
2192 * intrinsics/cshift0.c (cshift0): Use index_type for shift arg.
2193 * intrinsics/date_and_time.c (date_and_time): Use index_type.
2194 (itime_i4): Likewise.
2195 (itime_i8): Likewise.
2196 (idate_i4): Likewise.
2197 (idate_i8): Likewise.
2198 (gmtime_i4): Likewise.
2199 (gmtime_i8): Likewise.
2200 (ltime_i4): Likewise.
2201 (ltime_i8): Likewise.
2202 * libgfortran.h (gfc_itoa): Remove prototype.
2203 (xtoa): Rename prototype to gfc_xtoa.
2204 * io/list_read.c (nml_read_obj): Use size_t for string length.
2205 * io/transfer.c (read_block_direct): Change nbytes arg from
2207 (unformatted_read): Minor cleanup, call read_block_directly properly.
2208 (skip_record): Use ssize_t.
2209 (next_record_w_unf): Avoid stell() call by calling sseek with SEEK_CUR.
2210 (iolength_transfer): Make sure to multiply before cast.
2211 * io/intrinsics.c (fgetc): Remove unnecessary variable.
2212 * io/format.c (format_hash): Use gfc_charlen_type.
2213 * io/write.c (itoa): Move from runtime/error.c:gfc_itoa, rename,
2215 (write_i): Call with pointer to itoa.
2216 (write_z): Call with pointer to gfc_xtoa.
2217 (write_integer): Pointer to itoa.
2218 (nml_write_obj): Type cleanup, don't call strlen in loop.
2220 2009-04-06 H.J. Lu <hongjiu.lu@intel.com>
2222 PR libgfortran/39664
2223 * io/unix.c (raw_close): Don't close STDOUT_FILENO,
2224 STDERR_FILENO nor STDIN_FILENO.
2226 2009-04-06 David Edelsohn <edelsohn@gnu.org>
2228 * io/io.h (struct stream): Rename truncate to trunc.
2230 * io/unix.c (raw_init): Rename truncate to trunc.
2232 (open_internal): Same.
2234 2009-04-05 Daniel Kraft <d@domob.eu>
2237 * io/read.c (read_f): Reworked to speed up floating point parsing.
2238 (convert_real): Use pointer-casting instead of memcpy and temporaries.
2240 2009-04-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2243 * io/io.h (format_hash_entry): New structure for hash table.
2244 (format_hash_table): The hash table itself.
2245 (free_format_data): Revise function prototype.
2246 (free_format_hash_table, init_format_hash,
2247 free_format_hash): New function prototypes.
2248 * io/unit.c (close_unit_1): Use free_format_hash_table.
2249 * io/transfer.c (st_read_done, st_write_done): Free format data if
2251 * io/format.c (free_format_hash_table): New function that frees any
2252 memory allocated previously for cached format data.
2253 (reset_node): New static helper function to reset the format counters
2255 (reset_fnode_counters): New static function recursively calls reset_node
2256 to traverse the fnode tree.
2257 (format_hash): New simple hash function based on XOR, probabalistic,
2259 (save_parsed_format): New static function to save the parsed format
2261 (find_parsed_format): New static function searches the hash table
2262 looking for a match.
2263 (free_format_data): Revised to accept pointer to format data rather than
2264 the dtp pointer so that the function can be used in more places.
2265 (format_lex): Editorial.
2266 (parse_format_list): Set flag used to determine of format data hashing
2267 is to be used. Internal units are not persistent enough for this.
2268 (revert): Move to ne location in file.
2269 (parse_format): Use new functions to look for previously parsed
2270 format strings and use them rather than re-parse. If not found, saves
2271 the parsed format data for later use.
2273 2009-04-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2276 * io/transfer.c (formatted_transfer_scalar): Remove this function by
2277 factoring it into two new functions, one for read and one for write,
2278 eliminating all the conditionals for read or write mode.
2279 (formatted transfer_scalar_read): New function.
2280 (formatted transfer_scalar_write): New function.
2281 (formatted_transfer): Use new functions.
2283 2009-04-05 Janne Blomqvist <jb@gcc.gnu.org>
2285 PR libfortran/25561 libfortran/37754
2286 * io/io.h (struct stream): Define new stream interface function
2287 pointers, and inline functions for accessing it.
2288 (struct fbuf): Use int instead of size_t, remove flushed element.
2289 (mem_alloc_w): New prototype.
2290 (mem_alloc_r): New prototype.
2291 (stream_at_bof): Remove prototype.
2292 (stream_at_eof): Remove prototype.
2293 (file_position): Remove prototype.
2294 (flush): Remove prototype.
2295 (stream_offset): Remove prototype.
2296 (unit_truncate): New prototype.
2297 (read_block_form): Change to return pointer, int* argument.
2298 (hit_eof): New prototype.
2299 (fbuf_init): Change prototype.
2300 (fbuf_reset): Change prototype.
2301 (fbuf_alloc): Change prototype.
2302 (fbuf_flush): Change prototype.
2303 (fbuf_seek): Change prototype.
2304 (fbuf_read): New prototype.
2305 (fbuf_getc_refill): New prototype.
2306 (fbuf_getc): New inline function.
2307 * io/fbuf.c (fbuf_init): Use int, get rid of flushed.
2308 (fbuf_debug): New function.
2309 (fbuf_reset): Flush, and return position offset.
2310 (fbuf_alloc): Simplify, don't flush, just realloc.
2311 (fbuf_flush): Make usable for read mode, salvage remaining bytes.
2312 (fbuf_seek): New whence argument.
2313 (fbuf_read): New function.
2314 (fbuf_getc_refill): New function.
2315 * io/file_pos.c (formatted_backspace): Use new stream interface.
2316 (unformatted_backspace): Likewise.
2317 (st_backspace): Make sure format buffer is reset, use new stream
2318 interface, use unit_truncate.
2319 (st_endfile): Likewise.
2320 (st_rewind): Likewise.
2321 * io/intrinsics.c: Use new stream interface.
2322 * io/list_read.c (push_char): Don't use u.p.scratch, use realloc
2324 (free_saved): Don't check u.p.scratch.
2325 (next_char): Use new stream interface, use fbuf_getc() for external files.
2326 (finish_list_read): flush format buffer.
2327 (nml_query): Update to use modified interface:s
2328 * io/open.c (test_endfile): Use new stream interface.
2329 (edit_modes): Likewise.
2330 (new_unit): Likewise, set bytes_left to 1 for stream files.
2331 * io/read.c (read_l): Use new read_block_form interface.
2332 (read_utf8): Likewise.
2333 (read_utf8_char1): Likewise.
2334 (read_default_char1): Likewise.
2335 (read_utf8_char4): Likewise.
2336 (read_default_char4): Likewise.
2338 (read_a_char4): Likewise.
2339 (read_decimal): Likewise.
2340 (read_radix): Likewise.
2342 * io/transfer.c (read_sf): Use fbuf_read and mem_alloc_r, remove
2343 usage of u.p.line_buffer.
2344 (read_block_form): Update interface to return pointer, use
2345 fbuf_read for direct access.
2346 (read_block_direct): Update to new stream interface.
2347 (write_block): Use mem_alloc_w for internal I/O.
2348 (write_buf): Update to new stream interface.
2349 (formatted_transfer_scalar): Don't use u.p.line_buffer, use
2350 fbuf_seek for external files.
2351 (us_read): Update to new stream interface.
2352 (us_write): Likewise.
2353 (data_transfer_init): Always check if we switch modes and flush.
2354 (skip_record): Use new stream interface, fix comparison.
2355 (next_record_r): Check for and reset u.p.at_eof, use new stream
2356 interface, use fbuf_getc for spacing.
2357 (write_us_marker): Update to new stream interface, don't inline.
2358 (next_record_w_unf): Likewise.
2359 (sset): New function.
2360 (next_record_w): Use new stream interface, use fbuf for printing
2362 (next_record): Use new stream interface.
2363 (finalize_transfer): Remove sfree call, use new stream interface.
2364 (st_iolength_done): Don't use u.p.scratch.
2365 (st_read): Don't check for end of file.
2366 (st_read_done): Don't use u.p.scratch, use unit_truncate.
2367 (hit_eof): New function.
2368 * io/unit.c (init_units): Always init fbuf for formatted units.
2369 (update_position): Use new stream interface.
2370 (unit_truncate): New function.
2371 (finish_last_advance_record): Use fbuf to print newline.
2372 * io/unix.c: Remove unused SSIZE_MAX macro.
2373 (BUFFER_SIZE): Make static const variable rather than macro.
2374 (struct unix_stream): Remove dirty_offset, len, method,
2375 small_buffer. Order elements by decreasing size.
2376 (struct int_stream): Remove.
2377 (move_pos_offset): Remove usage of dirty_offset.
2378 (reset_stream): Remove.
2379 (do_read): Rename to raw_read, update to match new stream
2381 (do_write): Rename to raw_write, update to new stream interface.
2382 (raw_seek): New function.
2383 (raw_tell): New function.
2384 (raw_truncate): New function.
2385 (raw_close): New function.
2386 (raw_flush): New function.
2387 (raw_init): New function.
2389 (fd_alloc_r_at): Remove.
2390 (fd_alloc_w_at): Remove.
2393 (fd_truncate): Remove.
2399 (fd_flush): Rename to buf_flush, update to new stream interface
2401 (buf_read): New function.
2402 (buf_write): New function.
2403 (buf_seek): New function.
2404 (buf_tell): New function.
2405 (buf_truncate): New function.
2406 (buf_close): New function.
2407 (buf_init): New function.
2408 (mem_alloc_r_at): Rename to mem_alloc_r, change prototype.
2409 (mem_alloc_w_at): Rename to mem_alloc_w, change prototype.
2410 (mem_read): Change to match new stream interface.
2411 (mem_write): Likewise.
2412 (mem_seek): Likewise.
2413 (mem_tell): Likewise.
2414 (mem_truncate): Likewise.
2415 (mem_close): Likewise.
2416 (mem_flush): New function.
2417 (mem_sfree): Remove.
2418 (empty_internal_buffer): Cast to correct type.
2419 (open_internal): Use correct type, init function pointers.
2420 (fd_to_stream): Test whether to open file as buffered or raw.
2421 (output_stream): Remove mode set.
2422 (error_stream): Likewise.
2423 (flush_all_units_1): Use new stream interface.
2424 (flush_all_units): Likewise.
2425 (stream_at_bof): Remove.
2426 (stream_at_eof): Remove.
2427 (file_position): Remove.
2428 (file_length): Update logic to use stream interface.
2430 (stream_offset): Remove.
2431 * io/write.c (write_utf8_char4): Use int instead of size_t.
2432 (write_x): Extra safety check.
2433 (namelist_write_newline): Use new stream interface.
2435 2009-03-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2438 * intrinsics/c99_functions.c (round): Use floor instead of ceil.
2439 Revise checks to round up.
2442 2009-03-28 Daniel Kraft <d@domob.eu>
2444 * intrinsics/string_intrinsics.c: #include <assert.h>
2445 * intrinsics/string_intrinsics_inc.c (string_trim): Use string_len_trim
2446 instead of calculating the length directly.
2447 (string_len_trim): For KIND=1, speed search up.
2449 2009-03-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2452 * io/list_read.c (list_formatted_read_scalar): Move check for read
2453 completion to just after the check for a repeated value.
2455 2009-03-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2458 * io/write_float.def (output_float): Handle F0.d formatting correctly
2459 for any d when value is 0.0.
2461 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2463 * configure: Regenerate.
2465 2009-01-21 Daniel Kraft <d@domob.eu>
2468 * runtime/in_unpack_generic.c (internal_unpack): Return instead of
2469 abort when called with empty array.
2470 * m4/in_unpack.m4: Ditto.
2471 * generated/in_unpack_i1.c: Regenerated.
2472 * generated/in_unpack_i2.c: Regenerated.
2473 * generated/in_unpack_i4.c: Regenerated.
2474 * generated/in_unpack_i8.c: Regenerated.
2475 * generated/in_unpack_i16.c: Regenerated.
2476 * generated/in_unpack_r4.c: Regenerated.
2477 * generated/in_unpack_r8.c: Regenerated.
2478 * generated/in_unpack_r10.c: Regenerated.
2479 * generated/in_unpack_r16.c: Regenerated.
2480 * generated/in_unpack_c4.c: Regenerated.
2481 * generated/in_unpack_c8.c: Regenerated.
2482 * generated/in_unpack_c10.c: Regenerated.
2483 * generated/in_unpack_c16.c: Regenerated.
2485 2009-01-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2488 * io/read.c (read_f): Clean up loop conditions for BZ/BN,
2489 allowing proper digit testing. White space fix.
2491 2009-01-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2494 * io/unit.c (get_internal_unit): Set default BLANK= status to NULL for
2498 Copyright (C) 2009 Free Software Foundation, Inc.
2500 Copying and distribution of this file, with or without modification,
2501 are permitted in any medium without royalty provided the copyright
2502 notice and this notice are preserved.