12009-12-19 Janne Blomqvist <jb@gcc.gnu.org> 2 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. 7 82009-12-08 Tobias Burnus <burnus@net-b.de> 9 10 PR fortran/41711 11 * io/read.c (set_integer): Support kind=10 for reading 12 real/complex BOZ. 13 142009-12-06 Janus Weil <janus@gcc.gnu.org> 15 16 PR fortran/41478 17 PR fortran/42268 18 * intrinsics/pack_generic.c (pack): Add safety checks for the case that 19 'vector' is NULL. 20 212009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 22 23 * Makefile.in: Regenerate. 24 * configure: Regenerate. 25 262009-12-04 Janne Blomqvist <jb@gcc.gnu.org> 27 28 PR libfortran/40812 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. 33 (stell): Likewise. 34 (struncate): Likewise. 35 * io/unix.c: Redefine lseek() for mingw. 36 (raw_seek): Use gfc_offset instead of off_t. 37 (raw_tell): Likewise. 38 (buf_seek): Likewise. 39 (buf_tell): Likewise. 40 (buf_truncate): Likewise. 41 (mem_seek): Likewise. 42 (mem_tell): 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. 48 492009-11-30 Janus Weil <janus@gcc.gnu.org> 50 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. 55 562009-11-30 Kai Tietz <Kai.Tietz@onevision.com> 57 58 * io/unix.c (find_file): Add variable id conditionally for 59 mingw targets. 60 612009-11-28 Jakub Jelinek <jakub@redhat.com> 62 63 * intrinsics/pack_generic.c (pack_internal): Remove unused 64 zero_sized variable. 65 * intrinsics/unpack_generic.c (unpack0): Remove unused size 66 variable. 67 * io/write.c (namelist_write_newline): Remove unused length 68 variable. 69 * io/unix.c (find_file): Remove unused id variable. 70 * m4/ifunction.m4 (SCALAR_ARRAY_FUNCTION): Remove unused sstride 71 variable. 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. 170 1712009-11-19 Janne Blomqvist <jb@gcc.gnu.org> 172 173 * io/fbuf.h: Move includes after include guard. 174 * io/format.h: Likewise. 175 * io/unix.h: Likewise. 176 1772009-11-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> 178 179 PR libgfortran/42090 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 183 skipped. 184 1852009-11-02 Janne Blomqvist <jb@gcc.gnu.org> 186 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. 193 (sread): Likewise. 194 (swrite): Likewise. 195 (sseek): Likewise. 196 (stell): Likewise. 197 (struncate): Likewise. 198 (sflush): Likewise. 199 (sflush): Likewise. 200 (sclose): 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. 261 2622009-10-31 Janne Blomqvist <jb@gcc.gnu.org> 263 264 PR libfortran/41219 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. 270 (unpack0): 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. 275 2762009-10-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> 277 278 PR libgfortran/41711 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. 287 (write_o): Likewise. 288 (write_z): Likewise. 289 2902009-10-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> 291 292 PR libgfortran/41683 293 * io/format.c (parse_format_list): Allow a repeat specifier immediately 294 after a P specifier. 295 2962009-10-11 Jerry DeLisle <jvdelisle@gcc.gnu.org> 297 298 PR libgfortran/38439 299 * io/format.c (parse_format_list): Correct logic for FMT_F reading vs 300 writing. Code clean-up. 301 3022009-10-11 Jerry DeLisle <jvdelisle@gcc.gnu.org> 303 304 PR libgfortran/38439 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. 308 3092009-10-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> 310 311 PR libgfortran/35862 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. 315 3162009-09-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> 317 318 PR libgfortran/35862 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. 330 3312009-09-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk> 332 333 * configure.ac: Check for GFORTRAN_C99_1.1 funcs in OS libm. 334 * configure: Regenerate. 335 * config.h.in: Ditto. 336 3372009-09-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> 338 339 PR libgfortran/41328 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 342 marker succeeds. 343 3442009-09-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> 345 346 PR libgfortran/41328 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. 349 3502009-09-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> 351 352 PR libgfortran/41219 353 * io/write.c (write_a_char4): Use correct type for crlf constant. 354 3552009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 356 357 * Makefile.am (libgfortranbegin_la_LINK): New. 358 * Makefile.in: Regenerate. 359 3602009-09-09 Paolo Bonzini <bonzini@gnu.org> 361 362 * configure: Regenerate. 363 3642009-09-08 Paolo Bonzini <bonzini@gnu.org> 365 366 * configure: Regenerate. 367 3682009-09-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> 369 370 PR libgfortran/41192 371 * io/list_read.c (eat_line): Enable eat_line to function on 372 internal units. 373 374 PR libgfortran/41219 375 * io/list_read.c (nml_read_obj): Replace GFC_DTYPE_UNKNOWN with 376 BT_NULL to get rid of warning. 377 3782009-09-04 Tobias Burnus <burnus@net-b.de> 379 380 PR fortran/41219 381 * intrinsics/getlog.c: Define _POSIX for MINGW32. 382 3832009-09-03 Tobias Burnus <burnus@net-b.de> 384 385 PR fortran/41219 386 * intrinsics/iso_c_binding.c (c_f_pointer_u0): Move variable 387 declaration out of the loop. 388 3892009-08-30 Thomas Koenig <tkoenig@gcc.gnu.org> 390 391 * m4/pack.m4 (pack_'rtype_code`): Use count_0 for counting true 392 values in a logical array. Mark bounds checking tests as 393 unlikely. 394 * intrinsics/pack_generic.c (pack_internal): Likewise. 395 * runtime/bounds.c (count_0): Fix off-by-one error in detecting 396 empty arrays. 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. 410 4112009-08-25 Thomas Koenig <tkoenig@gcc.gnu.org> 412 413 PR libfortran/34670 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 420 (unpack0): Likewise. 421 (unpack0_char): Likewise. 422 (unpack0_char4): Likewise. 423 4242009-08-24 Steven G. Kargl <kargl@gcc.gnu.org> 425 426 PR fortran/41157 427 * dtime.c (dtime_sub): Fix computing time increment. 428 * time_1.h: Add <sys/types.h> header. Use RUSAGE_SELF macro instead 429 of a hardcoded 0. 430 4312009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 432 433 * configure.ac (AC_PREREQ): Bump to 2.64. 434 4352009-08-23 Steven G. Kargl <kargl@gcc.gnu.org> 436 437 * intrinsics/cshift0.c: Update license to GPL3+exception. 438 * runtime/fpu.c: Add a GPL3+exception statement. 439 4402009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 441 442 * Makefile.am (install-html, install-pdf): Remove. 443 * Makefile.in: Regenerate. 444 445 * Makefile.in: Regenerate. 446 * aclocal.m4: Regenerate. 447 * config.h.in: Regenerate. 448 * configure: Regenerate. 449 4502009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 451 452 * Makefile.am (libgfortran_la_LINK): Add $(libgfortran_la_LDFLAGS). 453 * Makefile.in: Regenerate. 454 4552009-08-20 Thomas Koenig <tkoenig@gcc.gnu.org> 456 457 PR libfortran/40962 458 * iso_c_binding.c (c_f_pointer_u0): Multiply stride by 459 previous stride. 460 4612009-08-20 Dave Korn <dave.korn.cygwin@gmail.com> 462 463 * Makefile.am (LTLDFLAGS): Add -bindir flag. 464 * Makefile.in: Regenerate. 465 4662009-08-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> 467 468 PR fortran/41075 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 474 comments to clarify. 475 4762009-08-15 Kai Tietz <kai.tietz@onevision.com> 477 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. 481 4822009-08-14 Janne Blomqvist <jb@gcc.gnu.org> 483 484 * fmain.c: Add comment saying file is deprecated. 485 4862009-08-14 Janne Blomqvist <jb@gcc.gnu.org> 487 488 PR libfortran/40863 489 * gfortran.map: Move new symbols to GFORTRAN_C99_1.1 version node. 490 4912009-08-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 492 493 PR libfortran/40549 494 * Makefile.in (LTLDFLAGS): Add -no-undefined. 495 * Makefile.am: Regenerate. 496 * libgfortran.h: Remove unused block of code. 497 4982009-08-02 Jerry DeLisle <jvdelisle@gcc.gnu.org> 499 500 PR libfortran/40853 501 * io/list_read.c (nml_get_obj_data): Do not set nl 502 pointer to first_nl if nl->next is NULL. 503 5042009-07-31 Kaz Kojima <kkojima@gcc.gnu.org> 505 506 * Makefile.am: Don't set SECTION_FLAGS with @SECTION_FLAGS@. 507 Don't set IEEE_FLAGS with @IEEE_FLAGS@. 508 * Makefile.in: Regenerate. 509 5102009-07-30 Kaz Kojima <kkojima@gcc.gnu.org> 511 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. 517 5182009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 519 520 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force. 521 5222009-07-27 Tobias Burnus <burnus@net-b.de> 523 524 PR fortran/40863 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. 529 5302009-07-25 Tobias Burnus <burnus@net-b.de> 531 532 PR fortran/33197 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. 537 5382009-07-24 Jakub Jelinek <jakub@redhat.com> 539 540 PR fortran/40643 541 PR fortran/31067 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): 545 Define. 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. 711 7122009-07-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> 713 714 PR libfortran/32784 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 717 specific. 718 7192009-07-19 Thomas Koenig <tkoenig@gcc.gnu.org> 720 721 PR libfortran/34670 722 PR libfortran/36874 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 730 error message. 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 735 for bounds checking. 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. 905 9062009-07-17 Janne Blomqvist <jb@gcc.gnu.org> 907 Jerry DeLisle <jvdelisle@gcc.gnu.org> 908 909 PR libfortran/40714 910 * io/transfer.c (finalize_transfer): Set current_record to 0 911 before returning in case of error. 912 9132009-07-12 Tobias Burnus <burnus@net-b.de> 914 915 PR libfortran/22423 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. 919 9202009-07-10 Steven G. Kargl <kargl@gcc.gnu.org> 921 922 * c99_functions.c (ccoshf, ccosh, ccoshl, ctanhf, ctanh, ctanl): 923 Fix errant minus. 924 9252009-07-08 Jerry DeLisle <jvdelisle@gcc.gnu.org> 926 927 PR libfortran/40330 928 PR libfortran/40662 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 942 data. 943 9442009-06-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> 945 946 PR libfortran/40576 947 * io/transfer.c (sset): Adjust exit condition for loop. 948 9492009-06-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> 950 951 PR libfortran/40508 952 * io/format.c: Don't save parsed format data for internal units. 953 9542009-06-21 Thomas Koenig <tkoenig@gcc.gnu.org> 955 956 PR fortran/37577 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 979 macros everywhere. 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`): 983 Likewise. 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 990 macros everywhere. 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 995 of rdim. 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 1006 to eoshift1. 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 1011 descriptors. 1012 (eoshift3_'atype_kind`): Remove size argument from call 1013 to eoshift1. 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 1020 descriptors. 1021 (cshift1_'atype_kind`): Remove size argument from call to 1022 cshift1. 1023 (cshift1_'atype_kind`_char): Remove size argument from call to 1024 cshift1. 1025 (cshift1_'atype_kind`_char4): Remove size argument from call to 1026 cshift1. 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. 1083 (secnds): 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. 1405 14062009-06-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 1407 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. 1411 14122009-06-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1413 1414 PR libfortran/40008 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. 1427 14282009-06-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1429 1430 PR libfortran/40334 1431 * io/list_read.c (list_formatted_read_scalar): Set the end file 1432 conditions after a return from EOF error. 1433 14342009-06-04 Janne Blomqvist <jb@gcc.gnu.org> 1435 1436 PR libfortran/40330 1437 * io/format.c (free_format_hash_table): Also free and nullify hash key. 1438 (save_parsed_format): Copy string rather than pointer copy. 1439 14402009-05-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 1441 1442 PR fortran/40019 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. 1447 14482009-05-29 Janne Blomqvist <jb@gcc.gnu.org> 1449 1450 PR libfortran/40190 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. 1461 14622009-05-27 Janne Blomqvist <jb@gcc.gnu.org> 1463 1464 PR fortran/39178 1465 * runtime/main.c (store_exe_path): Remove static attribute. 1466 * libgfortran.h: Add back store_exe_path prototype. 1467 14682009-05-27 Thomas Koenig <tkoenig@gcc.gnu.org> 1469 1470 PR libfortran/40187 1471 * intrinsics/iso_c_binding.c (c_f_pointer_u0): Take care 1472 of stride in "shape" argument. 1473 14742009-05-26 Tobias Burnus <burnus@net-b.de> 1475 1476 PR fortran/39178 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. 1482 14832009-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1484 1485 PR libfortran/37754 1486 * io/write_float.def: Simplify format calculation. 1487 14882009-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 1489 1490 PR fortran/22423 1491 * io/transfer.c (read_block_direct): Avoid warning. 1492 * runtime/string.c (compare0): Avoid warning. 1493 14942009-04-30 Janne Blomqvist <jb@gcc.gnu.org> 1495 1496 PR libfortran/39667 1497 * io/file_pos.c (st_rewind): Don't truncate or flush. 1498 * io/intrinsics.c (fgetc): Flush if switching mode. 1499 (fputc): Likewise. 1500 15012009-04-18 Janne Blomqvist <jb@gcc.gnu.org> 1502 1503 PR libfortran/39782 1504 * io/transfer.c (data_transfer_init): Don't flush before seek. 1505 (finalize_transfer): Remove extra flush. 1506 15072009-04-17 Janne Blomqvist <jb@gcc.gnu.org> 1508 1509 * io/io.h (is_preconnected): Remove prototype. 1510 * io/unix.c (is_preconnected): Remove function. 1511 15122009-04-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> 1513 1514 * configure.ac: Test for -ffunction-sections -fdata-sections and 1515 set SECTION_FLAGS accordingly. 1516 * configure: Regenerate. 1517 1518 * Makefile.am: Add SECTION_FLAGS to AM_CFLAGS. 1519 * Makefile.in: Regenerate. 1520 15212009-04-15 Janne Blomqvist <jb@gcc.gnu.org> 1522 1523 PR libfortran/38668 1524 * io/transfer.c (finalize_transfer): Don't flush for advance='no'. 1525 15262009-04-15 Danny Smith <dannysmith@clear.net.nz> 1527 1528 * io/write.c (itoa) : Rename back to gfc_itoa. 1529 (write_i): Adjust call to write_decimal. 1530 (write_integer): Use gfc_itoa. 1531 15322009-04-10 Janne Blomqvist <jb@gcc.gnu.org> 1533 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. 1538 15392009-04-10 Janne Blomqvist <jb@gcc.gnu.org> 1540 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. 1547 15482009-04-09 Janne Blomqvist <jb@gcc.gnu.org> 1549 1550 PR libfortran/39665 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. 1553 15542009-04-09 Nick Clifton <nickc@redhat.com> 1555 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. 2179 21802009-04-08 Janne Blomqvist <jb@gcc.gnu.org> 2181 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. 2185 21862009-04-08 Janne Blomqvist <jb@gcc.gnu.org> 2187 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 2206 pointer to value. 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, 2214 make static. 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. 2219 22202009-04-06 H.J. Lu <hongjiu.lu@intel.com> 2221 2222 PR libgfortran/39664 2223 * io/unix.c (raw_close): Don't close STDOUT_FILENO, 2224 STDERR_FILENO nor STDIN_FILENO. 2225 22262009-04-06 David Edelsohn <edelsohn@gnu.org> 2227 2228 * io/io.h (struct stream): Rename truncate to trunc. 2229 (struncate): Same. 2230 * io/unix.c (raw_init): Rename truncate to trunc. 2231 (buf_init): Same. 2232 (open_internal): Same. 2233 22342009-04-05 Daniel Kraft <d@domob.eu> 2235 2236 PR fortran/38654 2237 * io/read.c (read_f): Reworked to speed up floating point parsing. 2238 (convert_real): Use pointer-casting instead of memcpy and temporaries. 2239 22402009-04-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> 2241 2242 PR libfortran/37754 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 2250 internal unit. 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 2254 for a format node. 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, 2258 tosses collisions. 2259 (save_parsed_format): New static function to save the parsed format 2260 data to use again. 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. 2272 22732009-04-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> 2274 2275 PR libfortran/37754 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. 2282 22832009-04-05 Janne Blomqvist <jb@gcc.gnu.org> 2284 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 2323 to resize. 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. 2337 (read_a): Likewise. 2338 (read_a_char4): Likewise. 2339 (read_decimal): Likewise. 2340 (read_radix): Likewise. 2341 (read_f): 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 2361 newline. 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 2380 interface. 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. 2388 (fd_alloc): Remove. 2389 (fd_alloc_r_at): Remove. 2390 (fd_alloc_w_at): Remove. 2391 (fd_sfree): Remove. 2392 (fd_seek): Remove. 2393 (fd_truncate): Remove. 2394 (fd_sset): Remove. 2395 (fd_read): Remove. 2396 (fd_write): Remove. 2397 (fd_close): Remove. 2398 (fd_open): Remove. 2399 (fd_flush): Rename to buf_flush, update to new stream interface 2400 and unix_stream. 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. 2429 (flush): Remove. 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. 2434 24352009-03-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2436 2437 PR fortran/33595 2438 * intrinsics/c99_functions.c (round): Use floor instead of ceil. 2439 Revise checks to round up. 2440 (roundf): Likewise. 2441 24422009-03-28 Daniel Kraft <d@domob.eu> 2443 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. 2448 24492009-03-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> 2450 2451 PR libfortran/39528 2452 * io/list_read.c (list_formatted_read_scalar): Move check for read 2453 completion to just after the check for a repeated value. 2454 24552009-03-08 Jerry DeLisle <jvdelisle@gcc.gnu.org> 2456 2457 PR libfortran/39402 2458 * io/write_float.def (output_float): Handle F0.d formatting correctly 2459 for any d when value is 0.0. 2460 24612009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2462 2463 * configure: Regenerate. 2464 24652009-01-21 Daniel Kraft <d@domob.eu> 2466 2467 PR fortran/38887 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. 2484 24852009-01-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> 2486 2487 PR libfortran/38772 2488 * io/read.c (read_f): Clean up loop conditions for BZ/BN, 2489 allowing proper digit testing. White space fix. 2490 24912009-01-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> 2492 2493 PR libfortran/38735 2494 * io/unit.c (get_internal_unit): Set default BLANK= status to NULL for 2495 internal units. 2496 2497 2498Copyright (C) 2009 Free Software Foundation, Inc. 2499 2500Copying and distribution of this file, with or without modification, 2501are permitted in any medium without royalty provided the copyright 2502notice and this notice are preserved. 2503