12005-12-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> 2 3 PR libfortran/25594 4 PR libfortran/25419 5 * io/list_read.c (list_formatted_read_scalar): Test for comma to return 6 a null value (default). Revert patch of 25419 on 2005-12-28. 7 82005-12-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> 9 10 PR libfortran/25139 11 * io/unix.c (fd_truncate): Set s->active to zero. 12 PR libfortran/25510 13 * libgfortran.h: Add ERROR_INTERNAL and ERROR_INTERNAL_UNIT. 14 * runtime/error.c (translate_error): Add messages for new errors. 15 * io/list_read.c (next_char): Use new errors. 16 * io/transfer.c (next_record_r) (next_record_w): Use new errors. 17 182005-12-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> 19 20 PR libfortran/25550 21 * io/file_pos.c (st_rewind): Reset bytes left so no error occurs in 22 next_record_r. 23 242005-12-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> 25 26 PR libfortran/25419 27 * io/list_read.c (list_formatted_read_scalar): Allow comma to return a 28 null value (default). 29 302005-12-21 Jerry DeLisle <jvdelisle@gcc.gnu.org> 31 32 PR libfortran/25307 33 * io/list_read.c (next_char): Handle end-of-file conditions for 34 internal units and add support for internal character array units. 35 362005-12-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> 37 38 PR libfortran/25463 39 * io/transfer.c (finalize_transfer): Fix execution order so that 40 next_record is set to zero in all cases. 41 422005-12-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> 43 44 PR libfortran/25264 45 PR libfortran/25349 46 * io/unit.c (get_unit): Delete code that cleared the string when the 47 unit was opened, which is too soon. 48 * io/transfer.c (next_record_w): Pass done flag in. Change logic for 49 setting max_pos. Add code to position unit and pad record as needed. 50 512005-12-13 Richard Sandiford <richard@codesourcery.com> 52 Victor Leikehman <LEI@il.ibm.com> 53 54 * m4/matmul.m4: Use a different order in the special case of a 55 transposed first argument. 56 * generated/matmul_c4.c, generated/matmul_c8.c, generated/matmul_c10.c, 57 * generated/matmul_c16.c, generated/matmul_i4.c, generated/matmul_i8.c, 58 * generated/matmul_i10.c, generated/matmul_r4.c, generated/matmul_r8.c 59 * generated/matmul_r10.c, generated/matmul_r16.c: Regenerated. 60 612005-12-10 Janne Blomqvist <jb@gcc.gnu.org> 62 63 * Makefile.am: Enable loop unrolling for matmul. 64 * configure: Regenerated. 65 * Makefile.in: Regenerated. 66 * aclocal.m4: Regenerated. 67 682005-12-10 Thomas Koenig <Thomas.Koenig@online.de> 69 70 PR fortran/23815 71 * io/file_pos.c (unformatted_backspace): If flags.convert 72 does not equal CONVERT_NATIVE, reverse the record marker. 73 * io/open.c: Add convert_opt[]. 74 (st_open): If no convert option is given, set CONVERT_NATIVE. 75 If CONVERT_BIG or CONVERT_LITTLE are given, set flags.convert to 76 CONVERT_NATIVE or CONVERT_SWAP (depending on wether we have 77 a big- or little-endian system). 78 * io/transfer.c (unformatted_read): Remove unused attribute 79 from arguments. 80 If we need to reverse 81 bytes, break up large transfers into a loop. Split complex 82 numbers into its two parts. 83 (unformatted_write): Likewise. 84 (us_read): If flags.convert does not equal CONVERT_NATIVE, 85 reverse the record marker. 86 (next_record_w): Likewise. 87 (reverse_memcpy): New function. 88 * io/inquire.c (inquire_via_unit): Implement convert. 89 * io/io.h (top level): Add enum unit_convert. 90 Add convert to st_parameter_open and st_parameter_inquire. 91 Define IOPARM_OPEN_HAS_CONVERT and IOPARM_INQUIRE_HAS_CONVERT. 92 Increase padding for st_parameter_dt. 93 Declare reverse_memcpy(). 94 952005-12-09 Jakub Jelinek <jakub@redhat.com> 96 97 PR libfortran/24991 98 * acinclude.m4: Include acx.m4 and no-executables.m4. 99 * configure.ac: Add GCC_TOPLEVEL_SUBDIRS. 100 * configure: Rebuilt. 101 * Makefile.am (AM_CPPFLAGS): Use $(host_subdir) in build dir 102 path. 103 * Makefile.in: Rebuilt. 104 1052005-12-08 Jerry DeLisle <jvdelisle@gcc.gnu.org> 106 107 PR libfortran/25039 108 * io/io.h: Create a new flag sf_read_comma to control comma 109 separators in numeric reads. 110 * io/transfer.c (formatted_transfer_scalar): Initialize the flag. 111 (read_sf): Check for commas coming in and if the flag is set, 112 shortcut the read. 113 * io/read.c (read_a) (read_x): Clear the flag for character reads and 114 reset it after the reads. 115 1162005-12-04 Francois-Xavier Coudert <coudert@clipper.ens.fr> 117 118 * io/format.c: Removing unused code. 119 * intrinsics/random.c: Likewise. 120 1212005-12-02 Francois-Xavier Coudert <coudert@clipper.ens.fr> 122 123 PR libfortran/25116 124 * io/transfer.c (data_transfer_init): Don't set the default for 125 namelist I/O on preconnected files to UNFORMATTED. 126 1272005-11-30 Eric Botcazou <ebotcazou@libertysurf.fr> 128 129 * libgfortran.h (ILP32 typedefs): Define _UINT8_T, _UINT32_T and 130 _UINT64_T on Solaris. 131 1322005-11-28 Steven G. Kargl <kargls@comcast.net> 133 134 PR libfortran/25149 135 * intrinsics/abort.c: Add external abort_ to allow linking when 136 invoking -std=f95 in testsuite. 137 1382005-11-28 Jakub Jelinek <jakub@redhat.com> 139 140 PR libfortran/24991 141 * acinclude.m4 (LIBGFOR_CHECK_PRAGMA_WEAK): Rename to... 142 (LIBGFOR_GTHREAD_WEAK): ... this. Define SUPPORTS_WEAK rather 143 than HAVE_PRAGMA_WEAK. Define GTHREAD_USE_WEAK to 0 on hosts 144 that shouldn't use weak in gthr.h. 145 * configure.ac: Use LIBGFOR_GTHREAD_WEAK instead of 146 LIBGFOR_CHECK_PRAGMA_WEAK. 147 * config.h.in: Regenerated. 148 * configure: Regenerated. 149 * io/io.h (SUPPORTS_WEAK): Don't define here. 150 151 * intrinsics/ftell.c (ftell, FTELL_SUB): Add unlock_unit call. 152 * intrinsics/fget.c (fgetc, fputs): Likewise. 153 * intrinsics/tty.c (ttynam): Likewise. 154 1552005-11-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> 156 157 PR libfortran/25109 158 * io/unit.c (init_units): Set default flag to BLANK_NULL per 159 requirement of F95 standard. Set PAD_YES for stdin. 160 1612005-11-27 David Edelsohn <edelsohn@gnu.org> 162 163 * intrinsics/random.c: Include config.h 164 * io/size_from_kind.c: Include config.h and libgfortran.h 165 * io/io.h: Revert 2005-11-21 change. 166 1672005-11-27 Francois-Xavier Coudert <coudert@clipper.ens.fr> 168 169 * io/write.c (namelist_write): Correct type in previous 170 commit. 171 1722005-11-27 Francois-Xavier Coudert <coudert@clipper.ens.fr> 173 174 PR libfortran/24919 175 * io/list_read.c (eat_separator, finish_separator, 176 read_character): Handle CRLF separators correctly during reads. 177 (nml_query): Use the HAVE_CRLF macro to print adequate newlines. 178 * io/io.h (st_parameter_dt): Add comment about the possible 179 values for sf_seen_eor. 180 * io/unix.c (tempfile, regular_file): HAVE_CRLF doesn't imply 181 that O_BINARY is defined, so we add that condition. 182 (stream_at_bof): Fix typo in comment. 183 * io/transfer.c (read_sf): Handle correctly CRLF, setting 184 sf_seen_eor value to 2 instead of 1. 185 (formatted_transfer_scalar): Use the sf_seen_eor value to 186 handle CRLF the right way. 187 * io/write.c (nml_write_obj, namelist_write): Use CRLF as newline 188 when HAVE_CRLF is defined. 189 1902005-11-27 Janne Blomqvist <jb@gcc.gnu.org> 191 192 * m4/ifunction.m4: Add const restrict to function arguments. 193 * m4/iforeach.m4: Likewise. 194 * m4/eoshift1.m4: Likewise. 195 * m4/eoshift3.m4: Likewise. 196 * m4/dotprod.m4: Likewise. 197 * m4/dotprodc.m4: Likewise. 198 * m4/dotprodl.m4: Likewise. 199 * m4/shape.m4: Likewise. 200 * m4/cshift1.m4: Likewise. 201 * m4/reshape.m4: Likewise. 202 * m4/transpose.m4: Likewise. 203 * generated/eoshift*: Regenerated 204 * generated/dotprod*: Likewise. 205 * generated/shape*: Likewise. 206 * generated/cshift1*: Likewise. 207 * generated/reshape*: Likewise. 208 * generated/transpose*: Likewise. 209 2102005-11-26 Richard Henderson <rth@redhat.com> 211 212 * io/list_read.c (nml_parse_qualifier): Use ssize_t instead of int 213 in dtp->u.p.value. 214 2152005-11-26 Janne Blomqvist <jb@gcc.gnu.org> 216 217 PR libfortran/24945 218 * io/open.c (edit_modes): Check for STATUS_UNKNOWN flag. 219 2202005-11-25 Richard Henderson <rth@redhat.com> 221 222 * io/list_read.c (nml_parse_qualifier): Use memcpy to extract 223 values from dtp->u.p.value. 224 * io/io.h (struct st_parameter_dt): Change reversion_flag, first_item, 225 seen_dollar, sf_seen_eor, eor_condition, no_leading_blank, char_flag, 226 input_complete, at_eol, comma_flag, namelist_mode, nml_read_error to 227 single-bit fields. Move value to where it'll be at least pointer 228 aligned. 229 2302005-11-23 Alan Modra <amodra@bigpond.net.au> 231 232 * io/open.c (new_unit): Use the right unit number when checking 233 for stdin, stdout, stderr. 234 2352005-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> 236 237 PR libfortran/24794 238 * io/list_read.c (read_character): Add auto completion on short 239 namelist reads. 240 2412005-11-21 David Edelsohn <edelsohn@gnu.org> 242 243 * io/io.h (_LARGE_FILES): Undefine for AIX. 244 (_LARGE_FILE_API): Define for AIX. 245 2462005-11-21 Jakub Jelinek <jakub@redhat.com> 247 248 PR fortran/24774 249 PR fortran/14943 250 PR fortran/21647 251 * Makefile.am (AM_CPPFLAGS): Add gcc directories as -I paths, 252 add -D_GNU_SOURCE. 253 * Makefile.in: Regenerated. 254 * acinclude.m4 (LIBGFOR_CHECK_SYNC_FETCH_AND_ADD, 255 LIBGFOR_CHECK_GTHR_DEFAULT, LIBGFOR_CHECK_PRAGMA_WEAK): New macros. 256 * configure.ac: Add them. 257 * configure: Rebuilt. 258 * config.h.in: Rebuilt. 259 * libtool-version: Bump libgfortran.so SONAME to libgfortran.so.1. 260 * libgfortran.h (library_start, show_locus, internal_error, 261 generate_error, find_option): Add st_parameter_common * argument. 262 (library_end): Change into a dummy macro. 263 * io/io.h: Include gthr.h. 264 (SUPPORTS_WEAK): Define if HAVE_PRAGMA_WEAK. 265 (CHARACTER): Remove define. 266 (st_parameter, global_t): Remove typedef. 267 (ioparm, g, ionml, current_unit): Remove variables. 268 (init_error_stream): Remove prototype. 269 (CHARACTER1, CHARACTER2): Define. 270 (st_parameter_common, st_parameter_open, st_parameter_close, 271 st_parameter_filepos, st_parameter_inquire, st_parameter_dt): New 272 typedefs. 273 (IOPARM_LIBRETURN_MASK, IOPARM_LIBRETURN_OK, IOPARM_LIBRETURN_ERROR, 274 IOPARM_LIBRETURN_END, IOPARM_LIBRETURN_EOR, IOPARM_ERR, IOPARM_END, 275 IOPARM_EOR, IOPARM_HAS_IOSTAT, IOPARM_HAS_IOMSG, IOPARM_COMMON_MASK, 276 IOPARM_OPEN_HAS_RECL_IN, IOPARM_OPEN_HAS_FILE, IOPARM_OPEN_HAS_STATUS, 277 IOPARM_OPEN_HAS_ACCESS, IOPARM_OPEN_HAS_FORM, IOPARM_OPEN_HAS_BLANK, 278 IOPARM_OPEN_HAS_POSITION, IOPARM_OPEN_HAS_ACTION, 279 IOPARM_OPEN_HAS_DELIM, IOPARM_OPEN_HAS_PAD, IOPARM_CLOSE_HAS_STATUS, 280 IOPARM_INQUIRE_HAS_EXIST, IOPARM_INQUIRE_HAS_OPENED, 281 IOPARM_INQUIRE_HAS_NUMBER, IOPARM_INQUIRE_HAS_NAMED, 282 IOPARM_INQUIRE_HAS_NEXTREC, IOPARM_INQUIRE_HAS_RECL_OUT, 283 IOPARM_INQUIRE_HAS_FILE, IOPARM_INQUIRE_HAS_ACCESS, 284 IOPARM_INQUIRE_HAS_FORM, IOPARM_INQUIRE_HAS_BLANK, 285 IOPARM_INQUIRE_HAS_POSITION, IOPARM_INQUIRE_HAS_ACTION, 286 IOPARM_INQUIRE_HAS_DELIM, IOPARM_INQUIRE_HAS_PAD, 287 IOPARM_INQUIRE_HAS_NAME, IOPARM_INQUIRE_HAS_SEQUENTIAL, 288 IOPARM_INQUIRE_HAS_DIRECT, IOPARM_INQUIRE_HAS_FORMATTED, 289 IOPARM_INQUIRE_HAS_UNFORMATTED, IOPARM_INQUIRE_HAS_READ, 290 IOPARM_INQUIRE_HAS_WRITE, IOPARM_INQUIRE_HAS_READWRITE, 291 IOPARM_DT_LIST_FORMAT, IOPARM_DT_NAMELIST_READ_MODE, 292 IOPARM_DT_HAS_REC, IOPARM_DT_HAS_SIZE, IOPARM_DT_HAS_IOLENGTH, 293 IOPARM_DT_HAS_FORMAT, IOPARM_DT_HAS_ADVANCE, 294 IOPARM_DT_HAS_INTERNAL_UNIT, IOPARM_DT_HAS_NAMELIST_NAME, 295 IOPARM_DT_IONML_SET): Define. 296 (gfc_unit): Add lock, waiting and close fields. Change file 297 from flexible array member into pointer to char. 298 (open_external): Add st_parameter_open * argument. 299 (find_file, file_exists): Add file and file_len arguments. 300 (flush_all_units): New prototype. 301 (max_offset, unit_root, unit_lock): New variable. 302 (is_internal_unit, is_array_io, next_array_record, 303 parse_format, next_format, unget_format, format_error, 304 read_block, write_block, next_record, convert_real, 305 read_a, read_f, read_l, read_x, read_radix, read_decimal, 306 list_formatted_read, finish_list_read, namelist_read, 307 namelist_write, write_a, write_b, write_d, write_e, write_en, 308 write_es, write_f, write_i, write_l, write_o, write_x, write_z, 309 list_formatted_write, get_unit): Add st_parameter_dt * argument. 310 (insert_unit): Remove prototype. 311 (find_or_create_unit, unlock_unit): New prototype. 312 (new_unit): Return gfc_unit *. Add st_parameter_open * 313 and gfc_unit * arguments. 314 (free_fnodes): Remove prototype. 315 (free_format_data): New prototype. 316 (scratch): Remove. 317 (init_at_eol): Remove prototype. 318 (free_ionml): New prototype. 319 (inc_waiting_locked, predec_waiting_locked, dec_waiting_unlocked): 320 New inline functions. 321 * io/unit.c (max_offset, unit_root, unit_lock): New variables. 322 (insert): Adjust os_error caller. 323 (insert_unit): Made static. Allocate memory here, initialize 324 lock and after inserting it return it, locked. 325 (delete_unit): Adjust for deletion of g. 326 (find_unit_1): New function. 327 (find_unit): Use it. 328 (find_or_create_unit): New function. 329 (get_unit): Add dtp argument, change meaning of the int argument 330 as creation request flag. Adjust for different st_* calling 331 conventions, lock internal unit's lock before returning it 332 and removal of g. Call find_unit_1 instead of find_unit. 333 (is_internal_unit, is_array_io): Add dtp argument, adjust for 334 removal of most of global variables. 335 (init_units): Initialize unit_lock. Adjust insert_unit callers 336 and adjust for g removal. 337 (close_unit_1): New function. 338 (close_unit): Use it. 339 (unlock_unit): New function. 340 (close_units): Lock unit_lock, use close_unit_1 rather than 341 close_unit. 342 * io/close.c (st_close): Add clp argument. Adjust for new 343 st_* calling conventions and internal function API changes. 344 * io/file_pos.c (st_backspace, st_endfile, st_rewind, st_flush): 345 Add fpp argument. Adjust for new st_* calling conventions and 346 internal function API changes. 347 (formatted_backspace, unformatted_backspace): Likewise. Add 348 u argument. 349 * io/open.c (edit_modes, st_open): Add opp argument. Adjust for 350 new st_* calling conventions and internal function API changes. 351 (already_open): Likewise. If not HAVE_UNLINK_OPEN_FILE, unlink 352 scratch file. Instead of calling close_unit just call sclose, 353 free u->file if any and clear a few u fields before calling 354 new_unit. 355 (new_unit): Return gfc_unit *. Add opp and u arguments. 356 Adjust for new st_* calling conventions and internal function 357 API changes. Don't allocate unit here, rather than work with 358 already created unit u already locked on entry. In case 359 of failure, close_unit it. 360 * io/unix.c: Include unix.h. 361 (BUFFER_SIZE, unix_stream): Moved to unix.h. 362 (unit_to_fd): Add unlock_unit call. 363 (tempfile): Add opp argument, use its fields rather than ioparm. 364 (regular_file): Likewise. 365 (open_external): Likewise. Only unlink file if fd >= 0. 366 (init_error_stream): Add error argument, set structure it points 367 to rather than filling static variable and returning its address. 368 (FIND_FILE0_DECL, FIND_FILE0_ARGS): Define. 369 (find_file0): Use them. Don't crash if u->s == NULL. 370 (find_file): Add file and file_len arguments, use them instead 371 of ioparm. Add locking. Pass either an array of 2 struct stat 372 or file and file_len pair to find_file0. 373 (flush_all_units_1, flush_all_units): New functions. 374 (file_exists): Add file and file_len arguments, use them instead 375 of ioparm. 376 * io/unix.h: New file. 377 * io/lock.c (ioparm, g, ionml): Remove variables. 378 (library_start): Add cmp argument, adjust for new st_* calling 379 conventions. 380 (library_end): Remove. 381 (free_ionml): New function. 382 * io/inquire.c (inquire_via_unit, inquire_via_filename, 383 st_inquire): Add iqp argument, adjust for new st_* calling 384 conventions and internal function API changes. 385 * io/format.c (FARRAY_SIZE): Decrease to 64. 386 (fnode_array, format_data): New typedefs. 387 (avail, array, format_string, string, error, saved_token, value, 388 format_string_len, reversion_ok, saved_format): Remove variables. 389 (colon_node): Add const. 390 (free_fnode, free_fnodes): Remove. 391 (free_format_data): New function. 392 (next_char, unget_char, get_fnode, format_lex, parse_format_list, 393 format_error, parse_format, revert, unget_format, next_test): Add 394 fmt or dtp arguments, pass it all around, adjust for internal 395 function API changes and adjust for removal of global variables. 396 (next_format): Likewise. Constify return type. 397 (next_format0): Constify return type. 398 * io/transfer.c (current_unit, sf_seen_eor, eor_condition, max_pos, 399 skips, pending_spaces, scratch, line_buffer, advance_status, 400 transfer): Remove variables. 401 (transfer_integer, transfer_real, transfer_logical, 402 transfer_character, transfer_complex, transfer_array, current_mode, 403 read_sf, read_block, read_block_direct, write_block, 404 write_block_direct, unformatted_read, unformatted_write, 405 type_name, write_constant_string, require_type, 406 formatted_transfer_scalar, us_read, us_write, pre_position, 407 data_transfer_init, next_record_r, next_record_w, next_record, 408 finalize_transfer, iolength_transfer, iolength_transfer_init, 409 st_iolength, st_iolength_done, st_read, st_read_done, st_write, 410 st_write_done, st_set_nml_var, st_set_nml_var_dim, 411 next_array_record): Add dtp argument, pass it all around, adjust for 412 internal function API changes and removal of global variables. 413 * io/list_read.c (repeat_count, saved_length, saved_used, 414 input_complete, at_eol, comma_flag, last_char, saved_string, 415 saved_type, namelist_mode, nml_read_error, value, parse_err_msg, 416 nml_err_msg, prev_nl): Remove variables. 417 (push_char, free_saved, next_char, unget_char, eat_spaces, 418 eat_separator, finish_separator, nml_bad_return, convert_integer, 419 parse_repeat, read_logical, read_integer, read_character, 420 parse_real, read_complex, read_real, check_type, 421 list_formatted_read_scalar, list_formatted_read, finish_list_read, 422 find_nml_node, nml_untouch_nodes, nml_match_name, nml_query, 423 namelist_read): Add dtp argument, pass it all around, adjust for 424 internal function API changes and removal of global variables. 425 (nml_parse_qualifier): Likewise. Add parse_err_msg argument. 426 (nml_read_obj): Likewise. Add pprev_nl, nml_err_msg, clow and 427 chigh arguments. 428 (nml_get_obj_data): Likewise. Add pprev_nl and nml_err_msg 429 arguments. 430 (init_at_eol): Removed. 431 * io/read.c (convert_real, read_l, read_a, next_char, read_decimal, 432 read_radix, read_f, read_x): Add dtp argument, pass it all around, 433 adjust for internal function API changes and removal of global 434 variables. 435 (set_integer): Adjust internal_error caller. 436 * io/write.c (no_leading_blank, nml_delim): Remove variables. 437 (write_a, calculate_sign, calculate_G_format, output_float, 438 write_l, write_float, write_int, write_decimal, write_i, write_b, 439 write_o, write_z, write_d, write_e, write_f, write_en, write_es, 440 write_x, write_char, write_logical, write_integer, write_character, 441 write_real, write_complex, write_separator, 442 list_formatted_write_scalar, list_formatted_write, nml_write_obj, 443 namelist_write): Add dtp argument, pass it all around, adjust for 444 internal function API changes and removal of global variables. 445 (extract_int, extract_uint, extract_real): Adjust internal_error 446 callers. 447 * runtime/fpu.c (_GNU_SOURCE): Don't define here. 448 * runtime/error.c: Include ../io/unix.h. 449 (filename, line): Remove variables. 450 (st_printf): Pass address of a local variable to init_error_stream. 451 (show_locus): Add cmp argument. Use fields it points to rather than 452 filename and line variables. 453 (os_error, runtime_error): Remove show_locus calls. 454 (internal_error): Add cmp argument. Pass it down to show_locus. 455 (generate_error): Likewise. Use flags bitmask instead of non-NULL 456 check for iostat and iomsg parameter presence, adjust for st_* 457 calling convention changes. 458 * runtime/stop.c (stop_numeric, stop_string): Remove show_locus 459 calls. 460 * runtime/pause.c (pause_numeric, pause_string): Likewise. 461 * runtime/string.c: Include ../io/io.h. 462 (find_option): Add cmp argument. Pass it down to generate_error. 463 * intrinsics/flush.c (recursive_flush): Remove. 464 (flush_i4, flush_i8): Use flush_all_units. Add unlock_unit 465 call. 466 * intrinsics/rand.c: Include ../io/io.h. 467 (rand_seed_lock): New variable. 468 (srand, irand): Add locking. 469 (init): New constructor function. 470 * intrinsics/random.c: Include ../io/io.h. 471 (random_lock): New variable. 472 (random_r4, random_r8, arandom_r4, arandom_r8): Add locking. 473 (random_seed): Likewise. open failed if fd < 0. Set i correctly. 474 (init): New constructor function. 475 * intrinsics/system_clock.c (tp0, t0): Remove. 476 (system_clock_4, system_clock_8): Don't subtract tp0/t0 from current 477 time, use just integer arithmetics. 478 * intrinsics/tty.c (isatty_l4, isatty_l8, ttynam_sub): Add 479 unlock_unit calls. 480 4812005-11-20 Richard Henderson <rth@redhat.com> 482 483 * Makefile.am: Revert 2005-11-14 change. Enable -free-vectorize 484 via gmake per-target variables. 485 * Makefile.in, aclocal.m4: Regenerate. 486 4872005-11-18 Francois-Xavier Coudert <coudert@clipper.ens.fr> 488 489 * configure.ac: Add "-I ." to the AM_FCFLAGS. 490 * configure: Regenerate. 491 4922005-11-18 Hans-Peter Nilsson <hp@axis.com> 493 494 * config/fpu-glibc.h (set_fpu): Only call fedisableexcept for 495 nonzero FE_ALL_EXCEPT. 496 4972005-11-17 Francois-Xavier Coudert <coudert@clipper.ens.fr> 498 499 PR fortran/24892 500 * io/io.h (unit_access): Add ACCESS_APPEND. 501 * io/open.c (access_opt): Add APPEND value for ACCESS keyword. 502 (st_open): Use that new value to set the POSITION accordingly. 503 5042005-11-14 Janne Blomqvist <jb@gcc.gnu.org> 505 506 PR fortran/21468 507 * Makefile.am: Add -ftree-vectorize for compiling matmul. 508 * m4/matmul.m4: Add const and restrict to type declarations as 509 appropriate. 510 * m4/matmull.m4: Likewise. 511 * Makefile.in: Regenerated. 512 * generated/matmul_*.c: Likewise. 513 5142005-11-13 Francois-Xavier Coudert <coudert@clipper.ens.fr> 515 516 * intrinsics/fget.c: New file. 517 * intrinsics/ftell.c: New file. 518 * io/unix.c (stream_offset): New function. 519 * io/io.h: Add prototype for stream_offset. 520 * Makefile.am: Add intrinsics/fget.c and intrinsics/ftell.c. 521 * Makefile.in: Regenerate. 522 5232005-11-12 Steven G. Kargl <kargls@comcast.net> 524 525 PR libfortran/24787 526 * intrinsics/string_intrinsics.c (string_scan): Off by one; Fix typos 527 in nearby comment. 528 5292005-11-10 Andreas Jaeger <aj@suse.de> 530 531 * libgfortran.h: Add proper defines where needed. 532 5332005-11-10 Andreas Jaeger <aj@suse.de> 534 535 * libgfortran.h: Add missing prototypes for internal_pack 536 functions. 537 5382005-11-06 Janne Blomqvist <jb@gcc.gnu.org> 539 540 PR fortran/24174 541 PR fortran/24305 542 * io/io.h: Add argument to prototypes, add prototypes for 543 size_from_*_kind functions. 544 * io/list_read.c (read_complex): Add size argument, use 545 it. 546 (list_formatted_read): Add size argument, cleanup. 547 (list_formatted_read_scalar): Add size argument. 548 (nml_read_obj): Fix for padding. 549 * io/transfer.c: Add argument to transfer function pointer. 550 (unformatted_read): Add size argument. 551 (unformatted_write): Likewise. 552 (formatted_transfer_scalar): Fix for padding with complex(10). 553 (formatted_transfer): Add size argument, cleanup. 554 (transfer_integer): Add size argument to transfer call. 555 (transfer_real): Likewise. 556 (transfer_logical): Likewise. 557 (transfer_character): Likewise. 558 (transfer_complex): Likewise. 559 (transfer_array): New kind argument, use it. 560 (data_transfer_init): Add size argument to formatted_transfer 561 call. 562 (iolength_transfer): Add size argument, cleanup. 563 * io/write.c (write_complex): Add size argument, fix for padding 564 with complex(10). 565 (list_formatted_write): Add size argument, cleanup. 566 (list_formatted_write_scalar): Add size argument, use it. 567 (nml_write_obj): Fix for size vs. kind issue. 568 * io/size_from_kind.c: New file. 569 * Makefile.am: Add io/size_from_kind.c. 570 * configure: Regenerate. 571 * Makefile.in: Regenerate. 572 5732005-11-06 Francois-Xavier Coudert <coudert@clipper.ens.fr> 574 575 * intrinsics/ctime.c: New file. 576 * configure.ac: Add check for ctime. 577 * Makefile.am: Add ctime.c 578 * configure: Regenerate. 579 * config.h.in: Regenerate. 580 * Makefile.in: Regenerate. 581 5822005-11-05 Richard Guenther <rguenther@suse.de> 583 584 * configure.ac: Use AM_FCFLAGS for extra flags, not FCFLAGS. 585 * configure: Regenerate. 586 5872005-11-05 Francois-Xavier Coudert <coudert@clipper.ens.fr> 588 589 * intrinsics/tty.c (ttynam): New function. 590 5912005-11-04 Steven G. Kargl <kargls@comcast.net> 592 593 PR fortran/24636 594 * runtime/stop.c (stop_numeric): Use stop_code = -1. 595 5962005-11-04 Francois-Xavier Coudert <coudert@clipper.ens.fr> 597 598 PR libfortran/22298 599 * runtime/main.c (stupid_function_name_for_static_linking): New 600 function. 601 * runtime/error.c (internal_error): Call 602 stupid_function_name_for_static_linking. 603 * libgfortran.h: Add prototype for 604 stupid_function_name_for_static_linking. 605 6062005-11-01 Paul Thomas <pault@gcc.gnu.org> 607 608 PR fortran/14994 609 * libgfortran/intrinsics/date_and_time.c: Add interface to 610 the functions date_and_time for the intrinsic function secnds. 611 6122005-10-31 Jerry DeLisle <jvdelisle@verizon.net> 613 614 PR libfortran/24584 615 * io/list_read.c (free_saved): Set saved_used to zero. 616 6172005-10-30 Francois-Xavier Coudert <coudert@clipper.ens.fr> 618 619 PR libfortran/20179 620 * io/unix.c (flush_if_preconnected): New function. 621 * io/io.h: Add prototype for flush_if_preconnected. 622 * io/transfer.c (data_transfer_init): Use flush_if_preconnected 623 to workaround buggy mixed C-Fortran code. 624 6252005-10-30 Francois-Xavier Coudert <coudert@clipper.ens.fr> 626 627 * Makefile.am: Add intrinsics/malloc.c file. 628 * Makefile.in: Regenerate. 629 * intrinsics/malloc.c: New file, with implementations for free 630 and malloc library functions. 631 6322005-10-29 Mike Stump <mrs@apple.com> 633 634 * Makefile.am (kinds.h): Remove target, if command fails. 635 (selected_int_kind.inc): Likewise. 636 (selected_real_kind.inc): Likewise. 637 * Makefile.in: Regenerate. 638 6392005-10-28 Francois-Xavier Coudert <coudert@clipper.ens.fr> 640 641 642 * Makefile.am (intrinsics): Add signal.c. 643 * Makefile.in: Regenerate. 644 * configure.ac: Checks for signal and alarm. 645 * config.h.in: Regenerate. 646 * configure: Regenerate. 647 * intrinsics/signal.c: New file for SIGNAL and ALARM intrinsics. 648 6492005-10-28 Francois-Xavier Coudert <coudert@clipper.ens.fr> 650 651 * acinclude.m4 (LIBGFOR_CHECK_FPSETMASK): New check. 652 * configure.ac: Check for floatingpoint.h, fptrap.h and float.h 653 headers. Use LIBGFOR_CHECK_FPSETMASK. Check for fp_trap and 654 fp_enable functions. 655 * configure.host: Add case for systems with fpsetmask and systems 656 with fp_trap/fp_enable. 657 * config/fpu-sysv.h: New file, FPU code using fpsetmask. 658 * config/fpu-aix.h: New file, FPU code for AIX using fp_trap and 659 fp_enable. 660 * aclocal.m4: Regenerate. 661 * configure: Regenerate. 662 * config.h.in: Regenerate. 663 6642005-10-24 Jerry DeLisle <jvdelisle@verizon.net> 665 666 PR libfortran/24224 667 * libgfortran.h: Remove array stride error code. 668 * runtime/error.c: Remove array stride error. 669 * io/io.h: Change name of 'nml_loop_spec' to 'array_loop_spec' to be 670 generic. Add pointer to array_loop_spec and rank to gfc_unit 671 structure. 672 * io/list_read.c: Revise nml_loop_spec references to array_loop_spec. 673 * io/transfer.c (init_loop_spec): New function to initialize 674 an array_loop_spec. 675 (next_array_record): New function to return the index to the next array 676 record by incrementing through the array_loop_spec. 677 (next_record_r): Use new function. 678 (next_record_w): Use new function. 679 (finalize_transfer): Free memory allocated for array_loop_spec. 680 * io/unit.c (get_array_unit_len): Delete this function. Use new 681 function init_loop_spec to initialize the array_loop_spec. 682 6832005-10-24 Paul Thomas <pault@gcc.gnu.org> 684 685 PR fortran/24416 686 * libgfortran/io/list_read.c (namelist_read): Exit with call to 687 free_saved () so that character strings do not accumulate. 688 6892005-10-23 Jerry DeLisle <jvdelisle@verizon.net> 690 691 PR libfortran/24489 692 * io/transfer.c (read_block): Change the order of execution to not read 693 past end-of-record. 694 (read_block_direct): Same change. 695 6962005-10-23 Francois-Xavier Coudert <coudert@clipper.ens.fr> 697 698 PR libfortran/23272 699 * acinclude.m4 (LIBGFOR_CHECK_WORKING_STAT): New check. 700 * configure.ac: Use LIBGFOR_CHECK_WORKING_STAT. 701 * Makefile.in: Regenerate. 702 * configure: Regenerate. 703 * config.h.in: Regenerate. 704 * aclocal.m4: Regenerate. 705 * io/unix.c (compare_file_filename): Add fallback case for 706 systems without working stat. 707 * io/open.c (already_open): Correct call to 708 compare_file_filename. 709 * io/io.h: Correct proto for compare_file_filename. 710 7112005-10-23 Francois-Xavier Coudert <coudert@clipper.ens.fr> 712 713 * runtime/fpu.c: Add _GNU_SOURCE definition. 714 * config/fpu-glibc.h: Remove __USE_GNU definition. 715 7162005-10-23 Paul Thomas <pault@gcc.gnu.org> 717 718 PR fortran/24384 719 * intrinsics/spread_generic.c (spread_internal_scalar): New 720 function that handles the special case of spread with a scalar 721 source. This has new interface functions - 722 (spread_scalar, spread_char_scalar): New functions to interface 723 with the calls specified in gfc_resolve_spread. 724 7252005-10-21 Francois-Xavier Coudert <coudert@clipper.ens.fr> 726 727 PR libfortran/24383 728 * io/unix.c: Add fallback definition for SSIZE_MAX. 729 7302005-10-19 Francois-Xavier Coudert <coudert@clipper.ens.fr> 731 732 * c99_protos.h: Define preprocessor HAVE_ macros with value 1 733 instead of empty value. 734 * intrinsics/c99_functions.c: Likewise. 735 * intrinsics/getXid.c: Define HAVE_GETPID with value 1 instead of 736 empty value. 737 * intrinsics/sleep.c: Define HAVE_SLEEP with value 1 instead of 738 empty value. 739 7402005-10-19 Francois-Xavier Coudert <coudert@clipper.ens.fr> 741 742 PR libfortran/24432 743 * c99_protos.h: Define HAVE_ macros for all provided functions. 744 7452005-10-14 Uros Bizjak <uros@kss-loka.si> 746 747 * config/fpu-387.h (set_fpu): Remove extra ":" in stmxcsr. 748 Change cw and cw_sse variables to unsigned. 749 (SSE): New definition. 750 (has_sse): Use it. 751 7522005-10-13 Thomas Koenig <Thomas.Koenig@online.de> 753 754 * io/unix.c(fd_alloc_r_at): Use read() instead of do_read() 755 only in case of special files (e.g. terminals). 756 7572005-10-13 Uros Bizjak <uros@kss-loka.si> 758 759 * config/fpu-387.h (set_fpu): Add "=m" for stmxcsr. 760 7612005-10-12 Francois-Xavier Coudert <coudert@clipper.ens.fr> 762 763 * Makefile.am: Add fpu.c to the build process, and 764 target-dependent code as fpu-target.h. 765 * Makefile.in: Regenerate. 766 * configure.ac: Add call to configure.host to set 767 FPU_HOST_HEADER. 768 * configure: Regenerate. 769 * configure.host: New script to determine which host-dependent 770 code should go in. 771 * libgfortran.h: Add fpe option, remove previous fpu_ options. 772 Add bitmasks for different FPE traps. Add prototype for set_fpu. 773 * runtime/environ.c: Remove environment variables to control 774 fpu behaviour. 775 * runtime/fpu.c (set_fpe): New function for the front-end. 776 * runtime/main.c (init): Set FPU state. 777 * config: New directory to store host-dependent code. 778 * config/fpu-387.h: New file with code handling the i387 FPU. 779 * config/fpu-glibc.h: New file with code for glibc systems. 780 * config/fpu-generic.h: Fallback for the most generic host. Issue 781 warnings. 782 7832005-10-12 Janne Blomqvist <jblomqvi@cc.hut.fi> 784 785 * io/unix.c(fd_alloc_r_at): Remove parts of patch of 2005/10/07 that 786 cause input from the terminal to hang. 787 7882005-10-11 Steven G. Kargl <kargls@comcast.net> 789 790 PR libfortran/24313 791 * c99_functions.c (csqrtf, csqrt): Fix choice of branch cut. Note 792 csqrt{f} were imported from glibc, and this bug is still present 793 there. glibc PR is 1146. 794 7952005-10-07 Janne Blomqvist <jblomqvi@cc.hut.fi> 796 797 PR fortran/16339 798 PR fortran/23363 799 * io/io.h: Add read and write members to stream, define access 800 macros. 801 * io/transfer.c (read_block_direct): New function. 802 (write_block_direct): New function. 803 (unformatted_read): Change to use read_block_direct. 804 (unformatted_write): Change to use write_block_direct. 805 * io/unix.c: Remove mmap includes and defines. 806 (writen): Remove. 807 (readn): Remove. 808 (reset_stream): New function. 809 (do_read): New function. 810 (do_write): New function. 811 (fd_flush): Change to use do_write() instead of writen(). 812 (fd_alloc_r_at): Change to use do_read(). 813 (fd_seek): Change return type to try, as the prototype. Add check 814 to avoid syscall overhead if possible. 815 (fd_read): New function. 816 (fd_write): New function. 817 (fd_open): Set pointers for new functions. 818 (mem_read): New function. 819 (mem_write): New function. 820 (open_internal): Set pointers for new functions. 821 (is_seekable): Clean up comment. 822 8232005-10-07 Jerry DeLisle <jvdelisle@verizon.net> 824 825 * io/transfer.c (write_block): Add test for end-of-file condition, 826 removed from mem_alloc_w_at. (next_record_w): Clean up checks for 827 NULL pointer returns from s_alloc_w. 828 * io/unix.c (mem_alloc_w_at): Remove call to generate_error end-of-file. 829 * io/write.c (write_float): Add checks for NULL pointer returns from 830 write_block calls. (write_integer): Same. 831 8322005-10-03 Jakub Jelinek <jakub@redhat.com> 833 834 * runtime/memory.c (allocate_size): Malloc 1 byte if size == 0. 835 8362005-10-03 Francois-Xavier Coudert <coudert@clipper.ens.fr> 837 838 PR libfortran/19308 839 PR libfortran/22437 840 * Makefile.am: Add generated files for large real and integers 841 kinds. Add a rule to create the kinds.inc c99_protos.inc files. 842 Use kinds.inc to preprocess Fortran generated files. 843 * libgfortran.h: Add macro definitions for GFC_INTEGER_16_HUGE, 844 GFC_REAL_10_HUGE and GFC_REAL_16_HUGE. Add types gfc_array_i16, 845 gfc_array_r10, gfc_array_r16, gfc_array_c10, gfc_array_c16, 846 gfc_array_l16. 847 * mk-kinds-h.sh: Define macros HAVE_GFC_LOGICAL_* and 848 HAVE_GFC_COMPLEX_* when these types are available. 849 * intrinsics/ishftc.c (ishftc16): New function for GFC_INTEGER_16. 850 * m4/all.m4, m4/any.m4, m4/count.m4, m4/cshift1.m4, m4/dotprod.m4, 851 m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4, m4/eoshift3.m4, 852 m4/exponent.m4, m4/fraction.m4, m4/in_pack.m4, m4/in_unpack.m4, 853 m4/matmul.m4, m4/matmull.m4, m4/maxloc0.m4, m4/maxloc1.m4, 854 m4/maxval.m4, m4/minloc0.m4, m4/minloc1.m4, m4/minval.m4, m4/mtype.m4, 855 m4/nearest.m4, m4/pow.m4, m4/product.m4, m4/reshape.m4, 856 m4/set_exponent.m4, m4/shape.m4, m4/specific.m4, m4/specific2.m4, 857 m4/sum.m4, m4/transpose.m4: Protect generated functions with 858 appropriate "#if defined (HAVE_GFC_type_kind)" preprocessor directives. 859 * Makefile.in: Regenerate. 860 * all files in generated/: Regenerate. 861 8622005-10-01 Jakub Jelinek <jakub@redhat.com> 863 864 * runtime/memory.c (malloc_t): Remove. 865 (GFC_MALLOC_MAGIC, HEADER_SIZE, DATA_POINTER, DATA_HEADER): Remove. 866 (mem_root, runtime_cleanup, malloc_with_header): Remove. 867 (internal_malloc_size): Use just get_mem if size != 0, return NULL 868 otherwise. 869 (internal_free): Just free if non-NULL. 870 (internal_realloc_size): Remove debugging stuff. 871 (allocate_size): Use malloc directly, remove debugging stuff. 872 (deallocate): Use free directly, fix error message wording. 873 874 * libgfortran.h (GFC_ITOA_BUF_SIZE, GFC_XTOA_BUF_SIZE, 875 GFC_OTOA_BUF_SIZE, GFC_BTOA_BUF_SIZE): Define. 876 (gfc_itoa, xtoa): Add 2 extra arguments. 877 * runtime/environ.c: Include stdio.h. 878 (check_buffered): Use sprintf. 879 * runtime/error.c: Include assert.h. 880 (gfc_itoa, xtoa): Add 2 extra arguments, avoid using static 881 buffers. 882 (st_printf, st_sprintf): Adjust callers. 883 * io/write.c (otoa, btoa): Add 2 extra arguments, avoid using 884 static buffers. 885 (write_int, write_decimal): Add 2 extra arguments to conv 886 function pointer, adjust caller. 887 (write_integer): Adjust gfc_itoa caller. 888 889 * io/unit.c (get_array_unit_len): Return 0 rather than NULL. 890 891 * io/read.c (read_f): Remove spurious pointer dereference. 892 8932005-09-30 Janne Blomqvist <jblomqvi@cc.hut.fi> 894 895 PR 24112 896 * io/open.c (edit_modes): Check for correct flag. 897 8982005-09-29 Jakub Jelinek <jakub@redhat.com> 899 900 * runtime/string.c (find_option): Change 3rd argument to 901 const st_option *. 902 * libgfortran.h (find_option): Likewise. 903 * runtime/environ.c (rounding, precision, signal_choices): Constify. 904 (init_choice, show_choice): Change 2nd argument to const choice *. 905 * io/open.c (access_opt, action_opt, blank_opt, delim_opt, form_opt, 906 position_opt, status_opt, pad_opt): Constify. 907 * io/transfer.c (advance_opt): Likewise. 908 * io/inquire.c (undefined): Likewise. 909 * io/close.c (status_opt): Likewise. 910 * io/format.c (posint_required, period_required, nonneg_required, 911 unexpected_element, unexpected_end, bad_string, bad_hollerith, 912 reversion_error): Likewise. 913 * io/unix.c (yes, no, unknown): Change from const char * 914 into const char []. 915 9162005-09-27 Steve Ellcey <sje@cup.hp.com> 917 918 PR target/23552 919 * acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE): New. 920 (LIBGFOR_CHECK_FOR_BROKEN_ISNAN): New. 921 (LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): New. 922 * configure.ac (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE): Add use. 923 (LIBGFOR_CHECK_FOR_BROKEN_ISNAN): Add use. 924 (LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): Add use. 925 * configure: Regenerate. 926 * config.h.in: Regenerate. 927 * libgfortan.h (isfinite): undef if broken, set if needed. 928 (isnan): undef if broken, set if needed. 929 (fpclassify): undef if broken, set if needed. 930 * io/write.c: Remove TODO comment about working isfinite. 931 * intrinsics/c99_functions.c (round): Use isfinite instead 932 of fpclassify. 933 * intrinsics/c99_functions.c (roundf): Ditto. 934 9352005-09-24 Janne Blomqvist <jblomqvi@cc.hut.fi> 936 937 * io.h: Changed prototypes of list_formatted_{read|write}. 938 * list_read.c (list_formatted_read): Renamed to 939 list_formatted_read_scalar and made static. 940 (list_formatted_read): New function. 941 * transfer.c: Prototype for transfer_array. Changed transfer 942 function pointer. 943 (unformatted_read): Add nelems argument, use it. 944 (unformatted_write): Likewise. 945 (formatted_transfer): Changed name to formatted_transfer_scalar. 946 (formatted_transfer): New function. 947 (transfer_integer): Add nelems argument to transfer call, move 948 updating item count to transfer functions. 949 (transfer_real): Likewise. 950 (transfer_logical): Likewise. 951 (transfer_character): Likewise. 952 (transfer_complex): Likewise. 953 (transfer_array): New function. 954 (data_transfer_init): Call formatted_transfer with new argument. 955 (iolength_transfer): New argument, use it. 956 * write.c (list_formatted_write): Renamed to 957 list_formatted_write_scalar, made static. 958 (list_formatted_write): New function. 959 9602005-09-26 David Edelsohn <edelsohn@gnu.org> 961 962 * configure.ac: Add check for __clog. 963 * configure: Regenerate. 964 9652005-09-25 Francois-Xavier Coudert <coudert@clipper.ens.fr> 966 967 * c99_protos.h: Add prototypes for C99 complex functions. 968 * libgfortran.h: Include complex.h before c99_protos.h. 969 * intrinsics/c99_functions.c: Define HAVE_ macros for the 970 fallback functions we provide. 971 (cabsf, cabs, cabsl, cargf, carg, cargl, cexpf, cexp, cexpl, 972 clogf, clog, clogl, clog10f, clog10, clog10l, cpowf, cpow, cpowl, 973 cqsrtf, csqrt, csqrtl, csinhf, csinh, csinhl, ccoshf, ccosh, 974 ccoshl, ctanhf, ctanh, ctanhl, csinf, csin, csinl, ccosf, ccos, 975 ccosl, ctanf, ctan, ctanl): New fallback functions. 976 * Makefile.am (gfor_math_trig_c, gfor_math_trig_obj, 977 gfor_specific_c, gfor_cmath_src, gfor_cmath_obj): Remove. 978 * Makefile.in: Regenerate. 979 * configure.ac: Remove checks for csin. Add checks for all C99 980 complex functions. 981 * config.h.in: Regenerate. 982 * configure: Regenerate. 983 * aclocal.m4: Regenerate. 984 9852005-09-25 Francois-Xavier Coudert <coudert@clipper.ens.fr> 986 Danny Smith <dannysmith@users.sourceforge.net> 987 988 PR libfortran/23803 989 * intrinsics/getXid.c: Add getpid wrapper for MinGW. 990 * intrinsics/getlog.c: Add getlogin wrapper for MinGW. 991 * intrinsics/hostnm.c: Add gethostname wrapper for MinGW. 992 9932005-09-24 Francois-Xavier Coudert <coudert@clipper.ens.fr> 994 995 PR libfortran/23802 996 * intrinsics/sleep.c: Add correct sleep macro for MinGW. 997 9982005-09-24 Francois-Xavier Coudert <coudert@clipper.ens.fr> 999 1000 PR libfortran/23380 1001 * intrinsics/cpu_time.c (__cpu_time_1): Provide a MS Windows 1002 version. 1003 10042005-09-14 Jerry DeLisle <jvdelisle@verizon.net 1005 1006 PR fortran/21875 Internal Unit Array I/O, NIST 1007 * libgfortran.h: Add run time error code for array stride. 1008 * runtime/error.c (translate_error): Add error message for 1009 array stride. 1010 * io/io.h: Add array descriptor pointer to IOPARM structure. 1011 Add prtotypes for two new functions. 1012 * io/transfer.c (data_transfer_init): Removed initialization and 1013 moved to unit.c (get_unit) 1014 * io/transfer.c (next_record_r): Include internal unit read 1015 functionality. 1016 * io/transfer.c (next_record_w): Include internal unit write 1017 functionality, including padding of character array records. 1018 * io/unit.c (get_array_unit_len): New function to return the number 1019 of records in the character array 'file' from the array descriptor. 1020 * io/unit.c (get_unit): Gathered initialization code from 1021 init_data_transfer for internal units and added initialization of 1022 character array unit. 1023 * io/unit.c (is_array_io): New function to determine if internal unit 1024 is an array. 1025 * io/unix.c (mem_alloc_w_at): Add error checks for bad record length 1026 and end of file. 1027 10282005-09-13 Richard Sandiford <richard@codesourcery.com> 1029 1030 PR target/19269 1031 * intrinsics/cshift0.c (cshift0): Add an extra size argument. 1032 (cshift0_1, cshift0_2, cshift0_4, cshift0_8): Replace explicit 1033 implementations with... 1034 (DEFINE_CSHIFT): ...this new macro. Define character versions too. 1035 * intrinsics/eoshift0.c (zeros): Delete. 1036 (eoshift0): Add extra size and filler arguments. Use memset if no 1037 bound is provided. 1038 (eoshift0_1, eoshift0_2, eoshift0_4, eoshift0_8): Replace explicit 1039 implementations with... 1040 (DEFINE_EOSHIFT): ...this new macro. Define character versions too. 1041 * intrinsics/eoshift2.c (zeros): Delete. 1042 (eoshift2): Add extra size and filler arguments. Use memset if no 1043 bound is provided. 1044 (eoshift2_1, eoshift2_2, eoshift2_4, eoshift2_8): Replace explicit 1045 implementations with... 1046 (DEFINE_EOSHIFT): ...this new macro. Define character versions too. 1047 * intrinsics/pack.c (pack_internal): New static function, reusing 1048 the contents of pack and adding an extra size argument. Change 1049 "mptr" rather than "m" when calculating the array size. 1050 (pack): Redefine as a forwarder to pack_internal. 1051 (pack_s_internal): New static function, reusing the contents of 1052 pack_s and adding an extra size argument. 1053 (pack_s): Redefine as a forwarder to pack_s_internal. 1054 (pack_char, pack_s_char): New functions. 1055 * intrinsics/reshape.c (reshape_internal): New static function, 1056 reusing the contents of reshape and adding an extra size argument. 1057 (reshape): Redefine as a forwarder to reshape_internal. 1058 (reshape_char): New function. 1059 * intrinsics/spread.c (spread_internal): New static function, 1060 reusing the contents of spread and adding an extra size argument. 1061 (spread): Redefine as a forwarder to spread_internal. 1062 (spread_char): New function. 1063 * intrinsics/transpose.c (transpose_internal): New static function, 1064 reusing the contents of transpose and adding an extra size argument. 1065 (transpose): Redefine as a forwarder to transpose_internal. 1066 (transpose_char): New function. 1067 * intrinsics/unpack.c (unpack_internal): New static function, reusing 1068 the contents of unpack1 and adding extra size and fsize arguments. 1069 (unpack1): Redefine as a forwarder to unpack_internal. 1070 (unpack0): Call unpack_internal instead of unpack1. 1071 (unpack1_char, unpack0_char): New functions. 1072 * m4/cshift1.m4 (cshift1): New static function, reusing the contents 1073 of cshift1_<kind> and adding an extra size argument. 1074 (cshift1_<kind>): Redefine as a forwarder to cshift1. 1075 (cshift1_<kind>_char): New function. 1076 * m4/eoshift1.m4 (zeros): Delete. 1077 (eoshift1): New static function, reusing the contents of 1078 eoshift1_<kind> and adding extra size and filler arguments. 1079 Fix calculation of hstride. Use memset if no bound is provided. 1080 (eoshift1_<kind>): Redefine as a forwarder to eoshift1. 1081 (eoshift1_<kind>_char): New function. 1082 * m4/eoshift3.m4 (zeros): Delete. 1083 (eoshift3): New static function, reusing the contents of 1084 eoshift3_<kind> and adding extra size and filler arguments. 1085 Use memset if no bound is provided. 1086 (eoshift3_<kind>): Redefine as a forwarder to eoshift3. 1087 (eoshift3_<kind>_char): New function. 1088 * generated/cshift1_4.c, generated/cshift1_8.c, 1089 * generated/eoshift1_4.c, generated/eoshift1_8.c, 1090 * generated/eoshift3_4.c, generated/eoshift3_8.c: Regenerate. 1091 10922005-09-11 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1093 1094 PR libfortran/20179 1095 * io/unix.c (is_preconnected): Add function to test if a stream 1096 corresponds to a preconnected unit. 1097 * io/io.h: Add prototype for is_preconnected. 1098 * io/transfer.c (data_transfer_init): Do not truncate 1099 preconnected units. 1100 11012005-09-10 Janne Blomqvist <jblomqvi@cc.hut.fi> 1102 1103 * io/unix.c: Remove mmap code. 1104 11052005-09-09 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1106 1107 PR libfortran/23784 1108 * io/close.c (st_close): Call library_end even in case of error. 1109 11102005-09-09 Thomas Koenig <Thomas.Koenig@online.de> 1111 1112 * io/io.h: Add iomsg as last field of st_parameter. 1113 * runtime/error.c (generate_error): If iomsg is present, copy 1114 the message there. 1115 11162005-09-09 Richard Sandiford <richard@codesourcery.com> 1117 1118 PR fortran/12840 1119 * runtime/memory.c (internal_malloc_size): Return a null pointer 1120 if the size is zero. 1121 (internal_free): Do nothing if the pointer is null. 1122 (internal_realloc_size, internal_realloc, internal_realloc64): New. 1123 11242005-09-07 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1125 1126 PR libfortran/23262 1127 * acinclude.m4 (LIBGFOR_CHECK_CRLF): New check. 1128 * configure.ac: Use new check. 1129 * configure.in: Regenerate. 1130 * config.h.in: Regenerate. 1131 * configure: Regenerate. 1132 * io/transfer.c (next_record_w): Add case for CRLF as line 1133 terminator. 1134 * io/unix.c (tempfile, regular_file): Open files with 1135 O_BINARY on systems with CRLF. 1136 11372005-09-07 Steve Ellcey <sje@cup.hp.com> 1138 1139 PR libfortran/23419 1140 * io/write.c (extract_int): Use memcpy to access buffer. 1141 (extract_uint): Ditto. 1142 (extract_real): Ditto. 1143 11442005-09-05 Thomas Koenig <Thomas.Koenig@online.de> 1145 1146 * io/list_read.c: Adjust size of of value to 32 (to hold 1147 kind=16 complex values). 1148 11492005-09-04 Thomas Koenig <Thomas.Koenig@online.de> 1150 1151 PR libfortran/23321 1152 * io/transfer.c(data_transfer_init): Check for a too-large 1153 record number. Return if sseek failed. 1154 11552005-09-03 Jakub Jelinek <jakub@redhat.com> 1156 1157 * io/read.c (read_x): Take int argument instead of fnode * and 1158 digging the N from F->u.n. 1159 * io/io.h (read_x): Adjust prototype. 1160 * io/transfer.c (formatted_transfer): Adjust callers. Don't clobber 1161 f->u.n for FMT_T. 1162 11632005-09-02 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1164 1165 * io/unix.c (stream_ttyname): Protect use of ttyname by 1166 HAVE_TTYNAME macro. 1167 * configure.ac: Add check for ttyname. 1168 * config.h.in: Regenerate. 1169 * configure: Regenerate. 1170 11712005-09-02 Andreas Jaeger <aj@suse.de> 1172 1173 * libgfortran.h: Add prototype for init_compile_options. 1174 1175 * io/io.h: Add prototype for notify_std. 1176 11772005-08-31 Steve Ellcey <sje@cup.hp.com> 1178 1179 * io/read.c (set_integer): Use memcpy to fill buffer. 1180 11812005-08-31 Steve Ellcey <sje@cup.hp.com> 1182 1183 PR target/23556 1184 * io/read.c (convert_real): Use memcpy to fill buffer. 1185 11862005-08-29 Thomas Koenig <Thomas.Koenig@online.de> 1187 1188 PR libfortran/23598 1189 * io/lock.c(library_start): If ioparm.iostat is present, clear 1190 it unconditionally. 1191 11922005-08-27 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1193 1194 * acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Add check to see 1195 if target can unlink open files. 1196 * configure.ac: Use this new test. 1197 * config.h.in: Regenerate. 1198 * configure: Regenerate. 1199 * Makefile.in: Regenerate. 1200 * aclocal.ac: Regenerate. 1201 * io/io.h: Add prototype for unpack_filename. 1202 * io/close.c (st_close): Delete file after closing unit if 1203 HAVE_UNLINK_OPEN_FILE is not defined. 1204 * io/unix.c (unpack_filename): Unlink scratch file after opening 1205 it only if HAVE_UNLINK_OPEN_FILE is defined. 1206 12072005-08-17 Kelley Cook <kcook@gcc.gnu.org> 1208 1209 * All files: Update FSF address. 1210 12112005-08-16 Thomas Koenig <Thomas.Koenig@online.de> 1212 1213 PR libfortran/23428 1214 * io/transfer.c (iolength_transfer): Remove __attribute__ ((unused)) 1215 from type. Return correct length for inquire(iolength=) 1216 for complex variables. 1217 12182005-08-11 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1219 Steven Bosscher <stevenb@suse.de> 1220 1221 PR libfortran/20006 1222 * Makefile.am: Add file runtime/compile_options.c. 1223 * Makefile.in: Regenerate. 1224 * libgfortran.h: Create structure compile_options_t. Define the 1225 compile_options variable and GFC_STD_ macros. 1226 * runtime/compile_options.c: New file. 1227 * runtime/error.c (notify_std): New function. 1228 * runtime/main.c (init): Call init_compile_options during 1229 initialization. 1230 * io/format.c: Use the new notify_std function for the $ 1231 descriptor extension. 1232 12332005-08-09 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1234 * Makefile.am: Add file intrinsics/tty.c to Makefile process. 1235 * Makefile.in: Regenerate. 1236 * io/io.h: Prototypes for new functions stream_isatty and 1237 stream_ttyname. 1238 * io/unix (stream_isatty, stream_ttyname): New functions to call 1239 isatty() and ttyname() on a given unit. 1240 * intrinsics/tty.c: New file to implement g77 intrinsics TTYNAM 1241 and ISATTY. 1242 12432005-08-08 Jerry DeLisle <jvdelisle@verizon.net> 1244 1245 PR libfortran/23154 1246 * io/transfer.c (data_transfer_init): Initialize 1247 current_unit->bytes_left for a read. 1248 12492005-08-07 Janne Blomqvist <jblomqvi@cc.hut.fi> 1250 1251 PR fortran/22390 1252 * io/backspace.c: File removed, contents moved to ... 1253 * io/endfile.c: Ditto. 1254 * io/rewind.c: Ditto. 1255 * io/file_pos.c: New file, ... here. 1256 * Makefile.am: Add file_pos.c to list, remove obsolete files. 1257 * Makefile.in: Regenerated. 1258 12592005-08-07 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1260 1261 * io/io.h: Change DEFAULT_TEMPDIR to /tmp instead of /var/tmp. 1262 * io/unix.c (tempfile): Look at the TEMP environment variable 1263 to find the temporary files directory. Whitespace correction. 1264 12652005-08-06 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1266 1267 * io/unix.c: Add O_RDWR to open() call. 1268 12692005-08-04 Paul Thomas <pault@gcc.gnu.org> 1270 1271 * transfer.c (data_transfer_init): Truncate file in 1272 sequential WRITE when last_record == 0, rather than 1273 current_record. Cures problem on RH9. 1274 12752005-08-03 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1276 1277 * libgfortran.h: When isfinite is not provided by the system, 1278 define it as a macro, so that it can accept any floating point 1279 type. 1280 12812005-08-01 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1282 1283 PR libfortran/23178 1284 * intrinsics/flush.c (flush_i8): Add function flush_i8. Update 1285 copyright years. 1286 12872005-07-31 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1288 1289 PR libfortran/21787 1290 * intrinsics/abort.c (abort): Close units before aborting. 1291 Updated copyright years. 1292 12932005-07-30 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1294 1295 PR libfortran/22436 1296 * io/write.c (write_real): Add default formats for real(10) and 1297 real(16). 1298 12992005-07-30 Paul Thomas <pault@gcc.gnu.org> 1300 1301 PR fortran/22570 and related issues. 1302 * transfer.c (formatted_transfer): Make sure that there 1303 really is data present before X- or T- editing. Move all 1304 treatment of tabbing during writes to start of next data 1305 producing format. Suppress incorrect zeroing of bytes_left 1306 in slash formating. Insert int cast for assignment of a 1307 difference of two gfc_offsets. 1308 13092005-07-23 Jerry DeLisle <jvdelisle@verizon.net> 1310 1311 * io/write.c (write_float): Revise output of IEEE exceptional 1312 values to comply with F95 and F2003 standards. 1313 13142005-07-22 Jerry DeLisle <jvdelisle@verizon.net> 1315 1316 PR libfortran/22570 1317 * io/unit.c (init_units): Replace BLANK_ZERO with 1318 BLANK_UNSPECIFIED. 1319 13202005-07-22 Jerry DeLisle <jvdelisle@verizon.net> 1321 1322 PR libfortran/21875 (FM111.f) 1323 * io/read.c (next_char): Return a ' ' character when BLANK_ZERO 1324 or BLANK_NULL are active. 1325 (read_decimal): Interpret ' ' character correctly for BZ or BN. 1326 (read_radix): Interpret ' ' character correctly for BZ or BN. 1327 (read_f): Interpret ' ' character correctly for BZ or BN. 1328 13292005-07-22 Paul Thomas <pault@gcc.gnu.org> 1330 1331 PR libfortran/22570 1332 * read.c (read_x): Correct the condition for doing the 1333 x-editing during formatted input. 1334 * transfer.c (formatted_transfer): Cast offset difference 1335 as int, clean-up arithmetic with new variable, bytes_used, 1336 zero counters for FMT_SLASH, 1337 (data_transfer_init) Zero X- and T-editing counters 1338 unconditionally. 1339 (next_record_w) Zero X- and T-editing counters. 1340 unconditionally. 1341 13422005-07-17 Jerry DeLisle <jvdelisle@verizon.net> 1343 1344 * io/write.c (write_float): Fix field width checks for 1345 printing 'Infinity' or 'Inf'. 1346 (output_float): Fix typo in comment. 1347 13482005-07-12 Paul Thomas <pault@gcc.gnu.org> 1349 1350 PR libfortran/16435 1351 * transfer.c (formatted_transfer): Correct the problems 1352 with X- and T-editting that caused TLs followed by TRs 1353 to overwrite data, which caused NIST FM908.FOR to fail 1354 on many tests. 1355 (data_transfer_init): Zero X- and T-editting counters at 1356 the start of formatted IO. 1357 * write.c (write_x): Write specified number of skips with 1358 specified number of spaces at the end. 1359 13602005-07-13 Paul Thomas <pault@gcc.gnu.org> 1361 1362 * io/read.c (read_complex): Prevent X formatting during reads 1363 from going beyond EOR to fix NIST fm908.FOR failure. 1364 * io/list_read.c (read_complex): Allow complex data in list- 1365 directed reads to have eols either side of the comma to 1366 fix NIST FM906.FOR failure. 1367 13682005-07-12 Thomas Koenig <Thomas.Koenig@online.de> 1369 1370 PR libfortran/21593 1371 * io/unix.c: Add member special_file to type unix_stream. 1372 (fd_truncate): Don't call ftruncate or chsize if 1373 s refers to a special file. 1374 (fd_to_stream): initialize s->special_file. 1375 13762005-07-11 David Edelsohn <edelsohn@gnu.org> 1377 1378 PR libfortran/22412 1379 * io/write.c (otoa): Bias p by SCRATCH_SIZE, not 1380 sizeof (SCRATCH_SIZE). 1381 (btoa): Same. 1382 13832005-07-09 Jerry DeLisle <jvdelisle@verizon.net> 1384 1385 PR libfortran/21875 (FM111.f) 1386 * io/read.c (next_char): Return a ' ' character when BLANK_ZERO or 1387 BLANK_NULL are active. 1388 (read_decimal): Interpret ' ' character correctly for BZ or BN. 1389 (read_radix): Interpret ' ' character correctly for BZ or BN. 1390 (read_f): Interpret ' ' character correctly for BZ or BN. 1391 * gfortran.dg/test (fmt_read_bz_bn.f90): New test case. 1392 13932005-07-09 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1394 Thomas Koenig <Thomas.Koenig@online.de> 1395 1396 PR libfortran/22217 1397 * io/write.c (extract_unit): New function; extract 1398 ints as unsigned signed int of the correct size. 1399 (write_int): Use it. 1400 * runtime/error.c: Adjust copyright years. 1401 Adjust size of buffer to maximum that can occur. 1402 14032005-07-07 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 1404 1405 * libgfortran.h (GFC_ARRAY_DESCRIPTOR): Replace 'type *base' by 1406 'size_t offset'. 1407 * intrinsics/cshift0.c, intrinsics/eoshift0.c, 1408 intrinsics/eoshift2.c,intrinsics/pack_generic.c, 1409 intrinsics/reshape_generic.c, intrinsics/spread_generic.c, 1410 intrinsics/transpose_generic.c, intrinsics/unpack_generic, 1411 m4/cshift1.m4, m4/eoshift1.m4, m4/eoshift3.m4, m4/iforeach.m4, 1412 m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/reshape.m4, 1413 m4,transpose.m4: Set renamed field 'offset' to zero instead of 1414 'base'. 1415 * generated/all_l4.c, generated/all_l8.c, 1416 generated/any_l4.c, generated/any_l8.c, generated/count_4_l4.c, 1417 generated/count_4_l8.c, generated/count_8_l4.c, 1418 generated/count_8_l8.c, generated/chift1_4.c, 1419 generated/cshift1_8.c, generated/eoshift1_4.c, 1420 generated/eoshift1_8.c, generated/eoshift3_4.c, 1421 generated/eoshift3_8.c, generated/matmul_c4.c, 1422 generated/matmul_c8.c, generated/matmul_i4.c, matmul_i8.c, 1423 generated/matmul_l4.c, generated/matmul_l8.c, 1424 generated/matmul_r4.c, generated/matmul_r8.c, 1425 generated/maxloc0_4_i4.c, generated/maxloc0_4_i8.c, 1426 generated/maxloc0_4_r4.c, generated/maxloc0_4_r8.c, 1427 generated/maxloc0_8_i4.c, generated/maxloc0_8_i8.c, 1428 generated/maxloc0_8_r4.c, generated/maxloc0_8_r8.c, 1429 generated/maxloc1_4_i4.c, generated/maxloc1_4_i8.c, 1430 generated/maxloc1_4_r4.c, generated/maxloc1_4_r8.c, 1431 generated/maxloc1_8_i4.c, generated/maxloc1_8_i8.c, 1432 generated/maxloc1_8_r4.c, generated/maxloc1_8_r8.c, 1433 generated/maxval_i4.c, generated/maxval_i8.c, 1434 generated/maxval_r4.c, generated/maxval_r8.c, 1435 generated/minloc0_4_i4.c, generated/minloc0_4_i8.c, 1436 generated/minloc0_4_r4.c, generated/minloc0_4_r8.c, 1437 generated/minloc0_8_i4.c, generated/minloc0_8_i8.c, 1438 generated/minloc0_8_r4.c, generated/minloc0_8_r8.c, 1439 generated/minloc1_4_i4.c, generated/minloc1_4_i8.c, 1440 generated/minloc1_4_r4.c, generated/minloc1_4_r8.c, 1441 generated/minloc1_8_i4.c, generated/minloc1_8_i8.c, 1442 generated/minloc1_8_r4.c, generated/minloc1_8_r8.c, 1443 generated/minval_i4.c, generated/minval_i8.c, 1444 generated/minval_r4.c, generated/minval_r8.c, 1445 generated/product_c4.c, generated/product_c8.c, 1446 generated/product_i4.c, generated/product_i8.c, 1447 generated/product_r4.c, generated/product_r8.c, 1448 generated/reshape_c4.c, generated/reshape_c8.c, 1449 generated/reshape_i4.c, generated/reshape_i8.c, 1450 generated/sum_c4.c, generated/sum_c8.c, generated/sum_i4.c, 1451 generated/sum_i8.c, generated/sum_r4.c, generated/sum_r8.c, 1452 generated/transpose_c4.c, generated/transpose_c8.c, 1453 generated/transpose_i4.c, generated/transpose_i8.c: Regenerate: 1454 14552005-07-07 Thomas Koenig <Thomas.Koenig@online.de> 1456 1457 PR libfortran/21594 1458 * intrinsics/eoshift0.c: If abs(shift) > len, fill the 1459 the whole array with the boundary value, but don't overrun it. 1460 * intrinsics/eoshift2.c: Likewise. 1461 * m4/eoshift1.m4: Likewise. 1462 * m4/eoshift3.m4: Likewise. 1463 * generated/eoshift1_4.c: Regenerated. 1464 * generated/eoshift1_8.c: Regenerated. 1465 * generated/eoshift3_4.c: Regenerated. 1466 * generated/eoshift3_8.c: Regenerated. 1467 14682005-07-07 Feng Wang <fengwang@nudt.edu.cn> 1469 1470 PR fortran/16531 1471 * io/transfer.c (formatted_transfer): Enable FMT_A on other types to 1472 support Hollerith constants. 1473 14742005-07-01 Andreas Jaeger <aj@suse.de> 1475 1476 * intrinsics/unpack_generic.c: Remove const from parameter. 1477 1478 * io/transfer.c (formatted_transfer): Remove unused variable. 1479 14802005-06-28 Thomas Koenig <Thomas.Koenig@online.de> 1481 1482 PR libfortran/22142 1483 * m4/eoshift1.m4: Correct bstride (it needs to be multiplied 1484 by size since it's a char pointer). 1485 * m4/eoshift1_4.c: Regenerated. 1486 * m4/eoshift1_8.c: Regenerated. 1487 14882005-06-28 Thomas Koenig <Thomas.Koenig@online.de> 1489 1490 PR libfortran/22142 1491 * m4/eoshift3.m4: Correct bstride (it needs to be multiplied 1492 by size since it's a char pointer). 1493 * m4/eoshift3_4.c: Regenerated. 1494 * m4/eoshift3_8.c: Regenerated. 1495 14962005-06-28 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1497 1498 PR libfortran/22170 1499 * io/transfer.c (formatted_transfer): Do not iterate on the 1500 repeat count of a FMT_SLASH, since this is already done in 1501 next_format(). 1502 15032005-06-25 Thomas Koenig <Thomas.Koenig@online.de> 1504 1505 PR libfortran/22144 1506 * m4/cshift1.m4: Remove const from argument ret. 1507 Populate return array descriptor if ret->data is NULL. 1508 * m4/eoshift1.m4: Likewise. 1509 * m4/eoshift3.m4: Likewise. 1510 * generated/cshift1_4.c: Regenerated. 1511 * generated/cshift1_8.c: Regenerated. 1512 * generated/eoshift1_4.c: Regenerated. 1513 * generated/eoshift1_8.c: Regenerated. 1514 * generated/eoshift3_4.c: Regenerated. 1515 * generated/eoshift3_8.c: Regenerated. 1516 15172005-06-24 Jerry DeLisle <jvdelisle@verizon.net> 1518 1519 PR libfortran/21915 1520 * Makefile.am: Include intrinsics/hyper.c. 1521 * c99_protos.h: Add prototypes for single precision versions of 1522 acosh, asinh, and atanh for platforms that do not have these. 1523 * config.h.in: Add #undef for wrappers. 1524 * configure.ac: Add checks for single precision versions. 1525 * aclocal.m4: Regenerated. 1526 * Makefile.in: Regenerated. 1527 * configure: Regenerated. 1528 * intrinsics/hyper.c: New file, adds new wrapper functions. 1529 15302005-06-23 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1531 1532 * intrinsics/c99_functions.c (log10l): New log10l function for 1533 systems where this is not available. 1534 * c99_protos.h: Prototype for log10l function. 1535 * libgfortran.h: Use generated kinds.h to define GFC_INTEGER_*, 1536 GFC_UINTEGER_*, GFC_LOGICAL_*, GFC_REAL_*, GFC_COMPLEX_*. Update 1537 prototypes for gfc_itoa and xtoa. 1538 * io/io.h: Update prototypes for set_integer and max_value. 1539 * io/list_read.c (convert_integer): Use new 1540 GFC_(INTEGER|REAL)_LARGEST type. 1541 * io/read.c (set_integer): Likewise. 1542 (max_value): Likewise. 1543 (convert_real): Likewise. 1544 (real_l): Likewise. 1545 (next_char): Likewise. 1546 (read_decimal): Likewise. 1547 (read_radix): Likewise. 1548 (read_f): Likewise. 1549 * io/write.c (extract_int): Use new GFC_INTEGER_LARGEST type. 1550 (extract_real): Use new GFC_REAL_LARGEST type. 1551 (calculate_exp): Likewise. 1552 (calculate_G_format): Likewise. 1553 (output_float): Likewise. Use log10l for long double values. 1554 Add comment for sprintf format. Use GFC_REAL_LARGEST_FORMAT. 1555 (write_l): Use new GFC_INTEGER_LARGEST type. 1556 (write_float): Use new GFC_REAL_LARGEST type. 1557 (write_int): Remove useless special case for (len < 8). 1558 (write_decimal): Use GFC_INTEGER_LARGEST. 1559 (otoa): Use GFC_UINTEGER_LARGEST as argument. 1560 (btoa): Use GFC_UINTEGER_LARGEST as argument. 1561 * runtime/error.c (gfc_itoa): Use GFC_INTEGER_LARGEST as 1562 argument. 1563 (xtoa): Use GFC_UINTEGER_LARGEST as argument. 1564 * Makefile.am: Use mk-kinds-h.sh to generate header kinds.h 1565 with all Fortran kinds available. 1566 * configure.ac: Check for strtold and log10l. 1567 * Makefile.in: Regenerate. 1568 * aclocal.m4: Regenerate. 1569 * configure: Regenerate. 1570 * config.h.in: Regenerate. 1571 * mk-kinds-h.sh: Configuration script for available integer 1572 and real kinds. 1573 1574 15752005-06-18 Janne Blomqvist <jblomqvi@cc.hut.fi> 1576 1577 * unix.c (stream_at_bof): Don't assume that all non-mmapped files 1578 are non-seekable. 1579 (stream_at_eof): Likewise. 1580 15812005-06-18 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1582 1583 PR libfortran/19155 1584 * io/read.c (convert_real): strtod can set errno to EINVAL on an 1585 empty string, but we shouldn't have an error in that case. 1586 15872005-06-17 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1588 1589 PR libfortran/19216 1590 * io/list_read.c (eat_separator): No need to call next_record, 1591 even in non-namelist_mode. 1592 15932005-06-17 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1594 1595 * io/transfer.c (formatted_transfer): Fix typo in error message. 1596 15972005-06-17 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1598 1599 PR libfortran/16436 1600 * io/transfer.c (read_sf): Correct updating of bytes_left field. 1601 (formatted_transfer): Correct updating of bytes_left field and 1602 reformatting code (comments and whitespace). 1603 * io/unix.c (move_pos_offset): "active" field should not be 1604 changed here. Whitespace corrections. 1605 16062005-06-15 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1607 1608 PR libfortran/21950 1609 * intrinsics/c99_functions.c (scalbn): Provide fallback 1610 implementation for scalbn. 1611 * c99_protos.h: Prototype for scalbn. 1612 * configure.ac: Add check for scalbn. 1613 * configure: Regenerate. 1614 * config.h.in: Regenerate. 1615 16162005-06-14 Thomas Koenig <Thomas.Koenig@online.de> 1617 1618 * intrinsics/eoshift0.c: Removed prototype for eoshift0. 1619 * intrinsics/eoshift2.c: Removed prototype for eoshift2. 1620 16212005-06-14 Tom Tromey <tromey@redhat.com> 1622 1623 PR libgcj/19877: 1624 * configure, aclocal.m4, Makefile.in: Rebuilt. 1625 16262005-06-12 Thomas Koenig <Thomas.Koenig@online.de> 1627 1628 PR libfortran/21594 1629 * intrinsics/eoshift0.c: Add prototype for eoshift0. 1630 * intrinsics/eoshift2.c: Add prototype for eoshift2. 1631 16322005-06-12 Steven G. Kargl <kargls@comcast.net> 1633 Thomas Koenig <Thomas.Koenig@online.de> 1634 1635 PR libfortran/PR21797 1636 * m4/cexp.m4 (csqrt`'q): Add type qualifyer to 1637 sqrt and fabs. 1638 * generated/exp_c4.c: Regenerated. 1639 16402005-06-12 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1641 1642 PR libfortran/19155 1643 * io/read.c (read_f): Take care of spaces after initial sign. 1644 16452005-06-11 Thomas Koenig <Thomas.Koenig@onlinde.de> 1646 1647 PR libfortran/21333 1648 * Makefile.am: Add in_pack_c4.c, in_pack_c8.c, in_unpack_c4.c 1649 and in_unpack_c8.c. 1650 * Makefile.in: Regenerate. 1651 * libgfortran.h: Declare internal_pack_c4, internal_pack_c8, 1652 internal_unpack_c4 and internal_unpack_c8. 1653 * m4/in_pack.m4: Use rtype_ccode insteald of rtype_kind 1654 in function name. 1655 Use sizeof (rtype_name) as size for memory allocation. 1656 * m4/in_unpack.m4: Use rtype_ccode insteald of rtype_kind 1657 in function name. 1658 Use sizeof (rtype_name) for calculation of sizes for memcpy. 1659 * runtime/in_pack_generic.c: For real, integer and logical 1660 call internal_pack_4 if size==4 and internal_pack_8 if 1661 size==8. 1662 For complex, call internal_pack_c4 if size==8 and 1663 internal_pack_c8 if size==16. 1664 * runtime/in_unpack_generic.c: For real, integer and logical 1665 call internal_unpack_4 if size==4 and internal_unpack_8 if 1666 size==8. 1667 For complex, call internal_unpack_c4 if size==8 and 1668 internal_unpack_c8 if size==16. 1669 * generated/in_pack_i4.c: Regenerated. 1670 * generated/in_pack_i8.c: Regenerated. 1671 * generated/in_unpack_i4.c: Regenerated. 1672 * generated/in_unpack_i8.c: Regenerated. 1673 * generated/in_pack_c4.c: New file. 1674 * generated/in_pack_c8.c: New file. 1675 * generated/in_unpack_c4.c: New file. 1676 * generated/in_unpack_c8.c: New file. 1677 16782005-06-09 Thomas Koenig <Thomas.Koenig@online.de> 1679 1680 PR libfortran/21480 1681 * m4/reshape.m4: Use sizeof (rtype_name) for sizes to be passed 1682 to reshape_packed. 1683 * generated/reshape_c4.c: Regenerated. 1684 * generated/reshape_c8.c: Regenerated. 1685 * generated/reshape_i4.c: Regenerated. 1686 * generated/reshape_i8.c: Regenerated. 1687 16882005-06-07 Thomas Koenig <Thomas.Koenig@online.de> 1689 1690 PR libfortran/21926 1691 * m4/matmul.m4: Correct zeroing of result for non-packed 1692 arrays with lowest stride is one. 1693 * generated/matmul_c4.c: Regenerated. 1694 * generated/matmul_c8.c: Regenerated. 1695 * generated/matmul_i4.c: Regenerated. 1696 * generated/matmul_i8.c: Regenerated. 1697 * generated/matmul_r4.c: Regenerated. 1698 * generated/matmul_r8.c: Regenerated. 1699 17002005-05-30 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1701 1702 PR libfortran/20179 1703 * io/unix.c (fd_close): Add test so that we don't close() 1704 stdout and stderr. 1705 17062005-05-29 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1707 1708 PR libfortran/20006 1709 * io/format.c (parse_format_list): Set repeat count of $ format 1710 node to 1. 1711 * io/transfer.c (read_sf): Add g.seen_dollar to the test 1712 concerning advancing I/O. 1713 (data_transfer_init): Likewise. 1714 (finalize_transfer): Likewise. 1715 17162005-05-27 Thomas Koenig <Thomas.Koenig@online.de> 1717 1718 * runtime/in_pack_generic.c: Adjust copyright years. 1719 (in_pack_generic): Change dimension of auxiliary arrays from 1720 GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION. 1721 * runtime/in_unpack_generic.c: Adjust copyright years. 1722 (in_unpack_generic): Change dimension of auxiliary arrays from 1723 GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION. 1724 17252005-05-26 Thomas Koenig <Thomas.Koenig@online.de> 1726 1727 PR libfortran/17283 1728 * intrinsics/unpack_generic.c: Fix name of routine 1729 on top. Update copyright years. 1730 (unpack1): Remove const from return array descriptor. 1731 rs: New variable, for calculating return sizes. 1732 Populate return array descriptor if ret->data is NULL. 1733 17342005-05-22 Peter Wainwright <prw@ceiriog1.demon.co.uk> 1735 1736 PR libfortran/21376 1737 * io/write.c (output_float): Rework logic to avoid call to log10 1738 with argument equal to zero. 1739 17402005-05-21 Eric Botcazou <ebotcazou@libertysurf.fr> 1741 1742 * configure.ac: Check for trunc and truncf in libm. 1743 * configure: Regenerate. 1744 * config.h.in: Likewise. 1745 * intrinsics/c99_functions.c (trunc, truncf): New functions. 1746 * c99_protos.h (trunc, truncf): Declare them. 1747 17482005-05-18 Thomas Koenig <Thomas.Koenig@online.de> 1749 1750 PR libfortran/21127 1751 * Makefile.am: Really commit. 1752 * Makefile.in: Really commit. 1753 17542005-05-18 Thomas Koenig <Thomas.Koenig@online.de> 1755 1756 PR libfortran/21127 1757 * Makefile.am: Add generated/reshape_c4.c and 1758 generated/reshape_c8.c. 1759 * Makefile.in: Regenerated. 1760 * m4/iparm.m4: Define rtype_ccode to be c4 or c8 for 1761 complex types, 4 or 8 otherwise. 1762 * m4/reshape.m4: Use rtype_ccode instead of rtype_kind 1763 in function name. 1764 * generated/reshape_c4.c: New file. 1765 * generated/reshape_c8.c: New file. 1766 17672005-05-16 Andreas Jaeger <aj@suse.de> 1768 1769 * configure.ac: Add additional warning flags. 1770 * configure: Regenerate. 1771 1772 * io/write.c (calculate_G_format): Remove unused parameter. 1773 (output_float): Remove unused parameter. 1774 (write_float): Change callers. 1775 (nml_write_obj): Avoid signed warning. 1776 Make variable const to support -Wwrite-strings. 1777 1778 * io/unix.c (fd_alloc, mmap_open, mmap_sfree, mem_sfree, 1779 mem_truncate): Mark argument as unused. 1780 1781 * io/unit.c (get_unit): Mark argument as unused. 1782 (init_units): Avoid warning about signed comparision. 1783 1784 * io/transfer.c (next_record_r): Remove unused parameter. 1785 (next_record_w): Remove unused parameter. 1786 (next_record): Change callers. 1787 (iolength_transfer): Mark arguments as unused. 1788 1789 * io/open.c: Add initializer. 1790 1791 * io/list_read.c (read_character): Mark argument as unused. 1792 (nml_match_name): Add const to make compile with -Wwrite-strings. 1793 1794 * io/format.c: Add initializer. 1795 17962005-05-15 Andreas Jaeger <aj@suse.de> 1797 1798 * m4/eoshift1.m4: Initialize variables to avoid warnings. 1799 * m4/eoshift3.m4: Initialize variables to avoid warnings. 1800 * generated/eoshift1_4.c, generated/eoshift1_8.c, 1801 generated/eoshift3_4.c, generated/eoshift3_8.c: Regenerated. 1802 1803 * intrinsics/spread_generic.c (spread): Initialize variables to 1804 avoid warnings. 1805 1806 * intrinsics/eoshift0.c (eoshift0): Initialize variables to avoid 1807 warnings. 1808 * intrinsics/eoshift2.c (eoshift2): Initialize variables to avoid 1809 warnings. 1810 1811 * io/list_read.c (nml_get_obj_data): Initialize variables to avoid 1812 warnings. 1813 1814 * intrinsics/pack_generic.c (pack): Remove unneeded calculation. 1815 1816 * m4/matmull.m4 (matmul_): Remove unneeded calculations, fix 1817 pointer cast to avoid warning. 1818 * generated/matmul_l4.c: Regenerated. 1819 * generated/matmul_l8.c: Regenerated. 1820 1821 * Makefile.am: Remove AM_CFLAGS here. 1822 * configure.ac: Define AM_CFLAGS and AM_FCFLAGS so that warnings 1823 are set. Set additionally -Wstrict-prototypes for CFLAGS. 1824 * Makefile.in: Regenerated. 1825 * aclocal.m4: Regenerated. 1826 * configure: Regenerated. 1827 1828 * intrinsics/system_clock.c (system_clock_4, system_clock_8): Add 1829 missing returns, reformat a bit. 1830 1831 * io/write.c (nml_write_obj): Use %d again - and cast to int, 1832 st_sprintf does not handle %ld. 1833 1834 * io/unit.c (is_internal_unit): Add void as parameter list. 1835 1836 * io/transfer.c: Move prototype declarations before the functions. 1837 1838 * runtime/normalize.c (almostone_r4, almostone_r8): Fix parameter 1839 list. 1840 1841 * intrinsics/random.c (KISS_DEFAULT_SEED): Remove extra semicolon. 1842 1843 * io/transfer.c: Do not use empty initializers for global objects. 1844 Add missing initializers. 1845 1846 * io/lock.c: Do not use empty initializers for global objects. 1847 1848 * io/close.c: Add missing initializers. 1849 1850 * runtime/environ.c: Add missing initializers. Do not use empty 1851 initializers for global object. 1852 (init_string): Mark argument as unused. 1853 1854 * runtime/main.c (cleanup): Fix parameter list. 1855 1856 * io/io.h: Fix parameter lists. 1857 1858 * m4/transpose.m4, m4/matmul.m4: Fix pointer cast to avoid 1859 warning. 1860 1861 * generated/transpose_c4.c, generated/transpose_c8.c, 1862 generated/transpose_i4.c, generated/transpose_i8.c, 1863 generated/matmul_c4.c, generated/matmul_c8.c, 1864 generated/matmul_i4.c, generated/matmul_i8.c, 1865 generated/matmul_r4.c, generated/matmul_r8.c: Regenerated. 1866 1867 * io/write.c (nml_write_obj): Fix 64-bit problem. 1868 1869 * io/list_read.c (nml_get_obj_data): Add missing braces around 1870 initializer to avoid warnings. 1871 1872 * intrinsics/etime.c (etime_sub): Remove unused variable. 1873 1874 * intrinsics/chdir.c, intrinsics/getlog.c, intrinsics/link.c, 1875 intrinsics/symlnk.c, intrinsics/perror.c: Include <string.h> for 1876 prototypes. 1877 1878 * runtime/string.c (compare0): Remove unused variable. 1879 * io/unit.c (init_units): Remove unused variables. 1880 * intrinsics/getcwd.c (getcwd_i4_sub): Remove unused variable. 1881 * intrinsics/unlink.c (unlink_i4_sub): Remove unused variable. 1882 * intrinsics/stat.c (stat_i4_sub, fstat_i8_sub, fstat_i4_sub, 1883 stat_i8_sub): Remove unused variable. 1884 18852005-05-12 Thomas Koenig <Thomas.Koenig@online.de> 1886 1887 PR libfortran/21324 1888 * runtime/memory.c: Don't define GFC_CLEAR_MEMORY (it's a 1889 performance hog). 1890 * io/open.c (new_unit): Zero freshly allocated memory for 1891 unit structure. 1892 * io/unit.c (init_units): Zero freshly allocated memory for 1893 STDIN, STDOUT and STDERR. 1894 * io/unix.c (open_internal): Zero freshly allocated memory 1895 for unix_stream. 1896 (fd_to_stream): Likewise. 1897 18982005-05-11 Bud Davis <bdavis@gfortran.org> 1899 1900 PR fortran/19478 1901 * io/unix.c (fd_truncate): update positions when ftruncate 1902 fails (like writing to /dev/null). 1903 19042005-05-10 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1905 1906 PR libfortran/21471 1907 * open.c (new_unit): Take care of the case where POSITION_APPEND 1908 is specified (sseek to the end, and set u>-endfile). 1909 19102005-05-10 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 1911 1912 PR fortran/20178 1913 * Makefile.am (gfor_specific_src): Add 'intrinsics/f2c_intrinsics.F90' 1914 to dependencies. 1915 * Makefile.in: Regenerate. 1916 * intrinsics/f2c_specific.F90: New file. 1917 19182005-05-10 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1919 1920 PR libfortran/20788 1921 * io/unix.c (fd_to_stream): Add an avoid_mmap argument indicating 1922 we don't we to mmap this stream. Use fd_open instead of mmap_open 1923 in that case. 1924 (open_external): Call fd_to_stream with avoid_mmap = 0. 1925 (input_stream): Call fd_to_stream with avoid_mmap = 1. 1926 (output_stream): Likewise. 1927 (error_stream): Likewise. 1928 19292005-05-09 Mike Stump <mrs@apple.com> 1930 1931 * configure: Regenerate. 1932 19332005-05-09 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1934 1935 PR libfortran/19155 1936 * io/read.c (read_f): Accept 'e', 'E', 'd' and 'D' as first 1937 non-blank characters of a real number. 1938 19392005-05-04 Thomas Koenig <Thomas.Koenig@online.de> 1940 1941 PR libfortran/21354 1942 * m4/cshift1.m4: Change dimension of auxiliary arrays from 1943 GFC_MAX_DIMENSION - 1 to GFC_MAX_DIMENSION. 1944 * m4/eoshift1.m4: Likewise. 1945 * m4/eoshift3.m4: Likewise. 1946 * m4/ifunction.m4: Likewise. 1947 * m4/in_pack.m4: Likewise. 1948 * m4/in_unpack.m4: Likewise. 1949 * intrinsics/cshift0.c: Likewise. 1950 * intrinsics/eoshift0.c: Likewise. 1951 * intrinsics/eoshift2.c: Likewise. 1952 * intrinsics/random.c: Likewise. 1953 * intrinsics/spread_generic.c: Likewise. 1954 * intrinsics/stat.c: Likewise. 1955 * generated/all_l4.c: Regenerated. 1956 * generated/all_l8.c: Regenerated. 1957 * generated/any_l4.c: Regenerated. 1958 * generated/any_l8.c: Regenerated. 1959 * generated/count_4_l4.c: Regenerated. 1960 * generated/count_4_l8.c: Regenerated. 1961 * generated/count_8_l4.c: Regenerated. 1962 * generated/count_8_l8.c: Regenerated. 1963 * generated/cshift1_4.c: Regenerated. 1964 * generated/cshift1_8.c: Regenerated. 1965 * generated/eoshift1_4.c: Regenerated. 1966 * generated/eoshift1_8.c: Regenerated. 1967 * generated/eoshift3_4.c: Regenerated. 1968 * generated/eoshift3_8.c: Regenerated. 1969 * generated/in_pack_i4.c: Regenerated. 1970 * generated/in_pack_i8.c: Regenerated. 1971 * generated/in_unpack_i4.c: Regenerated. 1972 * generated/in_unpack_i8.c: Regenerated. 1973 * generated/maxloc0_4_i4.c: Regenerated. 1974 * generated/maxloc0_4_i8.c: Regenerated. 1975 * generated/maxloc0_4_r4.c: Regenerated. 1976 * generated/maxloc0_4_r8.c: Regenerated. 1977 * generated/maxloc0_8_i4.c: Regenerated. 1978 * generated/maxloc0_8_i8.c: Regenerated. 1979 * generated/maxloc0_8_r4.c: Regenerated. 1980 * generated/maxloc0_8_r8.c: Regenerated. 1981 * generated/maxloc1_4_i4.c: Regenerated. 1982 * generated/maxloc1_4_i8.c: Regenerated. 1983 * generated/maxloc1_4_r4.c: Regenerated. 1984 * generated/maxloc1_4_r8.c: Regenerated. 1985 * generated/maxloc1_8_i4.c: Regenerated. 1986 * generated/maxloc1_8_i8.c: Regenerated. 1987 * generated/maxloc1_8_r4.c: Regenerated. 1988 * generated/maxloc1_8_r8.c: Regenerated. 1989 * generated/maxval_i4.c: Regenerated. 1990 * generated/maxval_i8.c: Regenerated. 1991 * generated/maxval_r4.c: Regenerated. 1992 * generated/maxval_r8.c: Regenerated. 1993 * generated/minloc0_4_i4.c: Regenerated. 1994 * generated/minloc0_4_i8.c: Regenerated. 1995 * generated/minloc0_4_r4.c: Regenerated. 1996 * generated/minloc0_4_r8.c: Regenerated. 1997 * generated/minloc0_8_i4.c: Regenerated. 1998 * generated/minloc0_8_i8.c: Regenerated. 1999 * generated/minloc0_8_r4.c: Regenerated. 2000 * generated/minloc0_8_r8.c: Regenerated. 2001 * generated/minloc1_4_i4.c: Regenerated. 2002 * generated/minloc1_4_i8.c: Regenerated. 2003 * generated/minloc1_4_r4.c: Regenerated. 2004 * generated/minloc1_4_r8.c: Regenerated. 2005 * generated/minloc1_8_i4.c: Regenerated. 2006 * generated/minloc1_8_i8.c: Regenerated. 2007 * generated/minloc1_8_r4.c: Regenerated. 2008 * generated/minloc1_8_r8.c: Regenerated. 2009 * generated/minval_i4.c: Regenerated. 2010 * generated/minval_i8.c: Regenerated. 2011 * generated/minval_r4.c: Regenerated. 2012 * generated/minval_r8.c: Regenerated. 2013 * generated/product_c4.c: Regenerated. 2014 * generated/product_c8.c: Regenerated. 2015 * generated/product_i4.c: Regenerated. 2016 * generated/product_i8.c: Regenerated. 2017 * generated/product_r4.c: Regenerated. 2018 * generated/product_r8.c: Regenerated. 2019 * generated/sum_c4.c: Regenerated. 2020 * generated/sum_c8.c: Regenerated. 2021 * generated/sum_i4.c: Regenerated. 2022 * generated/sum_i8.c: Regenerated. 2023 * generated/sum_r4.c: Regenerated. 2024 * generated/sum_r8.c: Regenerated. 2025 20262005-04-30 Thomas Koenig <Thomas.Koenig@online.de> 2027 2028 PR libfortran/18958 2029 libgfortran.h: Change typedef of index_type from size_t 2030 to ssize_t. 2031 20322005-04-30 Paul Thomas <pault@gcc.gnu.org> 2033 2034 PR libfortran/18857 2035 * generated/matmul_r8.c: Remove incorrect assertions. 2036 * generated/matmul_c4.c: Regenerate 2037 * generated/matmul_c8.c: Regenerate 2038 * generated/matmul_i4.c: Regenerate 2039 * generated/matmul_i8.c: Regenerate 2040 * generated/matmul_r4.c: Regenerate 2041 * generated/matmul_r8.c: Regenerate 2042 20432005-04-29 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2044 2045 * configure.ac: Check for ftruncate and chsize. 2046 * io/unix.c (fd_truncate): Provide chsize as alternative to 2047 ftruncate. 2048 * config.h.in: Regenerate. 2049 * configure: Regenerate. 2050 20512005-04-29 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2052 2053 * intrinsics/rename.c: Add missing #includes. 2054 20552005-04-28 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2056 2057 * AUTHORS, COPYING, INSTALL, NEWS, README: Remove. 2058 20592005-04-26 David Edelsohn <edelsohn@gnu.org> 2060 2061 PR libfortran/20930 2062 * io/rewind.c (st_rewind): Flush the stream when resetting the mode 2063 from WRITING to READING. 2064 20652005-04-22 Paul Thomas <pault@gcc.gnu.org> 2066 Jerry DeLisle <jvdelisle@verizon.net> 2067 2068 * io/write.c (nml_write_obj): Provide 1 more byte for ext_name. 2069 * io/list_read.c (nml_get_obj_data): Put extra brackets in get_mem 2070 call for ext_name. These fix the bug reported by Jerry DeLisle to 2071 the fortran list and are based on his suggested fix. 2072 20732005-04-22 Thomas Koenig <Thomas.Koenig@online.de> 2074 2075 PR libfortran/20074 2076 PR libfortran/20436 2077 PR libfortran/21108 2078 * m4/reshape.m4 (reshape_`'rtype_kind): rs, rex: New 2079 variables, to be used in calculation of return array sizes. 2080 Populate return array descriptor if ret->data is NULL. 2081 Fix condition for early return (it used to test something 2082 undefined if order was used). 2083 Remove duplicate check wether pad is used. 2084 * intrinsics/reshape_generic.c (reshape_generic): Likewise. 2085 Fix a few places where the wrong variables were set. 2086 * generated/reshape_i4.c: Regenerated. 2087 * generated/reshape_i8.c: Regenerated. 2088 20892005-04-18 Paul Thomas <pault@gcc.gnu.org> 2090 2091 * io/list_read.c (nml_touch_nodes, nml_read_obj, 2092 nml_get_obj_data): Fix memory leaks in code for derived types. 2093 20942005-04-11 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2095 2096 PR libfortran/20950 2097 * io/inquire.c (inquire_via_unit): Check for the gfc_unit being 2098 NULL when setting ioparm.sequential. 2099 21002005-04-17 Thomas Koenig <Thomas.Koenig@online.de> 2101 2102 PR libfortran/21075 2103 * m4/reshape.m4 (reshape_`'rtype_kind): Change dimension 2104 of auxiliary arrays from GFC_MAX_DIMENSIONS - 1 to 2105 GFC_MAX_DIMENSIONS. 2106 * intrinsics/reshape_generic.c (reshape_generic): Likewise. 2107 * generated/reshape_i4.c: Regenerated. 2108 * generated/reshape_i8.c: Regenerated. 2109 21102005-04-17 Paul Thomas <pault@gcc.gnu.org> 2111 2112 * io/list_read.c (eat_separator): at_eol = 1 replaced 2113 (zapped at some time?). 2114 21152005-04-17 Paul Thomas <pault@gcc.gnu.org> 2116 2117 PR libfortran/12884 2118 PR libfortran/17285 2119 PR libfortran/18122 2120 PR libfortran/18210 2121 PR libfortran/18392 2122 PR libfortran/18591 2123 PR libfortran/18879 2124 * io/io.h (nml_ls): Declare. 2125 (namelist_info): Modify for arrays. 2126 * io/list_read.c (namelist_read): Reduced to call to new functions. 2127 (match_namelist_name): Simplified. 2128 (nml_query): Handles stdin queries ? and =?. New function. 2129 (nml_get_obj_data): Parses object name. New function. 2130 (touch_nml_nodes): Marks objects for read. New function. 2131 (untouch_nml_nodes): Resets objects. New function. 2132 (parse_qualifier): Parses and checks qualifiers. New function 2133 (nml_read_object): Reads and stores object data. New function. 2134 (eat_separator): No new_record on '/' in namelist. 2135 (finish_separator): No new_record on '/' in namelist. 2136 (read_logical): Error return for namelist. 2137 (read_integer): Error return for namelist. 2138 (read_complex): Error return for namelist. 2139 (read_real): Error return for namelist. 2140 * io/lock.c (library_end): Free extended namelist_info types. 2141 * io/transfer.c (st_set_nml_var): Modified for arrays. 2142 (st_set_nml_var_dim): Dimension descriptors. New function. 2143 * io/write.c (namelist_write): Reduced to call to new functions. 2144 (nml_write_obj): Writes output for object. New function. 2145 (write_integer): Suppress leading blanks for repeat counts. 2146 (write_int): Suppress leading blanks for repeat counts. 2147 (write_float): Suppress leading blanks for repeat counts. 2148 (output_float): Suppress leading blanks for repeat counts. 2149 21502005-04-15 Thomas Koenig <Thomas.Koenig@online.de> 2151 2152 PR libfortran/18495 2153 * intrinsics/spread_generic.c (spread): Remove const from 2154 return array descriptor. 2155 New variables: rrank (rank of return array), rs (for 2156 calculating the size of the return array), srank (rank 2157 of the source array). 2158 Generate runtime error if the dim= argument is larger than 2159 the rank of the return array. 2160 Generate runtime error if the needed rank of the return 2161 array is larger than 7. 2162 If ret->data is null, populate the return array descriptor 2163 and initialize the variables for the actual operation. 2164 Otherwise, set ret->dim[0].stride to one if it is zero. 2165 Change second, independent use of variable dim to srank. 2166 21672005-04-12 Mike Stump <mrs@apple.com> 2168 2169 * configure: Regenerate. 2170 21712005-04-13 Thomas Koenig <Thomas.Koenig@online.de> 2172 2173 PR libfortran/19106 2174 * m4/iforeach.c (name`'rtype_qual`_'atype_code): Add TODO 2175 that setting correct strides is a front end job. 2176 (`m'name`'rtype_qual`_'atype_code): Likewise. If mask has 2177 a lowest stride of 0, adjust to 1. 2178 * m4/ifunction.c (name`'rtype_qual`_'atype_code): Add TODO 2179 that setting correct strides is a front end job. 2180 (`m'name`'rtype_qual`_'atype_code): Likewise. If mask has 2181 a lowest stride of 0, adjust to 1. 2182 * maxloc0_4_i4.c: Regenerated 2183 * maxloc0_4_i8.c: Regenerated 2184 * maxloc0_4_r4.c: Regenerated 2185 * maxloc0_4_r8.c: Regenerated 2186 * maxloc0_8_i4.c: Regenerated 2187 * maxloc0_8_i8.c: Regenerated 2188 * maxloc0_8_r4.c: Regenerated 2189 * maxloc0_8_r8.c: Regenerated 2190 * maxloc1_4_i4.c: Regenerated 2191 * maxloc1_4_i8.c: Regenerated 2192 * maxloc1_4_r4.c: Regenerated 2193 * maxloc1_4_r8.c: Regenerated 2194 * maxloc1_8_i4.c: Regenerated 2195 * maxloc1_8_i8.c: Regenerated 2196 * maxloc1_8_r4.c: Regenerated 2197 * maxloc1_8_r8.c: Regenerated 2198 * maxval_i4.c: Regenerated 2199 * maxval_i8.c: Regenerated 2200 * maxval_r4.c: Regenerated 2201 * maxval_r8.c: Regenerated 2202 * minloc0_4_i4.c: Regenerated 2203 * minloc0_4_i8.c: Regenerated 2204 * minloc0_4_r4.c: Regenerated 2205 * minloc0_4_r8.c: Regenerated 2206 * minloc0_8_i4.c: Regenerated 2207 * minloc0_8_i8.c: Regenerated 2208 * minloc0_8_r4.c: Regenerated 2209 * minloc0_8_r8.c: Regenerated 2210 * minloc1_4_i4.c: Regenerated 2211 * minloc1_4_i8.c: Regenerated 2212 * minloc1_4_r4.c: Regenerated 2213 * minloc1_4_r8.c: Regenerated 2214 * minloc1_8_i4.c: Regenerated 2215 * minloc1_8_i8.c: Regenerated 2216 * minloc1_8_r4.c: Regenerated 2217 * minloc1_8_r8.c: Regenerated 2218 * minval_i4.c: Regenerated 2219 * minval_i8.c: Regenerated 2220 * minval_r4.c: Regenerated 2221 * minval_r8.c: Regenerated 2222 * product_c4.c: Regenerated 2223 * product_c8.c: Regenerated 2224 * product_i4.c: Regenerated 2225 * product_i8.c: Regenerated 2226 * product_r4.c: Regenerated 2227 * product_r8.c: Regenerated 2228 * sum_c4.c: Regenerated 2229 * sum_c8.c: Regenerated 2230 * sum_i4.c: Regenerated 2231 * sum_i8.c: Regenerated 2232 * sum_r4.c: Regenerated 2233 * sum_r8.c: Regenerated 2234 22352005-04-10 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2236 2237 PR libfortran/20788 2238 * runtime/environ.c (init_unsigned_integer): Function for 2239 environment variables we want to be positive. 2240 (init_integer): Function to allow negative environment 2241 variables (e.g. for GFORTRAN_STDIN_UNIT). 2242 22432005-04-10 Thomas Koenig <Thomas.Koenig@online.de> 2244 2245 PR libfortran/17992 2246 PR libfortran/19568 2247 PR libfortran/19595 2248 PR libfortran/20005 2249 PR libfortran/20092 2250 PR libfortran/20131 2251 PR libfortran/20661 2252 PR libfortran/20744 2253 * io/transfer.c (top level): eor_condition: New static variable. 2254 (read_sf): Remove unnecessary zeroing of buffer (there is enough 2255 information in its length). 2256 Return a string of length 0 (to be padded by caller) if EOR was 2257 seen previously. 2258 Remove erroneous special casing of EOR for standard input. 2259 Set eor_condition for non-advancing I/O if an end of line was 2260 detected. 2261 Increment ioparm.size if necessary. 2262 (formatted_transfer): Skip the function if there is an EOR condition. 2263 (data_transfer_init): Initialize eor_condition to zero (false). 2264 (next_record_r): Clear sf_seen_eor if a \n has been seen already. 2265 (finalize_transfer): If there is an EOR condition, raise the error. 2266 22672005-04-09 Bud Davis <bdavis@gfortran.org> 2268 Steven G. Kargl <kargls@comcast.net> 2269 2270 PR fortran/19872 2271 * io/transfer.c (data_transfer_init): truncate an existing 2272 file on the first write. 2273 22742005-04-09 Thomas Koenig <Thomas.Koenig@online.de> 2275 2276 PR libfortran/19106 2277 PR libfortran/19014 2278 * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): ditto. 2279 If retarray->data is NULL (i.e. the front end does not 2280 know the rank and dimenson of the array), fill in its 2281 properties and allocate memory. 2282 Change the assertions about rank and dimension of retarray into 2283 runtime errors and only check them for retarray->data != NULL. 2284 Do the same for correcting the stride from 0 to 1 in retarray. 2285 (`m'name`'rtype_qual`_'atype_code): Likewise. 2286 * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Likewise. 2287 Change assertion about rank of array to runtime error. 2288 (`m'name`'rtype_qual`_'atype_code): Likewise. 2289 * generated/all_l4.c: Regenerated. 2290 * generated/all_l8.c: Regenerated. 2291 * generated/any_l4.c: Regenerated. 2292 * generated/any_l8.c: Regenerated. 2293 * generated/count_4_l4.c: Regenerated. 2294 * generated/count_4_l8.c: Regenerated. 2295 * generated/count_8_l4.c: Regenerated. 2296 * generated/count_8_l8.c: Regenerated. 2297 * generated/maxloc0_4_i4.c: Regenerated. 2298 * generated/maxloc0_4_i8.c: Regenerated. 2299 * generated/maxloc0_4_r4.c: Regenerated. 2300 * generated/maxloc0_4_r8.c: Regenerated. 2301 * generated/maxloc0_8_i4.c: Regenerated. 2302 * generated/maxloc0_8_i8.c: Regenerated. 2303 * generated/maxloc0_8_r4.c: Regenerated. 2304 * generated/maxloc0_8_r8.c: Regenerated. 2305 * generated/maxloc1_4_i4.c: Regenerated. 2306 * generated/maxloc1_4_i8.c: Regenerated. 2307 * generated/maxloc1_4_r4.c: Regenerated. 2308 * generated/maxloc1_4_r8.c: Regenerated. 2309 * generated/maxloc1_8_i4.c: Regenerated. 2310 * generated/maxloc1_8_i8.c: Regenerated. 2311 * generated/maxloc1_8_r4.c: Regenerated. 2312 * generated/maxloc1_8_r8.c: Regenerated. 2313 * generated/maxval_i4.c: Regenerated. 2314 * generated/maxval_i8.c: Regenerated. 2315 * generated/maxval_r4.c: Regenerated. 2316 * generated/maxval_r8.c: Regenerated. 2317 * generated/minloc0_4_i4.c: Regenerated. 2318 * generated/minloc0_4_i8.c: Regenerated. 2319 * generated/minloc0_4_r4.c: Regenerated. 2320 * generated/minloc0_4_r8.c: Regenerated. 2321 * generated/minloc0_8_i4.c: Regenerated. 2322 * generated/minloc0_8_i8.c: Regenerated. 2323 * generated/minloc0_8_r4.c: Regenerated. 2324 * generated/minloc0_8_r8.c: Regenerated. 2325 * generated/minloc1_4_i4.c: Regenerated. 2326 * generated/minloc1_4_i8.c: Regenerated. 2327 * generated/minloc1_4_r4.c: Regenerated. 2328 * generated/minloc1_4_r8.c: Regenerated. 2329 * generated/minloc1_8_i4.c: Regenerated. 2330 * generated/minloc1_8_i8.c: Regenerated. 2331 * generated/minloc1_8_r4.c: Regenerated. 2332 * generated/minloc1_8_r8.c: Regenerated. 2333 * generated/minval_i4.c: Regenerated. 2334 * generated/minval_i8.c: Regenerated. 2335 * generated/minval_r4.c: Regenerated. 2336 * generated/minval_r8.c: Regenerated. 2337 * generated/product_c4.c: Regenerated. 2338 * generated/product_c8.c: Regenerated. 2339 * generated/product_i4.c: Regenerated. 2340 * generated/product_i8.c: Regenerated. 2341 * generated/product_r4.c: Regenerated. 2342 * generated/product_r8.c: Regenerated. 2343 * generated/sum_c4.c: Regenerated. 2344 * generated/sum_c8.c: Regenerated. 2345 * generated/sum_i4.c: Regenerated. 2346 * generated/sum_i8.c: Regenerated. 2347 * generated/sum_r4.c: Regenerated. 2348 * generated/sum_r8.c: Regenerated. 2349 23502005-04-09 Thomas Koenig <Thomas.Koenig@online.de> 2351 2352 PR libfortran/20163 2353 * runtime/string.c (compare0): Use fstrlen() to 2354 strip trailing blanks from option string. 2355 23562005-04-09 Andrew Pinski <pinskia@physics.uc.edu> 2357 2358 PR fortran/13257 2359 * format.c (parse_format_list): Allow an optional comma 2360 between descriptors. 2361 23622005-04-08 Eric Botcazou <ebotcazou@libertysurf.fr> 2363 2364 * io/backspace.c (unformatted_backspace): Do not dereference 2365 the pointer to the stream. 2366 23672005-04-07 Andrew Pinski <pinskia@physics.uc.edu> 2368 2369 PR libfortran/20766 2370 * configure.ac (extra_ldflags_libgfortran): Set for *-darwin* to 2371 "-Wl,-single_module". 2372 * configure: Regenerate. 2373 * Makefile.am (libgfortran_la_LDFLAGS): Add extra_ldflags_libgfortran. 2374 * Makefile.in: Regenerate. 2375 23762005-04-05 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2377 2378 PR libfortran/20755 2379 * write.c (write_float): A G edit descriptor may locally change 2380 the scale factor, but it needs to be restored afterwards. 2381 23822005-04-03 Dale Ranta <dir@lanl.gov> 2383 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2384 2385 PR libfortran/20068 2386 PR libfortran/20125 2387 PR libfortran/20156 2388 PR libfortran/20471 2389 * io/backspace.c (unformatted_backspace): Fix error in arithmetic. 2390 (st_backspace): When in WRITING mode, we flush and falling back 2391 into READING mode. In all cases, correctly position the stream. 2392 23932005-03-31 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2394 2395 PR libfortran/20660 2396 * io/inquire.c (inquire_via_unit): Non-opened units should still be 2397 reported by an INQUIRE statement as existing. 2398 * io/transfer.c (data_transfer_init): Never accept negative units. 2399 24002005-03-29 Dale Ranta <dir@lanl.gov> 2401 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2402 2403 PR libfortran/20163 2404 * io/open.c (st_open): call library_end() before returning even if 2405 an error arises. 2406 24072005-03-25 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2408 2409 PR libfortran/19678 2410 * list_read.c (next_char, eat_separator, finish_separator, read_real) 2411 (namelist_read): Add support for '\r' as well as '\n' as EOL 2412 character. 2413 2414 PR libfortran/19679 2415 * list_read.c (read_sf): Add a '\r' in a test to support DOS 2416 line-endings when line length is exceeded. 2417 24182005-03-25 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2419 2420 PR libfortran/15332 2421 * io/format.c (parse_format_list): format node for colon edit 2422 descriptor needs a repeat counter set to 1. 2423 24242005-02-24 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2425 2426 * config.h.in: Regenerate. 2427 24282005-02-23 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2429 2430 PR libfortran/18025 2431 * write.c (output_float): Handling the "F0.d" format similarly as 2432 commercial compilers. 2433 24342005-03-22 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2435 2436 * Makefile.am: Added new files. 2437 * Makefile.in: Regenerate. 2438 * aclocal.m4: Regenerate. 2439 * configure.ac: add checks for signal.h headers file, as well as 2440 following functions: chdir, strerror, getlogin, gethostname, kill, 2441 link, symlink, perror, sleep, time. 2442 * configure: Regenerate. 2443 * intrinsics/chdir.c, intrinsics/gerror.c, intrinsics/getlog.c, 2444 intrinsics/hostnm.c, intrinsics/ierrno.c, intrinsics/kill.c, 2445 intrinsics/link.c, intrinsics/perror.c, intrinsics/rename.c, 2446 intrinsics/sleep.c, intrinsics/symlnk.c, intrinsics/time.c: Newly 2447 implementend g77 intrinsics. 2448 24492005-03-21 Zack Weinberg <zack@codesourcery.com> 2450 2451 * configure.ac: Do not invoke TL_AC_GCC_VERSION. 2452 In all substitutions, leave gcc_version to be expanded by the Makefile. 2453 * aclocal.m4, configure: Regenerate. 2454 * Makefile.am: Set gcc_version. 2455 * Makefile.in: Regenerate. 2456 24572005-03-16 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2458 2459 PR libfortran/20257 2460 * open.c (new_unit): set record length to max_offset rather than 2461 using a hard-coded limit (which was too low). 2462 24632005-03-16 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2464 2465 PR libfortran/20480 2466 * write.c (output_float): special check when writing 0.0 with 2467 EN and ES formats. 2468 24692005-03-11 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2470 2471 PR libfortran/20124 2472 * write.c (output_float): Adds a nzero_real variable to store 2473 the number of leading zeros whatever the format width is. Corrects 2474 the rounding of numbers less than 10^(-width). Fixes typo in an 2475 error message. Updates copyright years 2476 24772005-02-27 Toon Moene <toon@moene.indiv.nluug.nl> 2478 2479 * runtime/environ.c: Update copyright years. 2480 24812005-02-27 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2482 2483 * io/write.c: Update copyright years. 2484 24852005-02-27 Francois-Xavier Coudert <coudert@clipper.ens.fr> 2486 2487 PR libfortran/20101 2488 * io/write.c (output_float): Added special check for value 0.0 in 2489 PE format. 2490 24912005-02-27 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2492 2493 * io/write.c (output_float): Fix typo in condition. 2494 24952005-02-25 Peter O'Gorman <peter@pogma.com> 2496 Toon Moene <toon@moene.indiv.nluug.nl> 2497 2498 PR libfortran/17748 2499 * runtime/environ.c: Remove references to environ. 2500 (show_variables): remove GFORTRAN_UNBUFFERED_* and 2501 GFORTRAN_NAME_* because they require environ. 2502 (pattern_scan): Remove function. 2503 25042005-02-22 Paul Thomas <paulthomas2@wannado.fr> 2505 Bud Davis <bdavis@gfortran.org> 2506 2507 * io/list_read.c (read_real): Handle separators properly 2508 in list directed read. 2509 25102005-02-21 Bud Davis <bdavis@gfortran.org> 2511 2512 PR fortran/20086 2513 * io/transfer.c (write_constant_string): accept an 'h' as 2514 the start of a hollerith format string. 2515 25162005-02-21 Eric Botcazou <ebotcazou@libertysurf.fr> 2517 2518 PR libfortran/19302 2519 * intrinsics/c99_functions.c (nextafterf): Special-case infinite 2520 numbers. 2521 25222005-02-21 Steven G. Kargl <kargls@comcast.net> 2523 2524 * io/write.c (output_float): Typo in error meesage. 2525 25262005-02-20 Steven G. Kargl <kargls@comcast.net> 2527 2528 PR 20085 2529 * intrinsic/args.c (iargc): Off by 1. 2530 25312005-02-19 Steven G. Kargl <kargls@comcast.net> 2532 2533 * intrinsic/date_and_time.c: Fix conformance problems. 2534 25352005-02-01 Paul Thomas <paulthomas2@wanadoo.fr> 2536 2537 PR libfortran/19363 2538 PR libfortran/19691 2539 * libgfortran.h (isfinite): Work around broken isfinite(x) in Cygwin. 2540 25412005-01-30 Bud Davis <bdavis@gfortran.org> 2542 2543 PR fortran/19647 2544 * io/inquire.c (inquire_via_unit): Use correct variable for 2545 pad. 2546 25472005-01-29 Thomas Koenig <Thomas.Koenig@online.de> 2548 2549 PR libfortran/19595 2550 * io/transfer.c (data_transfer_init): eor requires advance="NO". 2551 25522005-01-25 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2553 2554 PR libfortran/19524 2555 * io/read.c (read_f): Don't free uninitialized pointer. 2556 25572005-01-23 James A. Morrison <phython@gcc.gnu.org> 2558 Paul Brook <paul@codesourcery.com> 2559 2560 PR fortran/19294 2561 * Makefile.am: Add transpose_c4.c and transpose_c8.c. 2562 * intrinsics/cshift0.c: Use separate optimized loops for complex types. 2563 * m4/transpose.m4: Include type letter in function name. 2564 * Makefile.in: Regenerate. 2565 * generated/transpose_*.c: Regenerate. 2566 25672005-01-22 Thomas Koenig <Thomas.Koenig@online.de> 2568 2569 PR libfortran/19451 2570 * io/transfer.c (finalize_transfer): Don't do anything if 2571 there is an error condition. 2572 25732005-01-22 David Edelsohn <edelsohn@gnu.org> 2574 2575 PR libfortran/19052 2576 * libgfortran.h (options_t): Add stderr_unit. 2577 * io/io.h (error_stream): Declare. 2578 * io/open.c (new_unit): Do not terminate abnormally if opening 2579 file preconnected to stdin, stdout, or stderr. 2580 * io/unit.c (init_units): Initialize stderr_unit. 2581 * io/unix.c (error_stream): New function. 2582 * runtime/environ.c (GFORTRAN_STDERR_UNIT): New environment variable. 2583 25842005-01-22 Thomas Koenig <Thomas.Koenig@online.de> 2585 2586 PR libfortran/18982 2587 * io/unix.c (regular_file): No need to change flags->action 2588 if an error occurs. Document this. 2589 No need to call stat() for STATUS_OLD, open() will 2590 fail anyway. 2591 For ACTION_UNSPECIFIED, try open for read-write, then for 2592 read-only if open fails with EACCES, then for write-only 2593 if that fails with EACCES again. 2594 * io/unix.c (open_external): Document changed behavior of 2595 regular_file. 2596 25972005-01-22 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> 2598 2599 PR fortran/19194 2600 * io/io.h (st_parameter): Use 'GFC_INTEGER_4' instead of 'int', 2601 use CHARACTER macro for definition of string valued paramters. 2602 26032005-01-22 Bud Davis <bdavis9659@comcast.net> 2604 2605 PR fortran/19314 2606 * io/inquire.c(inquire_via_unit): implement POSITION=. 2607 * io/transfer.c(next_record): update position for 2608 INQUIRE. 2609 * io/rewind.c(st_rewind): update position for 2610 INQUIRE. 2611 26122005-01-16 Bud Davis <bdavis9659@comcast.net> 2613 2614 PR fortran/18778 2615 * io/transfer.c (us_read): no bytes available is not a 2616 runtime error. 2617 26182005-01-15 Bud Davis <bdavis9659@comcast.net> 2619 2620 PR fortran/18983 2621 * io/transfer.c (st_write_done): only truncate when it 2622 is required. 2623 26242005-01-12 Toon Moene <toon@moene.indiv.nluug.nl> 2625 2626 PR libfortran/19280 2627 c99_protos.h: License changed to GPL+exception. 2628 libgfortran.h: Ditto. 2629 intrinsics/abort.c: Ditto. 2630 intrinsics/args.c: Ditto. 2631 intrinsics/associated.c: Ditto. 2632 intrinsics/bessel.c: Ditto. 2633 intrinsics/c99_functions.c: Ditto. 2634 intrinsics/cpu_time.c: Ditto. 2635 intrinsics/cshift0.c: Ditto. 2636 intrinsics/date_and_time.c: Ditto. 2637 intrinsics/env.c: Ditto. 2638 intrinsics/eoshift0.c: Ditto. 2639 intrinsics/eoshift2.c: Ditto. 2640 intrinsics/erf.c: Ditto. 2641 intrinsics/etime.c: Ditto. 2642 intrinsics/exit.c: Ditto. 2643 intrinsics/flush.c: Ditto. 2644 intrinsics/fnum.c: Ditto. 2645 intrinsics/getXid.c: Ditto. 2646 intrinsics/getcwd.c: Ditto. 2647 intrinsics/ishftc.c: Ditto. 2648 intrinsics/mvbits.c: Ditto. 2649 intrinsics/pack_generic.c: Ditto. 2650 intrinsics/rand.c: Ditto. 2651 intrinsics/random.c: Ditto. 2652 intrinsics/reshape_generic.c: Ditto. 2653 intrinsics/reshape_packed.c: Ditto. 2654 intrinsics/size.c: Ditto. 2655 intrinsics/spread_generic.c: Ditto. 2656 intrinsics/stat.c: Ditto. 2657 intrinsics/string_intrinsics.c: Ditto. 2658 intrinsics/system.c: Ditto. 2659 intrinsics/system_clock.c: Ditto. 2660 intrinsics/transpose_generic.c: Ditto. 2661 intrinsics/umask.c: Ditto. 2662 intrinsics/unlink.c: Ditto. 2663 intrinsics/unpack_generic.c: Ditto. 2664 io/backspace.c: Ditto. 2665 io/close.c: Ditto. 2666 io/endfile.c: Ditto. 2667 io/format.c: Ditto. 2668 io/inquire.c: Ditto. 2669 io/io.h: Ditto. 2670 io/list_read.c: Ditto. 2671 io/lock.c: Ditto. 2672 io/open.c: Ditto. 2673 io/read.c: Ditto. 2674 io/rewind.c: Ditto. 2675 io/transfer.c: Ditto. 2676 io/unit.c: Ditto. 2677 io/unix.c: Ditto. 2678 io/write.c: Ditto. 2679 m4/all.m4: Ditto. 2680 m4/any.m4: Ditto. 2681 m4/cexp.m4: Ditto. 2682 m4/chyp.m4: Ditto. 2683 m4/count.m4: Ditto. 2684 m4/cshift1.m4: Ditto. 2685 m4/ctrig.m4: Ditto. 2686 m4/dotprod.m4: Ditto. 2687 m4/dotprodc.m4: Ditto. 2688 m4/dotprodl.m4: Ditto. 2689 m4/eoshift1.m4: Ditto. 2690 m4/eoshift3.m4: Ditto. 2691 m4/exponent.m4: Ditto. 2692 m4/fraction.m4: Ditto. 2693 m4/head.m4: Ditto. 2694 m4/iforeach.m4: Ditto. 2695 m4/ifunction.m4: Ditto. 2696 m4/in_pack.m4: Ditto. 2697 m4/in_unpack.m4: Ditto. 2698 m4/iparm.m4: Ditto. 2699 m4/matmul.m4: Ditto. 2700 m4/matmull.m4: Ditto. 2701 m4/maxloc0.m4: Ditto. 2702 m4/maxloc1.m4: Ditto. 2703 m4/maxval.m4: Ditto. 2704 m4/minloc0.m4: Ditto. 2705 m4/minloc1.m4: Ditto. 2706 m4/minval.m4: Ditto. 2707 m4/mtype.m4: Ditto. 2708 m4/nearest.m4: Ditto. 2709 m4/pow.m4: Ditto. 2710 m4/product.m4: Ditto. 2711 m4/reshape.m4: Ditto. 2712 m4/set_exponent.m4: Ditto. 2713 m4/shape.m4: Ditto. 2714 m4/specific.m4: Ditto. 2715 m4/specific2.m4: Ditto. 2716 m4/sum.m4: Ditto. 2717 m4/transpose.m4: Ditto. 2718 m4/types.m4: Ditto. 2719 runtime/environ.c: Ditto. 2720 runtime/error.c: Ditto. 2721 runtime/in_pack_generic.c: Ditto. 2722 runtime/in_unpack_generic.c: Ditto. 2723 runtime/main.c: Ditto. 2724 runtime/memory.c: Ditto. 2725 runtime/normalize.c: Ditto. 2726 runtime/pause.c: Ditto. 2727 runtime/select.c: Ditto. 2728 runtime/stop.c: Ditto. 2729 runtime/string.c: Ditto. 2730 generated/_abs_c4.f90: Regenerated. 2731 generated/_abs_c8.f90: Regenerated. 2732 generated/_abs_i4.f90: Regenerated. 2733 generated/_abs_i8.f90: Regenerated. 2734 generated/_abs_r4.f90: Regenerated. 2735 generated/_abs_r8.f90: Regenerated. 2736 generated/_acos_r4.f90: Regenerated. 2737 generated/_acos_r8.f90: Regenerated. 2738 generated/_aint_r4.f90: Regenerated. 2739 generated/_aint_r8.f90: Regenerated. 2740 generated/_anint_r4.f90: Regenerated. 2741 generated/_anint_r8.f90: Regenerated. 2742 generated/_asin_r4.f90: Regenerated. 2743 generated/_asin_r8.f90: Regenerated. 2744 generated/_atan2_r4.f90: Regenerated. 2745 generated/_atan2_r8.f90: Regenerated. 2746 generated/_atan_r4.f90: Regenerated. 2747 generated/_atan_r8.f90: Regenerated. 2748 generated/_conjg_c4.f90: Regenerated. 2749 generated/_conjg_c8.f90: Regenerated. 2750 generated/_cos_c4.f90: Regenerated. 2751 generated/_cos_c8.f90: Regenerated. 2752 generated/_cos_r4.f90: Regenerated. 2753 generated/_cos_r8.f90: Regenerated. 2754 generated/_cosh_r4.f90: Regenerated. 2755 generated/_cosh_r8.f90: Regenerated. 2756 generated/_dim_i4.f90: Regenerated. 2757 generated/_dim_i8.f90: Regenerated. 2758 generated/_dim_r4.f90: Regenerated. 2759 generated/_dim_r8.f90: Regenerated. 2760 generated/_exp_c4.f90: Regenerated. 2761 generated/_exp_c8.f90: Regenerated. 2762 generated/_exp_r4.f90: Regenerated. 2763 generated/_exp_r8.f90: Regenerated. 2764 generated/_log10_r4.f90: Regenerated. 2765 generated/_log10_r8.f90: Regenerated. 2766 generated/_log_c4.f90: Regenerated. 2767 generated/_log_c8.f90: Regenerated. 2768 generated/_log_r4.f90: Regenerated. 2769 generated/_log_r8.f90: Regenerated. 2770 generated/_mod_i4.f90: Regenerated. 2771 generated/_mod_i8.f90: Regenerated. 2772 generated/_mod_r4.f90: Regenerated. 2773 generated/_mod_r8.f90: Regenerated. 2774 generated/_sign_i4.f90: Regenerated. 2775 generated/_sign_i8.f90: Regenerated. 2776 generated/_sign_r4.f90: Regenerated. 2777 generated/_sign_r8.f90: Regenerated. 2778 generated/_sin_c4.f90: Regenerated. 2779 generated/_sin_c8.f90: Regenerated. 2780 generated/_sin_r4.f90: Regenerated. 2781 generated/_sin_r8.f90: Regenerated. 2782 generated/_sinh_r4.f90: Regenerated. 2783 generated/_sinh_r8.f90: Regenerated. 2784 generated/_sqrt_c4.f90: Regenerated. 2785 generated/_sqrt_c8.f90: Regenerated. 2786 generated/_sqrt_r4.f90: Regenerated. 2787 generated/_sqrt_r8.f90: Regenerated. 2788 generated/_tan_r4.f90: Regenerated. 2789 generated/_tan_r8.f90: Regenerated. 2790 generated/_tanh_r4.f90: Regenerated. 2791 generated/_tanh_r8.f90: Regenerated. 2792 generated/all_l4.c: Regenerated. 2793 generated/all_l8.c: Regenerated. 2794 generated/any_l4.c: Regenerated. 2795 generated/any_l8.c: Regenerated. 2796 generated/count_4_l4.c: Regenerated. 2797 generated/count_4_l8.c: Regenerated. 2798 generated/count_8_l4.c: Regenerated. 2799 generated/count_8_l8.c: Regenerated. 2800 generated/cshift1_4.c: Regenerated. 2801 generated/cshift1_8.c: Regenerated. 2802 generated/dotprod_c4.c: Regenerated. 2803 generated/dotprod_c8.c: Regenerated. 2804 generated/dotprod_i4.c: Regenerated. 2805 generated/dotprod_i8.c: Regenerated. 2806 generated/dotprod_l4.c: Regenerated. 2807 generated/dotprod_l8.c: Regenerated. 2808 generated/dotprod_r4.c: Regenerated. 2809 generated/dotprod_r8.c: Regenerated. 2810 generated/eoshift1_4.c: Regenerated. 2811 generated/eoshift1_8.c: Regenerated. 2812 generated/eoshift3_4.c: Regenerated. 2813 generated/eoshift3_8.c: Regenerated. 2814 generated/exp_c4.c: Regenerated. 2815 generated/exp_c8.c: Regenerated. 2816 generated/exponent_r4.c: Regenerated. 2817 generated/exponent_r8.c: Regenerated. 2818 generated/fraction_r4.c: Regenerated. 2819 generated/fraction_r8.c: Regenerated. 2820 generated/hyp_c4.c: Regenerated. 2821 generated/hyp_c8.c: Regenerated. 2822 generated/in_pack_i4.c: Regenerated. 2823 generated/in_pack_i8.c: Regenerated. 2824 generated/in_unpack_i4.c: Regenerated. 2825 generated/in_unpack_i8.c: Regenerated. 2826 generated/matmul_c4.c: Regenerated. 2827 generated/matmul_c8.c: Regenerated. 2828 generated/matmul_i4.c: Regenerated. 2829 generated/matmul_i8.c: Regenerated. 2830 generated/matmul_l4.c: Regenerated. 2831 generated/matmul_l8.c: Regenerated. 2832 generated/matmul_r4.c: Regenerated. 2833 generated/matmul_r8.c: Regenerated. 2834 generated/maxloc0_4_i4.c: Regenerated. 2835 generated/maxloc0_4_i8.c: Regenerated. 2836 generated/maxloc0_4_r4.c: Regenerated. 2837 generated/maxloc0_4_r8.c: Regenerated. 2838 generated/maxloc0_8_i4.c: Regenerated. 2839 generated/maxloc0_8_i8.c: Regenerated. 2840 generated/maxloc0_8_r4.c: Regenerated. 2841 generated/maxloc0_8_r8.c: Regenerated. 2842 generated/maxloc1_4_i4.c: Regenerated. 2843 generated/maxloc1_4_i8.c: Regenerated. 2844 generated/maxloc1_4_r4.c: Regenerated. 2845 generated/maxloc1_4_r8.c: Regenerated. 2846 generated/maxloc1_8_i4.c: Regenerated. 2847 generated/maxloc1_8_i8.c: Regenerated. 2848 generated/maxloc1_8_r4.c: Regenerated. 2849 generated/maxloc1_8_r8.c: Regenerated. 2850 generated/maxval_i4.c: Regenerated. 2851 generated/maxval_i8.c: Regenerated. 2852 generated/maxval_r4.c: Regenerated. 2853 generated/maxval_r8.c: Regenerated. 2854 generated/minloc0_4_i4.c: Regenerated. 2855 generated/minloc0_4_i8.c: Regenerated. 2856 generated/minloc0_4_r4.c: Regenerated. 2857 generated/minloc0_4_r8.c: Regenerated. 2858 generated/minloc0_8_i4.c: Regenerated. 2859 generated/minloc0_8_i8.c: Regenerated. 2860 generated/minloc0_8_r4.c: Regenerated. 2861 generated/minloc0_8_r8.c: Regenerated. 2862 generated/minloc1_4_i4.c: Regenerated. 2863 generated/minloc1_4_i8.c: Regenerated. 2864 generated/minloc1_4_r4.c: Regenerated. 2865 generated/minloc1_4_r8.c: Regenerated. 2866 generated/minloc1_8_i4.c: Regenerated. 2867 generated/minloc1_8_i8.c: Regenerated. 2868 generated/minloc1_8_r4.c: Regenerated. 2869 generated/minloc1_8_r8.c: Regenerated. 2870 generated/minval_i4.c: Regenerated. 2871 generated/minval_i8.c: Regenerated. 2872 generated/minval_r4.c: Regenerated. 2873 generated/minval_r8.c: Regenerated. 2874 generated/nearest_r4.c: Regenerated. 2875 generated/nearest_r8.c: Regenerated. 2876 generated/pow_c4_i4.c: Regenerated. 2877 generated/pow_c4_i8.c: Regenerated. 2878 generated/pow_c8_i4.c: Regenerated. 2879 generated/pow_c8_i8.c: Regenerated. 2880 generated/pow_i4_i4.c: Regenerated. 2881 generated/pow_i4_i8.c: Regenerated. 2882 generated/pow_i8_i4.c: Regenerated. 2883 generated/pow_i8_i8.c: Regenerated. 2884 generated/pow_r4_i4.c: Regenerated. 2885 generated/pow_r4_i8.c: Regenerated. 2886 generated/pow_r8_i4.c: Regenerated. 2887 generated/pow_r8_i8.c: Regenerated. 2888 generated/product_c4.c: Regenerated. 2889 generated/product_c8.c: Regenerated. 2890 generated/product_i4.c: Regenerated. 2891 generated/product_i8.c: Regenerated. 2892 generated/product_r4.c: Regenerated. 2893 generated/product_r8.c: Regenerated. 2894 generated/reshape_i4.c: Regenerated. 2895 generated/reshape_i8.c: Regenerated. 2896 generated/set_exponent_r4.c: Regenerated. 2897 generated/set_exponent_r8.c: Regenerated. 2898 generated/shape_i4.c: Regenerated. 2899 generated/shape_i8.c: Regenerated. 2900 generated/sum_c4.c: Regenerated. 2901 generated/sum_c8.c: Regenerated. 2902 generated/sum_i4.c: Regenerated. 2903 generated/sum_i8.c: Regenerated. 2904 generated/sum_r4.c: Regenerated. 2905 generated/sum_r8.c: Regenerated. 2906 generated/transpose_i4.c: Regenerated. 2907 generated/transpose_i8.c: Regenerated. 2908 generated/trig_c4.c: Regenerated. 2909 generated/trig_c8.c: Regenerated. 2910 29112005-01-07 Bud Davis <bdavis9659@comcast.net> 2912 2913 PR fortran/18398 2914 * transfer.c (next_record_r): always skip the 2915 eol search if it was found during sf_read. 2916 2917 2918Copyright (C) 2005 Free Software Foundation, Inc. 2919 2920Copying and distribution of this file, with or without modification, 2921are permitted in any medium without royalty provided the copyright 2922notice and this notice are preserved. 2923