12006-12-30 Thomas Koenig <Thomas.Koenig@online.de> 2 3 PR libfortran/30321 4 * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): 5 Check for extents < 0 for zero-sized arrays. If 6 no retarray has been specified and the size is zero, 7 return early. 8 (`m'name`'rtype_qual`_'atype_code): Likewise. 9 * generated/all_l16.c: Regenerated. 10 * generated/all_l4.c: Regenerated. 11 * generated/all_l8.c: Regenerated. 12 * generated/any_l16.c: Regenerated. 13 * generated/any_l4.c: Regenerated. 14 * generated/any_l8.c: Regenerated. 15 * generated/count_16_l16.c: Regenerated. 16 * generated/count_16_l4.c: Regenerated. 17 * generated/count_16_l8.c: Regenerated. 18 * generated/count_4_l16.c: Regenerated. 19 * generated/count_4_l4.c: Regenerated. 20 * generated/count_4_l8.c: Regenerated. 21 * generated/count_8_l16.c: Regenerated. 22 * generated/count_8_l4.c: Regenerated. 23 * generated/count_8_l8.c: Regenerated. 24 * generated/cshift1_16.c: Regenerated. 25 * generated/cshift1_4.c: Regenerated. 26 * generated/cshift1_8.c: Regenerated. 27 * generated/maxloc1_16_i16.c: Regenerated. 28 * generated/maxloc1_16_i4.c: Regenerated. 29 * generated/maxloc1_16_i8.c: Regenerated. 30 * generated/maxloc1_16_r10.c: Regenerated. 31 * generated/maxloc1_16_r16.c: Regenerated. 32 * generated/maxloc1_16_r4.c: Regenerated. 33 * generated/maxloc1_16_r8.c: Regenerated. 34 * generated/maxloc1_4_i16.c: Regenerated. 35 * generated/maxloc1_4_i4.c: Regenerated. 36 * generated/maxloc1_4_i8.c: Regenerated. 37 * generated/maxloc1_4_r10.c: Regenerated. 38 * generated/maxloc1_4_r16.c: Regenerated. 39 * generated/maxloc1_4_r4.c: Regenerated. 40 * generated/maxloc1_4_r8.c: Regenerated. 41 * generated/maxloc1_8_i16.c: Regenerated. 42 * generated/maxloc1_8_i4.c: Regenerated. 43 * generated/maxloc1_8_i8.c: Regenerated. 44 * generated/maxloc1_8_r10.c: Regenerated. 45 * generated/maxloc1_8_r16.c: Regenerated. 46 * generated/maxloc1_8_r4.c: Regenerated. 47 * generated/maxloc1_8_r8.c: Regenerated. 48 * generated/maxval_i16.c: Regenerated. 49 * generated/maxval_i4.c: Regenerated. 50 * generated/maxval_i8.c: Regenerated. 51 * generated/maxval_r10.c: Regenerated. 52 * generated/maxval_r16.c: Regenerated. 53 * generated/maxval_r4.c: Regenerated. 54 * generated/maxval_r8.c: Regenerated. 55 * generated/minloc1_16_i16.c: Regenerated. 56 * generated/minloc1_16_i4.c: Regenerated. 57 * generated/minloc1_16_i8.c: Regenerated. 58 * generated/minloc1_16_r10.c: Regenerated. 59 * generated/minloc1_16_r16.c: Regenerated. 60 * generated/minloc1_16_r4.c: Regenerated. 61 * generated/minloc1_16_r8.c: Regenerated. 62 * generated/minloc1_4_i16.c: Regenerated. 63 * generated/minloc1_4_i4.c: Regenerated. 64 * generated/minloc1_4_i8.c: Regenerated. 65 * generated/minloc1_4_r10.c: Regenerated. 66 * generated/minloc1_4_r16.c: Regenerated. 67 * generated/minloc1_4_r4.c: Regenerated. 68 * generated/minloc1_4_r8.c: Regenerated. 69 * generated/minloc1_8_i16.c: Regenerated. 70 * generated/minloc1_8_i4.c: Regenerated. 71 * generated/minloc1_8_i8.c: Regenerated. 72 * generated/minloc1_8_r10.c: Regenerated. 73 * generated/minloc1_8_r16.c: Regenerated. 74 * generated/minloc1_8_r4.c: Regenerated. 75 * generated/minloc1_8_r8.c: Regenerated. 76 * generated/minval_i16.c: Regenerated. 77 * generated/minval_i4.c: Regenerated. 78 * generated/minval_i8.c: Regenerated. 79 * generated/minval_r10.c: Regenerated. 80 * generated/minval_r16.c: Regenerated. 81 * generated/minval_r4.c: Regenerated. 82 * generated/minval_r8.c: Regenerated. 83 * generated/product_c10.c: Regenerated. 84 * generated/product_c16.c: Regenerated. 85 * generated/product_c4.c: Regenerated. 86 * generated/product_c8.c: Regenerated. 87 * generated/product_i16.c: Regenerated. 88 * generated/product_i4.c: Regenerated. 89 * generated/product_i8.c: Regenerated. 90 * generated/product_r10.c: Regenerated. 91 * generated/product_r16.c: Regenerated. 92 * generated/product_r4.c: Regenerated. 93 * generated/product_r8.c: Regenerated. 94 * generated/sum_c10.c: Regenerated. 95 * generated/sum_c16.c: Regenerated. 96 * generated/sum_c4.c: Regenerated. 97 * generated/sum_c8.c: Regenerated. 98 * generated/sum_i16.c: Regenerated. 99 * generated/sum_i4.c: Regenerated. 100 * generated/sum_i8.c: Regenerated. 101 * generated/sum_r10.c: Regenerated. 102 * generated/sum_r16.c: Regenerated. 103 * generated/sum_r4.c: Regenerated. 104 * generated/sum_r8.c: Regenerated. 105 1062006-12-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> 107 108 PR libfortran/30014 109 *io/io.h (st_parameter_dt): Change *size and *iolength type to 110 GFC_IO_INT. 111 *io/transfer.c (finalize_transfer): Cast dtp->u.p.size_used to 112 GFC_IO_INT. (iolength_transfer): Cast size * nelems to GFC_IO_INT. 113 1142006-12-17 Tobias Burnus <burnus@net-b.de> 115 116 * intrinsics/associated.c: Check for associated(NULL,NULL). 117 1182006-12-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> 119 120 PR libfortran/30145 121 * io/transfer.c (transfer_array): Check for negative extent. 122 1232006-12-13 Richard Guenther <rguenther@suse.de> 124 125 PR fortran/30115 126 * runtime/memory.c (allocate_size): Change interface to 127 void *()(size_t, GFC_INTEGER_4 *). 128 (allocate): Likewise. 129 (allocate64): Likewise. 130 (allocate_array): Change interface to 131 void *()(void *, size_t, GFC_INTEGER_4 *). 132 (allocate64_array): Likewise. 133 (deallocate): Change interface to 134 void ()(void *, GFC_INTEGER_4 *). 135 1362006-12-06 Francois-Xavier Coudert <coudert@clipper.ens.fr> 137 138 PR libfortran/29810 139 * intrinsics/c99_functions.c (fmodf, fmodl, floorl): New functions. 140 * c99_protos.h (fmodf, fmodl, floorl): New prototypes. 141 * configure.ac: Check for fmodf, fmod and fmodl. 142 * configure: Regenerate. 143 * config.h.in: Regenerate. 144 1452006-12-06 Thomas Koenig <Thomas.Koenig@online.de> 146 147 PR libfortran/30009 148 PR libfortran/30056 149 * libgfortran.h: Add ERROR_CORRUPT_FILE to error_codes. 150 * runtime/error.c (translate_error): Add handling for 151 ERROR_CORRUPT_FILE. 152 * io/transfer.c (read_block_direct): Add comment about 153 EOR for stream files. 154 Remove test for no bytes left for direct access files. 155 Generate an ERROR_SHORT_RECORD if the read was short. 156 For unformatted sequential files: Check endfile condition. 157 Remove test for no bytes left. End of file here means 158 that the file structure has been corrupted. Pre-position 159 the file for the next record in case of error. 160 (write_buf): Whitespace fix. Subtract the number of bytes 161 written from bytes_left. 162 1632006-12-04 Jerry DeLisle <jvdelisle@gcc.gnu.org> 164 165 PR libfortran/30005 166 * io/open.c: Add errno.h include. 167 (new_unit): Add new error messages with file name for file open. 168 1692006-12-01 Thomas Koenig <Thomas.Koenig@online.de> 170 171 PR libfortran/29568 172 * libgfortran/libgfortran.h (compile_options_t): Add 173 record_marker. (top level): Define GFC_MAX_SUBRECORD_LENGTH. 174 * runtime/compile_options.c (set_record_marker): Change 175 default to four-byte record marker. 176 (set_max_subrecord_length): New function. 177 * runtime/error.c (translate_error): Change error message 178 for short record on unformatted read. 179 * io/io.h (gfc_unit): Add recl_subrecord, bytes_left_subrecord 180 and continued. 181 * io/file_pos.c (unformatted_backspace): Change default of record 182 marker size to four bytes. Loop over subrecords. 183 * io/open.c: Default recl is max_offset. If 184 compile_options.max_subrecord_length has been set, set set 185 u->recl_subrecord to its value, to the maximum value otherwise. 186 * io/transfer.c (top level): Add prototypes for us_read, us_write, 187 next_record_r_unf and next_record_w_unf. 188 (read_block_direct): Separate codepaths for unformatted direct 189 and unformatted sequential. If a recl has been set by the 190 user, use the number of bytes left for the record if it is smaller 191 than the read request. Loop over subrecords. Set an error if the 192 user has set a recl and the read was short. 193 (write_buf): Separate codepaths for unformatted direct and 194 unformatted sequential. If a recl has been set by the 195 user, use the number of bytes left for the record if it is smaller 196 than the read request. Loop over subrecords. Set an error if the 197 user has set a recl and the read was short. 198 (us_read): Add parameter continued (to indicate that bytes_left 199 should not be intialized). Change default of record marker size 200 to four bytes. Use subrecord. If the subrecord length is smaller than 201 zero, this indicates a continuation. 202 (us_write): Add parameter continued (to indicate that the continued 203 flag should be set). Use subrecord. 204 (pre_position): Use 0 for continued on us_write and us_read calls. 205 (skip_record): New function. 206 (next_record_r_unf): New function. 207 (next_record_r): Use next_record_r_unf. 208 (write_us_marker): Default size for record markers is four bytes. 209 (next_record_w_unf): New function. 210 (next_record_w): Use next_record_w_unf. 211 2122006-11-25 Francois-Xavier Coudert <coudert@clipper.ens.fr> 213 214 * Makefile.am: Remove intrinsics/erf.c and intrinsics/bessel.c. 215 * Makefile.in: Regenerate. 216 * intrinsics/erf.c: Remove. 217 * intrinsics/bessel.c: Remove. 218 * c99_protos.h: Add prototypes for bessel and error functions. 219 * intrinsics/c99_functions.c: Move content for intrinsics/erf.c 220 and intrinsics/bessel.c here. 221 2222006-11-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> 223 224 * io/io.h (unit_flags): Add new flag has_recl. 225 * io.open.c (new_unit): Set flag if RECL= was specified. 226 * io/transfer.c (us_write): If flag set, leave recl as initialized by 227 new_unit. 228 2292006-11-16 Francois-Xavier Coudert <coudert@clipper.ens.fr> 230 231 * io/open.c (new_unit): Format %d expects an int variable. 232 * runtime/error.c (show_locus): Format %d expects an int variable. 233 2342006-11-08 Steven G. Kargl <kargl@gcc.gnu.org> 235 236 * io/read.c (max_value): Hide "int n" in an #ifdef. 237 2382006-11-08 Jerry DeLisle <jvdelisle@gcc.gnu.org> 239 240 PR libfortran/29752 241 * io/transfer.c (finalize_transfer): Flush on ADVANCE_NO. 242 2432006-11-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> 244 245 * io/transfer.c (next_record_w): Fix indentation. 246 2472006-11-04 Jerry DeLisle <jvdelisle@gcc.gnu.org> 248 249 PR libfortran/25545 250 * io/transfer.c (write_block): Cleanup code paths between 251 stream and non-stream I/O. 252 (write_buf): Cleanup. 253 (read_block): Cleanup. 254 (finalize_transfer): Call next_record for '$' edit descriptor handling 255 of internal unit. Cleanup code for readability. 256 2572006-11-03 Francois-Xavier Coudert <coudert@clipper.ens.fr> 258 259 PR libfortran/27895 260 * intrinsics/reshape_generic.c (reshape_internal): Fix so that it 261 works correctly for zero-sized arrays. 262 * m4/reshape.m4: Likewise. 263 * generated/reshape_r16.c: Regenerate. 264 * generated/reshape_c4.c: Regenerate. 265 * generated/reshape_i4.c: Regenerate. 266 * generated/reshape_c16.c: Regenerate. 267 * generated/reshape_r10.c: Regenerate. 268 * generated/reshape_r8.c: Regenerate. 269 * generated/reshape_c10.c: Regenerate. 270 * generated/reshape_c8.c: Regenerate. 271 * generated/reshape_i8.c: Regenerate. 272 * generated/reshape_i16.c: Regenerate. 273 * generated/reshape_r4.c: Regenerate. 274 2752006-10-31 Thomas Koenig <Thomas.Koenig@online.de> 276 277 PR libfortran/29627 278 * libgfortran.h: Add ERROR_SHORT_RECORD 279 * runtime/error.c (translate_error): Add case 280 for ERROR_SHORT_RECORD. 281 * io/transfer.c (read_block_direct): Separate codepaths 282 for stream and record unformatted I/O. Remove unneeded 283 tests for standard input, padding and formatted I/O. 284 If the record is short, read in as much data as possible, 285 then raise the error. 286 2872006-10-30 Tobias Burnus <burnus@net-b.de> 288 289 PR fortran/29452 290 * runtime/string.c (compare0): Check whether string lengths match. 291 2922006-10-29 Francois-Xavier Coudert <coudert@clipper.ens.fr> 293 294 * configure: Regenerate. 295 * Makefile.in: Regenerate. 296 * aclocal.m4: Regenerate. 297 2982006-10-28 Tobias Burnus <burnus@net-b.de> 299 300 PR fortran/29625 301 * io/transfer.c (formatted_transfer_scalar): Allow binary edit 302 descriptors for real variables; give error for BOZ edit 303 descriptor for non-integers when using -std=f*. 304 3052006-10-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> 306 307 PR libfortran/29563 308 * io/list_read.c (next_char): Fix an error in previous commit. 309 3102006-10-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> 311 312 PR libfortran/29563 313 * io/io.h (st_parameter_dt): Add new flag at_eof. 314 * io/list_read.c (next_char): Set flag when EOF and return '\n' to 315 signal EOR. Check flag on next call and jump out. 316 * io/unit.c (get_internal_unit): Initialize new flag. 317 3182006-10-22 Francois-Xavier Coudert <coudert@clipper.ens.fr> 319 320 PR fortran/26025 321 * m4/matmul.m4: Add possible call to gemm routine. 322 * generated/matmul_r8.c: Regenerate. 323 * generated/matmul_r16.c: Regenerate. 324 * generated/matmul_c8.c: Regenerate. 325 * generated/matmul_i8.c: Regenerate. 326 * generated/matmul_c16.c: Regenerate. 327 * generated/matmul_r10.c: Regenerate. 328 * generated/matmul_r4.c: Regenerate. 329 * generated/matmul_c10.c: Regenerate. 330 * generated/matmul_c4.c: Regenerate. 331 * generated/matmul_i4.c: Regenerate. 332 * generated/matmul_i16.c: Regenerate. 333 3342006-10-21 Steven G. Kargl <kargl@gcc.gnu.org> 335 336 * runtime/error.c: Add errno.h 337 (generate_error): Set iostat to errno on OS error. 338 * libgfortran.h: Set ERROR_OS to 5000 339 3402006-10-20 Francois-Xavier Coudert <coudert@clipper.ens.fr> 341 342 * generated/minval_r8.c: Regenerate. 343 * generated/maxloc1_4_r8.c: Regenerate. 344 * generated/minloc1_16_r16.c: Regenerate. 345 * generated/sum_i8.c: Regenerate. 346 * generated/eoshift3_4.c: Regenerate. 347 * generated/any_l16.c: Regenerate. 348 * generated/eoshift1_8.c: Regenerate. 349 * generated/reshape_r16.c: Regenerate. 350 * generated/product_r4.c: Regenerate. 351 * generated/maxloc1_8_i4.c: Regenerate. 352 * generated/maxloc0_4_r4.c: Regenerate. 353 * generated/in_unpack_i8.c: Regenerate. 354 * generated/minloc0_4_r16.c: Regenerate. 355 * generated/reshape_c4.c: Regenerate. 356 * generated/maxloc0_4_r16.c: Regenerate. 357 * generated/minloc1_8_r16.c: Regenerate. 358 * generated/maxloc1_8_r16.c: Regenerate. 359 * generated/in_unpack_i16.c: Regenerate. 360 * generated/maxloc0_8_i8.c: Regenerate. 361 * generated/sum_r16.c: Regenerate. 362 * generated/minloc1_4_r8.c: Regenerate. 363 * generated/maxloc1_16_r16.c: Regenerate. 364 * generated/minloc1_16_i4.c: Regenerate. 365 * generated/maxloc1_16_i4.c: Regenerate. 366 * generated/minloc0_16_i8.c: Regenerate. 367 * generated/maxloc0_16_i8.c: Regenerate. 368 * generated/maxval_r16.c: Regenerate. 369 * generated/count_16_l16.c: Regenerate. 370 * generated/count_8_l8.c: Regenerate. 371 * generated/product_c10.c: Regenerate. 372 * generated/minloc1_8_i4.c: Regenerate. 373 * generated/minloc0_16_i16.c: Regenerate. 374 * generated/eoshift1_16.c: Regenerate. 375 * generated/minloc0_4_r4.c: Regenerate. 376 * generated/product_c4.c: Regenerate. 377 * generated/sum_r4.c: Regenerate. 378 * generated/in_pack_c16.c: Regenerate. 379 * generated/reshape_i4.c: Regenerate. 380 * generated/minloc0_8_i8.c: Regenerate. 381 * generated/minloc1_16_r10.c: Regenerate. 382 * generated/in_pack_c4.c: Regenerate. 383 * generated/all_l16.c: Regenerate. 384 * generated/reshape_c16.c: Regenerate. 385 * generated/maxloc1_8_r8.c: Regenerate. 386 * generated/minval_i16.c: Regenerate. 387 * generated/reshape_r10.c: Regenerate. 388 * generated/maxval_i4.c: Regenerate. 389 * generated/any_l4.c: Regenerate. 390 * generated/minval_i8.c: Regenerate. 391 * generated/maxloc1_4_i8.c: Regenerate. 392 * generated/maxloc0_16_i16.c: Regenerate. 393 * generated/maxloc0_8_r4.c: Regenerate. 394 * generated/minloc1_4_i16.c: Regenerate. 395 * generated/minloc0_4_r10.c: Regenerate. 396 * generated/maxloc1_4_i16.c: Regenerate. 397 * generated/minloc0_8_i16.c: Regenerate. 398 * generated/maxloc0_4_r10.c: Regenerate. 399 * generated/maxloc0_8_i16.c: Regenerate. 400 * generated/minloc1_8_r10.c: Regenerate. 401 * generated/product_i4.c: Regenerate. 402 * generated/minloc0_16_r4.c: Regenerate. 403 * generated/sum_c16.c: Regenerate. 404 * generated/maxloc1_8_r10.c: Regenerate. 405 * generated/maxloc0_16_r4.c: Regenerate. 406 * generated/minloc1_16_r8.c: Regenerate. 407 * generated/maxloc0_4_i4.c: Regenerate. 408 * generated/maxloc1_16_r8.c: Regenerate. 409 * generated/cshift1_4.c: Regenerate. 410 * generated/sum_r10.c: Regenerate. 411 * generated/sum_c4.c: Regenerate. 412 * generated/maxloc1_16_r10.c: Regenerate. 413 * generated/count_4_l16.c: Regenerate. 414 * generated/in_pack_i4.c: Regenerate. 415 * generated/minloc1_8_r8.c: Regenerate. 416 * generated/count_4_l4.c: Regenerate. 417 * generated/maxval_r10.c: Regenerate. 418 * generated/minloc1_4_i8.c: Regenerate. 419 * generated/in_unpack_c4.c: Regenerate. 420 * generated/minloc0_8_r4.c: Regenerate. 421 * generated/product_i16.c: Regenerate. 422 * generated/minloc0_16_r16.c: Regenerate. 423 * generated/reshape_r8.c: Regenerate. 424 * generated/all_l4.c: Regenerate. 425 * generated/in_pack_c10.c: Regenerate. 426 * generated/minloc0_4_i4.c: Regenerate. 427 * generated/reshape_c10.c: Regenerate. 428 * generated/minval_r4.c: Regenerate. 429 * generated/maxloc1_4_r4.c: Regenerate. 430 * generated/sum_i4.c: Regenerate. 431 * generated/count_16_l8.c: Regenerate. 432 * generated/maxval_r8.c: Regenerate. 433 * generated/eoshift1_4.c: Regenerate. 434 * generated/eoshift3_8.c: Regenerate. 435 * generated/minval_r16.c: Regenerate. 436 * generated/product_r8.c: Regenerate. 437 * generated/maxloc1_8_i8.c: Regenerate. 438 * generated/maxloc0_4_r8.c: Regenerate. 439 * generated/maxloc0_16_r16.c: Regenerate. 440 * generated/in_unpack_i4.c: Regenerate. 441 * generated/sum_c10.c: Regenerate. 442 * generated/minloc1_4_r16.c: Regenerate. 443 * generated/maxloc1_4_r16.c: Regenerate. 444 * generated/in_unpack_c16.c: Regenerate. 445 * generated/minloc0_8_r16.c: Regenerate. 446 * generated/reshape_c8.c: Regenerate. 447 * generated/maxloc0_8_r16.c: Regenerate. 448 * generated/maxloc0_8_i4.c: Regenerate. 449 * generated/minloc1_4_r4.c: Regenerate. 450 * generated/minloc0_16_i4.c: Regenerate. 451 * generated/maxloc0_16_i4.c: Regenerate. 452 * generated/minloc1_16_i8.c: Regenerate. 453 * generated/maxloc1_16_i8.c: Regenerate. 454 * generated/count_8_l4.c: Regenerate. 455 * generated/minloc0_16_r10.c: Regenerate. 456 * generated/minloc1_8_i8.c: Regenerate. 457 * generated/minloc0_4_r8.c: Regenerate. 458 * generated/product_r16.c: Regenerate. 459 * generated/product_c8.c: Regenerate. 460 * generated/sum_r8.c: Regenerate. 461 * generated/in_pack_i16.c: Regenerate. 462 * generated/minloc0_8_i4.c: Regenerate. 463 * generated/minloc1_16_i16.c: Regenerate. 464 * generated/reshape_i8.c: Regenerate. 465 * generated/in_pack_c8.c: Regenerate. 466 * generated/maxloc1_8_r4.c: Regenerate. 467 * generated/reshape_i16.c: Regenerate. 468 * generated/minval_r10.c: Regenerate. 469 * generated/minval_i4.c: Regenerate. 470 * generated/maxloc1_4_i4.c: Regenerate. 471 * generated/maxval_i8.c: Regenerate. 472 * generated/eoshift3_16.c: Regenerate. 473 * generated/any_l8.c: Regenerate. 474 * generated/maxloc0_16_r10.c: Regenerate. 475 * generated/minloc0_4_i16.c: Regenerate. 476 * generated/maxloc0_8_r8.c: Regenerate. 477 * generated/maxloc0_4_i16.c: Regenerate. 478 * generated/minloc1_4_r10.c: Regenerate. 479 * generated/minloc1_8_i16.c: Regenerate. 480 * generated/maxloc1_4_r10.c: Regenerate. 481 * generated/minloc0_8_r10.c: Regenerate. 482 * generated/maxloc1_8_i16.c: Regenerate. 483 * generated/in_unpack_c10.c: Regenerate. 484 * generated/maxloc0_8_r10.c: Regenerate. 485 * generated/minloc1_16_r4.c: Regenerate. 486 * generated/maxloc1_16_r4.c: Regenerate. 487 * generated/minloc0_16_r8.c: Regenerate. 488 * generated/product_i8.c: Regenerate. 489 * generated/maxloc0_16_r8.c: Regenerate. 490 * generated/sum_i16.c: Regenerate. 491 * generated/maxloc0_4_i8.c: Regenerate. 492 * generated/cshift1_8.c: Regenerate. 493 * generated/maxloc1_16_i16.c: Regenerate. 494 * generated/minloc1_8_r4.c: Regenerate. 495 * generated/sum_c8.c: Regenerate. 496 * generated/count_8_l16.c: Regenerate. 497 * generated/in_pack_i8.c: Regenerate. 498 * generated/maxval_i16.c: Regenerate. 499 * generated/count_4_l8.c: Regenerate. 500 * generated/minloc1_4_i4.c: Regenerate. 501 * generated/product_c16.c: Regenerate. 502 * generated/reshape_r4.c: Regenerate. 503 * generated/minloc0_8_r8.c: Regenerate. 504 * generated/in_unpack_c8.c: Regenerate. 505 * generated/product_r10.c: Regenerate. 506 * generated/cshift1_16.c: Regenerate. 507 * generated/all_l8.c: Regenerate. 508 * generated/minloc0_4_i8.c: Regenerate. 509 * generated/maxval_r4.c: Regenerate. 510 * generated/count_16_l4.c: Regenerate. 511 5122006-10-19 Francois-Xavier Coudert <coudert@clipper.ens.fr> 513 514 PR libfortran/27895 515 * intrinsics/cshift0.c: Special cases for zero-sized arrays. 516 * intrinsics/pack_generic.c: Likewise. 517 * intrinsics/spread_generic.c: Likewise. 518 5192006-10-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> 520 521 PR libfortran/29277 522 * io/write.c (write_a): Add conversion of LF to CR-LF for systems with 523 #define HAVE_CRLF. 524 5252006-10-18 Tobias Burnus <burnus@net-b.de> 526 527 * m4/in_pack.m4: Fixed a typo. 528 * m4/iforeach.m4: Fixed a typo. 529 * m4/eoshift1.m4: Fixed a typo. 530 * m4/eoshift3.m4: Fixed a typo. 531 * m4/cshift1.m4: Fixed a typo. 532 * m4/in_unpack.m4: Fixed a typo. 533 * m4/reshape.m4: Fixed a typo. 534 * m4/ifunction.m4: Fixed a typo. 535 * runtime/environ.c: Fixed a typo. 536 * runtime/in_pack_generic.c: Fixed a typo. 537 * runtime/in_unpack_generic.c: Fixed a typo. 538 * runtime/memory.c: Fixed a typo. 539 * intrinsics/cshift0.c: Fixed a typo. 540 * intrinsics/cpu_time.c: Fixed a typo. 541 * intrinsics/pack_generic.c: Fixed a typo. 542 * intrinsics/unpack_generic.c: Fixed a typo. 543 * intrinsics/eoshift0.c: Fixed a typo. 544 * intrinsics/eoshift2.c: Fixed a typo. 545 * intrinsics/reshape_generic.c: Fixed a typo. 546 * io/open.c: Fixed a typo. 547 * io/list_read.c: Fixed a typo. 548 * io/io.h: Fixed a typo. 549 * io/transfer.c: Fixed a typo. 550 * io/write.c: Fixed a typo. 551 5522006-10-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> 553 554 PR libfortran/29277 555 * io/list_read.c (next_char): Update strm_pos. 556 (eat_separator): Delete extra call to unget_char. 557 * io/transfer.c (read_block): Use read_sf for formatted stream I/O. 558 (next_record_r): Update strm_pos for formatted stream I/O and handle 559 end-of-record correctly. 560 (next_record_w): Ditto. 561 (next_record): Enable next record (r/w) functions and update strm_pos. 562 (finalize_transfer): Call next_record to finish the record. 563 5642006-10-13 Steven G. Kargl <kargl@gcc.gnu.org> 565 566 * m4/spacing.m4: Use scalbn[f,l] if ldexp[f,l] is unavailable. 567 * m4/rrspacing.m4: Ditto. 568 * generated/spacing_r4.c: Regenerated. 569 * generated/spacing_r8.c: Ditto. 570 * generated/spacing_r10.c: Ditto. 571 * generated/spacing_r16.c: Ditto. 572 * generated/rrspacing_r4.c: Ditto. 573 * generated/rrspacing_r8.c: Ditto. 574 * generated/rrspacing_r10.c: Ditto. 575 * generated/rrspacing_r16.c: Ditto. 576 5772006-10-06 Steven G. Kargl <kargl@gcc.gnu.org> 578 579 PR fortran/15441 580 PR fortran/29312 581 * configure.ac: Add HAVE_LDEXPF, HAVE_LDEXP, and HAVE_LDEXPL 582 * m4/spacing.m4: New file. Use new HAVE_* defines. 583 * m4/rrspacing.m4: Ditto. 584 * Makefile.am: Handle new files. 585 * configure: Regenerated. 586 * Makefile.in: Ditto. 587 * config.h.in: Ditto. 588 * generated/spacing_r4.c: Generated. 589 * generated/spacing_r8.c: Ditto. 590 * generated/spacing_r10.c: Ditto. 591 * generated/spacing_r16.c: Ditto. 592 * generated/rrspacing_r4.c: Ditto. 593 * generated/rrspacing_r8.c: Ditto. 594 * generated/rrspacing_r10.c: Ditto. 595 * generated/rrspacing_r16.c: Ditto. 596 5972006-10-08 Francois-Xavier Coudert <coudert@clipper.ens.fr> 598 599 * intrinsics/hyper.c: Remove file. 600 * intrinsics/c99_functions.c: Add fallback functions asinhf, 601 acoshf and atanhf. 602 * Makefile.am: Remove file intrinsics/hyper.c. 603 * Makefile.in: Regenerate. 604 6052006-10-08 Francois-Xavier Coudert <coudert@clipper.ens.fr> 606 607 * c99_protos.h: Correctly protect definitions of prototypes for 608 asinhf, acoshf and atanhf to be the same as in intrinsics/hyper.c. 609 6102006-10-08 Paul Thomas <pault@gcc.gnu.org> 611 Erik Edelmann <edelmann@gcc.gnu.org> 612 613 PR libfortran/20541 614 * Makefile.in : Add move_alloc. 615 * intrinsics/move_alloc.c: New function. 616 * Makefile.am : Add move_alloc. 617 6182006-10-08 Francois-Xavier Coudert <coudert@clipper.ens.fr> 619 620 PR libfortran/26540 621 * intrinsics/signal.c (signal_sub, signal_sub_int): Use intptr_t 622 if available to cast function pointers to int and back. 623 * configure.ac: Check for intptr_t. 624 * config.h.in: Regenerate. 625 * configure: Regenerate. 626 6272006-10-01 Francois-Xavier Coudert <coudert@clipper.ens.fr> 628 629 PR fortran/16580 630 PR fortran/29288 631 * libgfortran/Makefile.am: Add the new files to the build 632 process, and rules to build them. 633 * libgfortran/Makefile.in: Regenerate. 634 * libgfortran/m4/misc_specifics.m4: New file. 635 * libgfortran/m4/specific.m4: Add new special cases for function 636 with complex argument and real result, like abs_c* and aimag_c*. 637 * libgfortran/intrinsics/f2c_specifics.F90: Add specifics for 638 AIMAG, ASINH, ACOSH and ATANH. 639 * libgfortran/generated/_aimag_c4.F90: New file. 640 * libgfortran/generated/_aimag_c8.F90: New file. 641 * libgfortran/generated/_asinh_r10.F90: New file. 642 * libgfortran/generated/_acosh_r16.F90: New file. 643 * libgfortran/generated/_aimag_c10.F90: New file. 644 * libgfortran/generated/_atanh_r16.F90: New file. 645 * libgfortran/generated/_acosh_r4.F90: New file. 646 * libgfortran/generated/_acosh_r8.F90: New file. 647 * libgfortran/generated/_asinh_r4.F90: New file. 648 * libgfortran/generated/_asinh_r8.F90: New file. 649 * libgfortran/generated/_asinh_r16.F90: New file. 650 * libgfortran/generated/_atanh_r4.F90: New file. 651 * libgfortran/generated/_atanh_r8.F90: New file. 652 * libgfortran/generated/_acosh_r10.F90: New file. 653 * libgfortran/generated/misc_specifics.F90: New file. 654 * libgfortran/generated/_aimag_c16.F90: New file. 655 * libgfortran/generated/_atanh_r10.F90: New file. 656 6572006-10-05 Danny Smith <dannysmith@users.sourceforge.net> 658 659 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ 660 from test. 661 * configure: Regenerate. 662 6632006-10-05 Steven G. Kargl <kargl@gcc.gnu.org> 664 665 * Makefile.am: Use $(M4) instead of m4. 666 * Makefile.in: Regenerated. 667 6682006-10-01 Francois-Xavier Coudert <coudert@clipper.ens.fr> 669 670 * libgfortran.h: Add prototype for internal_unpack_c16. 671 6722006-09-29 Francois-Xavier Coudert <coudert@clipper.ens.fr> 673 674 PR libfortran/18791 675 * m4/specific.m4: Special-case cabs so that its return type is 676 real. Special-case conjg so that their suffices are _4, _8, _10 and 677 _16 instead of _c4, _c8, _c10 and _c16. 678 * intrinsics/f2c_specifics.F90: Special-case conjg functions so 679 that their suffices are _4 and _8 instead of _c4 and _c8. 680 * generated/_conjg_c4.F90: Regenerate. 681 * generated/_conjg_c8.F90: Regenerate. 682 * generated/_conjg_c10.F90: Regenerate. 683 * generated/_conjg_c16.F90: Regenerate. 684 * generated/_abs_c4.F90: Regenerate. 685 * generated/_abs_c8.F90: Regenerate. 686 * generated/_abs_c10.F90: Regenerate. 687 * generated/_abs_c16.F90: Regenerate. 688 6892006-09-29 Steven G. Kargl <kargl@gcc.gnu.org> 690 691 * intrinsics/cpu_time.c: Add cpu_time_10 and cpu_time_16 routines. 692 6932006-09-28 Francois-Xavier Coudert <coudert@clipper.ens.fr> 694D 695 * Makefile.am: Install libgfortranbegin inside compiler libraries 696 directory instead of system libraries directory. 697 * Makefile.in: Regenerate. 698 6992006-09-24 Francois-Xavier Coudert <coudert@clipper.ens.fr> 700 701 * Makefile.am: Remove dependency on gfortypes.h. 702 * Makefile.in: Regenerate. 703 7042006-09-22 Danny Smith <dannysmith@users.sourceforge.net> 705 706 PR libfortran/27964 707 * configure.ac: Check for setmode() function. 708 * configure: Regenerate. 709 * config.h.in: Regenerate. 710 * io/unix.c (output_stream): Force stdout to binary mode. 711 (error_stream): Force stderr to binary mode. 712 7132006-09-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> 714 715 PR libfortran/29099 716 * intrinsics/date_and_time.c (secnds): Fix case of zero time. 717 7182006-09-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> 719 720 PR libfortran/29053 721 * io.h (gfc_unit): Add variable, strm_pos, to track 722 STREAM I/O file position. 723 * file_pos.c (st_rewind): Set strm_pos to beginning. 724 * open.c (new_unit): Initialize strm_pos. 725 * read.c (read_x): Bump strm_pos. 726 * inquire.c (inquire_via_unit): Return strm_pos value. 727 * transfer.c (read_block),(read_block_direct),(write_block) 728 (write_buf): Seek to strm_pos - 1. Update strm_pos when done. 729 (pre_position): Initialize strm_pos. 730 (data_transfer_init): Set strm_pos if DT_HAS_REC. 731 (finalize_transfer): Flush file, no need to update strm_pos. 732 7332006-09-10 Paul Thomas <pault@gcc.gnu.org> 734 735 PR libfortran/28947 736 * m4/matmul.m4: For the case where the second input argument is 737 transposed, ensure that the case with rank (a) == 1 is 738 correctly calculated. 739 * generated/matmul_r4.c: Regenerate. 740 * generated/matmul_r8.c: Regenerate. 741 * generated/matmul_r10.c: Regenerate. 742 * generated/matmul_r16.c: Regenerate. 743 * generated/matmul_c4.c: Regenerate. 744 * generated/matmul_c8.c: Regenerate. 745 * generated/matmul_c10.c: Regenerate. 746 * generated/matmul_c16.c: Regenerate. 747 * generated/matmul_i4.c: Regenerate. 748 * generated/matmul_i8.c: Regenerate. 749 * generated/matmul_i16.c: Regenerate. 750 7512006-08-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> 752 753 PR libfortran/28354 754 * io/write.c: Check for special case of zero precision in format 755 and pre-round the real value. 756 7572006-08-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> 758 759 PR libfortran/25828 760 * libgfortran.h: Rename GFC_LARGE_IO_INT to GFC_IO_INT. 761 * io/file_pos.c (st_backspace): Ignore if access=STREAM. 762 (st_rewind): Handle case of access=STREAM. 763 * io/open.c (access_opt): Add STREAM_ACCESS. 764 (edit_modes): Set current_record to zero only if not STREAM. 765 (new_unit): Initialize maxrec, recl, and last_record for STREAM. 766 * io/read.c (read_x): Advance file position for STREAM. 767 * io/io.h (enum unit_access): Align IOPARM flags with frontend. 768 Add ACCESS_STREAM. Add prototype for is_stream_io () function. 769 Use GFC_IO_INT. 770 * io/inquire.c (inquire_via_unit): Add text for access = "STREAM". 771 * io/unit.c (is_stream_io): New function to return true if access = 772 STREAM. 773 * io/transfer.c (file_mode): Add modes for unformatted stream and 774 formatted stream. (current_mode): Return appropriate file mode based 775 on access flags. 776 (read_block): Handle formatted stream reads. 777 (read_block_direct): Handle unformatted stream reads. 778 (write_block): Handle formatted stream writes. 779 (write_buf): Handle unformatted stream writes. 780 (unformatted_read): Fix up, use temporary for size. 781 (pre_position): Position file for STREAM access. 782 (data_transfer_init): Initialize for stream access, skip irrelevent 783 error checks. 784 (next_record_r),(next_record_w), and (next_record): Do nothing for 785 stream I/O. 786 (finalize_transfer): Flush when all done if stream I/O. 787 7882006-08-12 Francois-Xavier Coudert <coudert@clipper.ens.fr> 789 790 * intrinsics/bessel.c: Add prototypes for all functions. 791 7922006-08-05 Francois-Xavier Coudert <coudert@clipper.ens.fr> 793 794 * intrinsics/access.c (access_func): Remove export directive. 795 7962006-08-02 Thomas Koenig <Thomas.Koenig@online.de> 797 798 * Makefile.in: Regenerate using automake 1.9.6. 799 * aclocal.m4: Revert to previous version. 800 8012006-08-01 Thomas Koenig <Thomas.Koenig@online.de> 802 803 PR libfortran/28452 804 * Makefile.am: Remove normalize.c. 805 * aclocal.m4: Regenerate using aclocal 1.9.3. 806 * Makefile.in: Regenerate using automake 1.9.3. 807 * libgfortran.h: #include <float.h>. 808 Define GFC_REAL_*_DIGITS and GFC_REAL_*_RADIX. 809 Remove prototypes for normalize_r4_i4 and normalize_r8_i8. 810 * intrinsics/random.c (top level): Add prototypes for 811 random_r10, arandom_r10, random_r16 and arandom_r16. 812 (rnumber_4): New static function. 813 (rnumber_8): New static function. 814 (rnumber_10): New static function. 815 (rnumber_16): New static function. 816 (top level): Set to kiss_size to 12 if we have 817 REAL(KIND=16), to 8 otherwise. 818 Define KISS_DEFAULT_SEED_1, KISS_DEFAULT_SEED_2 and 819 KISS_DEFAULT_SEED_3. 820 (kiss_random_kernel): Take argument to differentiate 821 between different random number generators. 822 (random_r4): Add argument to call to kiss_random_kernel, 823 use rnumber_*. 824 (random_r8): Likewise. 825 (random_r10): New function. 826 (random_r16): New function. 827 (arandom_r4): Add argument to call to kiss_random_kernel, 828 use_rnumber_*. 829 (arandom_r8): Likewise. 830 (arandom_r10): New function. 831 (arandom_r16): New function. 832 * intrinsics/rand.c (rand): Use shift and mask. 833 * runtime/normalize.c: Remove. 834 8352006-07-30 Jerry DeLisle <jvdelisle@gcc.gnu.org> 836 837 PR libfortran/28335 838 * file_position.c (st_flush): Add clearer error when UNIT does not 839 exist. Add reference to standard in comment. 840 8412006-07-30 Jerry DeLisle <jvdelisle@gcc.gnu.org> 842 843 PR libfortran/28335 844 * close.c (st_close): Revert previous patch and add comment. 845 * file_position.c (st_flush): Revert previous patch and add comment. 846 8472006-07-30 Francois-Xavier Coudert <coudert@clipper.ens.fr> 848 849 * intrinsics/date_and_time.c: Add functions for GMTIME and LTIME. 850 * intrinsics/access.c: New file. 851 * intrinsics/chmod.c: New file. 852 * configure.ac: Add checks for <sys/wait.h>, access, fork,execl 853 and wait. 854 * Makefile.am: Add new files intrinsics/access.c and 855 intrinsics/chmod.c. 856 * configure: Regenerate. 857 * config.h.in: Regenerate. 858 * Makefile.in: Regenerate. 859 8602006-07-30 Janne Blomqvist <jb@gcc.gnu.org> 861 862 * io/transfer.c (transfer_array): Remove stride0 fix. 863 8642006-07-26 Francois-Xavier Coudert <coudert@clipper.ens.fr> 865 866 * configure.ac: Check for function clock. 867 * Makefile.am: Compile new file intrinsics/clock.c. 868 * intrinsics/clock.c: New file. 869 * Makefile.in: Regenerate. 870 * configure: Regenerate. 871 * config.h.in: Regenerate. 872 * intrinsics/stat.c: Rename the old stat_i?_sub functions to 873 helper functions stat_i?_sub_0, and use them for both STAT and 874 LSTAT. 875 8762006-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> 877 878 PR libfortran/28335 879 * close.c (st_close): Add error when UNIT does not exist. 880 * file_position.c (st_flush): Add error when UNIT does not exist. 881 8822006-07-25 Paolo Bonzini <bonzini@gnu.org> 883 884 PR build/26188 885 * configure: Regenerate. 886 8872006-07-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> 888 889 PR libfortran/25289 890 * libgfortran.h: Add conditional definition of GFC_LARGE_IO_INT type. 891 * io/io.h (st_parameter_dt): Define rec as type GFC_LARGE_IO_INT. 892 8932006-07-21 Jerry DeLisle <jvdelisle@gcc.gnu.org> 894 895 PR libfortran/28339 896 * io/transfer.c (next_record_w): Use next_array_record result to set 897 END_FILE. (write_block): Test for END_FILE before the next write occurs. 898 * io/unit.c (get_internal_unit): Initialize iunit->endfile for internal 899 unit. 900 9012006-07-19 Janne Blomqvist <jb@gcc.gnu.org> 902 903 PR fortran/27919 904 * m4/dotprodc.m4: Remove. 905 * m4/dotprodl.m4: Remove. 906 * m4/dotprod.m4: Remove. 907 * generated/dotprod_*.c: Remove. 908 * Makefile.am: Remove any references to dot_product 909 implementation. 910 * Makefile.in: Regenerated. 911 9122006-07-18 Paolo Bonzini <bonzini@gnu.org> 913 914 * configure: Regenerate. 915 9162006-07-15 Steven G. Kargl <kargls@comcast.net> 917 918 * intrinsics/etime.c: Remove etime_ 919 * libtool-version: Bump from libgfortran.so.1 to libgfortran.so.2 920 9212006-07-12 Francois-Xavier Coudert <coudert@clipper.ens.fr> 922 923 PR fortran/28163 924 * intrinsics/string_intrinsics.c (copy_string): Remove function. 925 9262006-07-04 Francois-Xavier Coudert <coudert@clipper.ens.fr> 927 928 * intrinsics/date_and_time.c (itime0,idate0,itime_i4,itime_i8, 929 idate_i4,idate_i8): New functions. 930 9312006-07-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> 932 933 PR libfortran/27704 934 * runtime/error.c (notify_std): Pass common flags into function. Use 935 flags to show locus of error or warning. 936 * libgfortran.h: Add enum try. Add prototype for notify_std. 937 * io/open.c (edit_modes): Allow status="old" and add extension to 938 allow status="scratch" 939 *io/list_read.c (nml_read_obj): Update call to notify_std. 940 *io/io.h: Remove enum try and prototype for notify_std. 941 *io/transfer.c (read_sf): Update call to notify_std. 942 *io/format.c (parse_format_list): Update call to notify_std. 943 9442006-06-25 Francois-Xavier Coudert <coudert@clipper.ens.fr> 945 946 * io/io.h: Move proto for unit_to_fd... 947 * libgfortran.h: ...here. 948 9492006-06-24 Francois-Xavier Coudert <coudert@clipper.ens.fr> 950 951 * intrinsics/ierrno.c: Don't include "io/io.h". 952 * intrinsics/sleep.c: Likewise. 953 * intrinsics/perror.c: Likewise. 954 * intrinsics/stat.c: Likewise. 955 * intrinsics/kill.c: Likewise. 956 * intrinsics/time.c: Likewise. 957 * intrinsics/fnum.c: Likewise. 958 * intrinsics/rename.c: Likewise. 959 * intrinsics/symlnk.c: Likewise. 960 * intrinsics/chdir.c: Likewise. 961 * intrinsics/link.c: Likewise. 962 * intrinsics/random.c: Don't include "io/io.h". Include <gthr.h>. 963 * intrinsics/rand.c: Likewise. 964 9652006-06-24 Francois-Xavier Coudert <coudert@clipper.ens.fr> 966 967 PR fortran/28094 968 * Makefile.am: Add _mod_r10.F90 and _mod_r16.F90. 969 * Makefile.in: Regenerate. 970 * generated/_mod_r10.F90: New file. 971 * generated/_mod_r16.F90: New file. 972 9732006-06-22 Francois-Xavier Coudert <coudert@clipper.ens.fr> 974 975 PR libfortran/26769 976 * Makefile.am: Add r4 and r8 versions of reshape and transpose. 977 * Makefile.in: Regenerate. 978 * generated/reshape_r4.c: New file. 979 * generated/reshape_r8.c: New file. 980 * generated/transpose_r4.c: New file. 981 * generated/transpose_r8.c: New file. 982 9832006-06-20 Paul Thomas <pault@gcc.gnu.org> 984 985 PR libfortran/28005 986 * m4/matmul.m4: aystride = 1 does not uniquely detect the 987 presence of a temporary transpose; an array element in the 988 first dimension produces the same signature. Detect this 989 using the rank of a and add specific code. 990 * generated/matmul_r4.c: Regenerate. 991 * generated/matmul_r8.c: Regenerate. 992 * generated/matmul_r10.c: Regenerate. 993 * generated/matmul_r16.c: Regenerate. 994 * generated/matmul_c4.c: Regenerate. 995 * generated/matmul_c8.c: Regenerate. 996 * generated/matmul_c10.c: Regenerate. 997 * generated/matmul_c16.c: Regenerate. 998 * generated/matmul_i4.c: Regenerate. 999 * generated/matmul_i8.c: Regenerate. 1000 * generated/matmul_i16.c: Regenerate. 1001 10022006-06-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 1003 1004 PR libgomp/27254 1005 * io/unit.c (get_internal_unit): Initialize and lock thread mutex 1006 for internal units. 1007 10082006-06-06 Janne Blomqvist <jb@gcc.gnu.org> 1009 1010 * m4/in_pack.m4: Add TODO comment about detecting temporaries, 1011 remove test for stride 0, update copyright year. 1012 * m4/transpose.m4: Remove test for stride 0, update copyright 1013 year. 1014 * m4/iforeach.m4: Likewise. 1015 * m4/shape.m4: Likewise. 1016 * m4/in_unpack.m4: Likewise. 1017 * m4/reshape.m4: Likewise. 1018 * m4/ifunction.m4: Likewise. 1019 * m4/matmul.m4: Likewise. 1020 * m4/matmull.m4: Likewise. 1021 * intrinsics/etime.c: Likewise. 1022 * intrinsics/transpose_generic.c: Likewise. 1023 * intrinsics/spread_generic.c: Likewise. 1024 * intrinsics/stat.c: Likewise. 1025 * intrinsics/reshape_generic.c: Likewise. 1026 * intrinsics/random.c: Likewise. 1027 * generated/*: Regenerated from above changed m4 files. 1028 10292006-05-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1030 1031 PR libfortran/27757 1032 * io/unix.c (fd_seek): Set active to zero. 1033 10342006-05-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1035 1036 PR libfortran/27634 1037 * io/format.c (parse_format_list): Allow missing period in format only 1038 if -std=legacy. 1039 10402006-05-28 Thomas Koenig <Thomas.Koenig@online.de> 1041 1042 * intrinsics/string_intrinsics.c (compare_string): 1043 Use memcmp instead of strncmp to avoid tripping over 1044 CHAR(0) in a string. 1045 10462006-05-27 Janne Blomqvist <jb@gcc.gnu.org> 1047 1048 * io/io.h (find_or_create_unit): Correct export declaration. 1049 10502006-05-27 Janne Blomqvist <jb@gcc.gnu.org> 1051 1052 * intrinsics/abort.c (abort_): Remove. 1053 10542006-05-26 Janne Blomqvist <jb@gcc.gnu.org> 1055 1056 * configure.ac: Remove AC_FUNC_MMAP. 1057 * configure: Regenerated. 1058 * Makefile.in: Regenerated. 1059 * config.h.in: Regenerated. 1060 * aclocal.m4: Regenerated. 1061 10622006-05-25 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1063 1064 * intrinsics/associated.c (associated): Zero-sized arrays should 1065 not be reported as ASSOCIATED. 1066 10672006-05-24 Carlos O'Donell <carlos@codesourcery.com> 1068 1069 * Makefile.am: Add install-html target. Add install-html to .PHONY 1070 * Makefile.in: Regenerate. 1071 * aclocal.m4: Regenerate. 1072 10732006-05-20 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1074 1075 PR libfortran/24459 1076 * io/list_read.c (nml_parse_qualifier): Leave loop spec end value 1077 at default value unless -std=f95 or if an array section 1078 is specified in namelist input. Warn if -pedantic. 1079 * io/io.h (st_parameter_dt): Add expanded_read flag. 1080 10812006-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1082 1083 PR libfortran/22423 1084 * io/transfer.c (read_block): Return NULL instead of nothing. 1085 10862006-05-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1087 1088 PR libfortran/27575 1089 * io/transfer.c (read_block): Add check for end file condition. 1090 (read_block_direct): Add check for end file condition. 1091 10922006-05-05 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1093 1094 PR libfortran/26985 1095 * m4/matmul.m4: Correct the condition for the memset call, 1096 and remove the unneeded call to size0. 1097 * generated/matmul_r4.c: Regenerate. 1098 * generated/matmul_r8.c: Regenerate. 1099 * generated/matmul_r10.c: Regenerate. 1100 * generated/matmul_r16.c: Regenerate. 1101 * generated/matmul_c4.c: Regenerate. 1102 * generated/matmul_c8.c: Regenerate. 1103 * generated/matmul_c10.c: Regenerate. 1104 * generated/matmul_c16.c: Regenerate. 1105 * generated/matmul_i4.c: Regenerate. 1106 * generated/matmul_i8.c: Regenerate. 1107 * generated/matmul_i16.c: Regenerate. 1108 11092006-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1110 1111 PR libfortran/27360 1112 * io/list_read.c (read_logical): Free line_buffer and free saved. 1113 11142006-04-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1115 1116 PR libfortran/27304 1117 * io/transfer.c (formatted_transfer_scalar): Generate error if data 1118 descriptors are exhausted. 1119 * io/format.c (next_format0): Fix comment. 1120 11212006-04-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1122 1123 PR libfortran/20257 1124 * io/io.h: Add prototypes for get_internal_unit and free_internal_unit. 1125 * io/unit.c (get_internal_unit): Initialize unit number, not zero. 1126 (free_internal_unit): New function to consolidate freeing memory. 1127 (get_unit): Initialize internal_unit_desc to NULL when unit is 1128 external. 1129 * io/unix.c (mem_close): Check for not NULL before freeing memory. 1130 * io/transfer.c (read_block): Reset bytes_left and skip error if unit 1131 is preconnected and default record length is reached. 1132 (read_block_direct): Ditto. 1133 (write_block): Ditto. 1134 (write_buf): Ditto. 1135 (data_transfer_init): Only flush if not internal unit. 1136 (finalize_transfer): Ditto and delete code to free memory used by 1137 internal units. 1138 (st_read_done): Use new function - free_internal_unit. 1139 (st_write_done): Use new function - free_internal unit. 1140 11412006-04-22 Jakub Jelinek <jakub@redhat.com> 1142 1143 PR fortran/26769 1144 * Makefile.am (i_transpose_c): Add generated/transpose_r16.c. 1145 (i_reshape_c): Add generated/reshape_r16.c. 1146 * Makefile.in: Regenerated. 1147 * generated/transpose_r16.c: Generated new file. 1148 * generated/redhape_r16.c: Generated new file. 1149 11502006-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1151 1152 PR libfortran/27138 1153 * io/list_read.c (eat_line): New function. 1154 (parse_repeat): Use new function and free_saved. 1155 (read_logical): Same. 1156 (read_integer): Use new function. 1157 (parse_real): Use nml_bad_return and new function. 1158 (read_complex): Use new function and free_saved. 1159 (read_real): Same. 1160 11612006-04-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1162 1163 PR libfortran/26766 1164 * io/io.h: Add bit to identify associated unit as internal. 1165 * io/unit.c (get_external_unit): Renamed the find_unit_1 function to 1166 reflect the external unit functionality vs internal unit. 1167 (get_internal_unit): New function to allocate and initialize an internal 1168 unit structure. 1169 (get_unit): Use get_internal_unit and get_external_unit. 1170 (is_internal_unit): Revised to use new bit added in io.h. 1171 * io/transfer.c (data_transfer_init): Fix line width. 1172 (st_read_done): Free memory allocated for internal unit. 1173 (st_write_done): Add test to only flush and truncate when not an 1174 internal unit. Free memory allocated for internal unit. 1175 11762006-04-11 Jakub Jelinek <jakub@redhat.com> 1177 1178 * io/io.h (st_parameter_dt): Revert 2005-12-10 change to 1179 u.pad, fix comment. 1180 (check_st_parameter_dt): New compile time assert. 1181 11822006-04-10 Jakub Jelinek <jakub@redhat.com> 1183 1184 PR libfortran/24685 1185 * io/write.c (MIN_FIELD_WIDTH, STR, STR1): Define. 1186 (output_float): Increase buffer sizes for IEEE quad and IBM extended 1187 long double. 1188 (write_real): Output REAL(16) as 1PG43.34E4 rather than 1PG40.31E4. 1189 11902006-04-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1191 1192 PR libfortran/26890 1193 * io/io.h: Revert change to pad size made on 2006-03-30. 1194 Add comment explaining dependency with fortran/trans-io.c. 1195 11962006-04-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1197 1198 * io/write.c (output_float): Update condition to not error when 1199 decimal precision in format specifier is zero. 1200 12012006-04-01 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1202 1203 * config/fpu-387.h: Use previously added SSE code in all 1204 cases, as it really is the right thing to do. 1205 12062006-03-30 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1207 1208 PR libfortran/26890 1209 * io/io.h: Add size_used to st_parameter_dt, adjust pad size. 1210 *io/transfer.c (data_transfer_init): Initialize size_used to zero. 1211 (read_sf): Use size_used. 1212 (read_block): Likewise. 1213 (read_block_direct): Likewise. 1214 (write_block): Likewise. 1215 (write_buf): Likewise and eliminate erroneous FAILURE return. 1216 (finalize_transfer): Assign value of size_used to *dtp->size. 1217 12182006-03-30 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1219 1220 PR libfortran/26712 1221 * config/fpu-387.h: Add special case for handling of SSE 1222 control bit on i386-darwin. 1223 12242006-03-30 Thomas Koenig <Thomas.Koenig@online.de> 1225 1226 PR fortran/25031 1227 * runtime/memory.c (allocate_array): If stat is present and 1228 the variable is already allocated, free the variable, do 1229 the allocation and set stat. 1230 (allocate_array_64): Likewise. Whitespace fix. 1231 12322006-03-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1233 1234 PR libfortran/26880 1235 * io/file_pos.c (st_rewind): Clear read_bad flag. 1236 12372006-03-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1238 1239 PR libfortran/26661 1240 * io/io.h: Add read_sf so it can be used by read_x. 1241 * io/transfer.c (read_sf): Pass no_error flag to read_sf. Use it to 1242 break out rather than error on EOF or EOR conditions. 1243 (read_block): Update call to read_sf. 1244 (read_block_direct): Ditto. 1245 * io/read.c (read_x): Use the modified read_sf instead of read_block. 1246 12472006-03-25 Thomas Koenig <Thomas.Koenig@online.de> 1248 1249 PR libfortran/26735 1250 * io/transfer.c (data_transfer_init): Set u_flags.convert 1251 on an unopened unit if specified by environment variable 1252 (via get_unformatted_convert) or by compile-time option. 1253 12542006-03-25 Thomas Koenig <Thomas.Koenig@online.de> 1255 1256 PR fortran/26769 1257 * Makefile.am: Add transpose_r10.c and reshape_r10.c. 1258 * aclocal.m4: Regenerate using aclocal 1.9.3. 1259 * Makefile.in: Regenerate using automake 1.9.3. 1260 * m4/iparm.m4 (rtype_ccode): If rtype_letter is `i', 1261 evaluate to rtype_kind, otherwise to rtype_code. 1262 * generated/transpose_r10.c: Add. 1263 * generated/reshape_r10.c: Add. 1264 12652006-03-22 Thomas Koenig <Thomas.Koenig@online.de> 1266 1267 PR fortran/19303 1268 * libgfortran.h (compile_options_t): Add record_marker. 1269 * runtime/compile_options.c (set_record_marker): 1270 New function. 1271 * io/open.c: If we have four-byte record markers, use 1272 GFC_INTEGER_4_HUGE as default record length. 1273 * io/file_pos.c (unformatted_backspace): Handle 1274 different size record markers. 1275 * io/transfer.c (us_read): Likewise. 1276 (us_write): Likewise. 1277 (next_record_r): Likewise. 1278 (write_us_marker): Likewise. 1279 (next_record_w): Likewise. 1280 12812006-03-20 Thomas Koenig <Thomas.Koenig@online.de> 1282 1283 PR fortran/20935 1284 * m4/iforeach.m4: Add SCALAR_FOREACH_FUNCTION macro. 1285 * m4/ifunction.m4: Add SCALAR_ARRAY_FUNCTION macro. 1286 * m4/minloc0.m4: Use SCALAR_FOREACH_FUNCTION. 1287 * m4/minloc1.m4: Use SCALAR_ARRAY_FUNCTION. 1288 * m4/maxloc0.m4: Use SCALAR_FOREACH_FUNCTION. 1289 * m4/maxloc1.m4: Use SCALAR_ARRAY_FUNCTION. 1290 * m4/minval.m4: Likewise. 1291 * m4/maxval.m4: Likewise. 1292 * m4/product.m4: Likewise. 1293 * m4/sum.m4: Likewise. 1294 * minloc0_16_i16.c : Regenerated. 1295 * minloc0_16_i4.c : Regenerated. 1296 * minloc0_16_i8.c : Regenerated. 1297 * minloc0_16_r10.c : Regenerated. 1298 * minloc0_16_r16.c : Regenerated. 1299 * minloc0_16_r4.c : Regenerated. 1300 * minloc0_16_r8.c : Regenerated. 1301 * minloc0_4_i16.c : Regenerated. 1302 * minloc0_4_i4.c : Regenerated. 1303 * minloc0_4_i8.c : Regenerated. 1304 * minloc0_4_r10.c : Regenerated. 1305 * minloc0_4_r16.c : Regenerated. 1306 * minloc0_4_r4.c : Regenerated. 1307 * minloc0_4_r8.c : Regenerated. 1308 * minloc0_8_i16.c : Regenerated. 1309 * minloc0_8_i4.c : Regenerated. 1310 * minloc0_8_i8.c : Regenerated. 1311 * minloc0_8_r10.c : Regenerated. 1312 * minloc0_8_r16.c : Regenerated. 1313 * minloc0_8_r4.c : Regenerated. 1314 * minloc0_8_r8.c : Regenerated. 1315 * minloc1_16_i16.c : Regenerated. 1316 * minloc1_16_i4.c : Regenerated. 1317 * minloc1_16_i8.c : Regenerated. 1318 * minloc1_16_r10.c : Regenerated. 1319 * minloc1_16_r16.c : Regenerated. 1320 * minloc1_16_r4.c : Regenerated. 1321 * minloc1_16_r8.c : Regenerated. 1322 * minloc1_4_i16.c : Regenerated. 1323 * minloc1_4_i4.c : Regenerated. 1324 * minloc1_4_i8.c : Regenerated. 1325 * minloc1_4_r10.c : Regenerated. 1326 * minloc1_4_r16.c : Regenerated. 1327 * minloc1_4_r4.c : Regenerated. 1328 * minloc1_4_r8.c : Regenerated. 1329 * minloc1_8_i16.c : Regenerated. 1330 * minloc1_8_i4.c : Regenerated. 1331 * minloc1_8_i8.c : Regenerated. 1332 * minloc1_8_r10.c : Regenerated. 1333 * minloc1_8_r16.c : Regenerated. 1334 * minloc1_8_r4.c : Regenerated. 1335 * minloc1_8_r8.c : Regenerated. 1336 * maxloc0_16_i16.c : Regenerated. 1337 * maxloc0_16_i4.c : Regenerated. 1338 * maxloc0_16_i8.c : Regenerated. 1339 * maxloc0_16_r10.c : Regenerated. 1340 * maxloc0_16_r16.c : Regenerated. 1341 * maxloc0_16_r4.c : Regenerated. 1342 * maxloc0_16_r8.c : Regenerated. 1343 * maxloc0_4_i16.c : Regenerated. 1344 * maxloc0_4_i4.c : Regenerated. 1345 * maxloc0_4_i8.c : Regenerated. 1346 * maxloc0_4_r10.c : Regenerated. 1347 * maxloc0_4_r16.c : Regenerated. 1348 * maxloc0_4_r4.c : Regenerated. 1349 * maxloc0_4_r8.c : Regenerated. 1350 * maxloc0_8_i16.c : Regenerated. 1351 * maxloc0_8_i4.c : Regenerated. 1352 * maxloc0_8_i8.c : Regenerated. 1353 * maxloc0_8_r10.c : Regenerated. 1354 * maxloc0_8_r16.c : Regenerated. 1355 * maxloc0_8_r4.c : Regenerated. 1356 * maxloc0_8_r8.c : Regenerated. 1357 * maxloc1_16_i16.c : Regenerated. 1358 * maxloc1_16_i4.c : Regenerated. 1359 * maxloc1_16_i8.c : Regenerated. 1360 * maxloc1_16_r10.c : Regenerated. 1361 * maxloc1_16_r16.c : Regenerated. 1362 * maxloc1_16_r4.c : Regenerated. 1363 * maxloc1_16_r8.c : Regenerated. 1364 * maxloc1_4_i16.c : Regenerated. 1365 * maxloc1_4_i4.c : Regenerated. 1366 * maxloc1_4_i8.c : Regenerated. 1367 * maxloc1_4_r10.c : Regenerated. 1368 * maxloc1_4_r16.c : Regenerated. 1369 * maxloc1_4_r4.c : Regenerated. 1370 * maxloc1_4_r8.c : Regenerated. 1371 * maxloc1_8_i16.c : Regenerated. 1372 * maxloc1_8_i4.c : Regenerated. 1373 * maxloc1_8_i8.c : Regenerated. 1374 * maxloc1_8_r10.c : Regenerated. 1375 * maxloc1_8_r16.c : Regenerated. 1376 * maxloc1_8_r4.c : Regenerated. 1377 * maxloc1_8_r8.c : Regenerated. 1378 * maxval_i16.c : Regenerated. 1379 * maxval_i4.c : Regenerated. 1380 * maxval_i8.c : Regenerated. 1381 * maxval_r10.c : Regenerated. 1382 * maxval_r16.c : Regenerated. 1383 * maxval_r4.c : Regenerated. 1384 * maxval_r8.c : Regenerated. 1385 * minval_i16.c : Regenerated. 1386 * minval_i4.c : Regenerated. 1387 * minval_i8.c : Regenerated. 1388 * minval_r10.c : Regenerated. 1389 * minval_r16.c : Regenerated. 1390 * minval_r4.c : Regenerated. 1391 * minval_r8.c : Regenerated. 1392 * sum_c10.c : Regenerated. 1393 * sum_c16.c : Regenerated. 1394 * sum_c4.c : Regenerated. 1395 * sum_c8.c : Regenerated. 1396 * sum_i16.c : Regenerated. 1397 * sum_i4.c : Regenerated. 1398 * sum_i8.c : Regenerated. 1399 * sum_r10.c : Regenerated. 1400 * sum_r16.c : Regenerated. 1401 * sum_r4.c : Regenerated. 1402 * sum_r8.c : Regenerated. 1403 * product_c10.c : Regenerated. 1404 * product_c16.c : Regenerated. 1405 * product_c4.c : Regenerated. 1406 * product_c8.c : Regenerated. 1407 * product_i16.c : Regenerated. 1408 * product_i4.c : Regenerated. 1409 * product_i8.c : Regenerated. 1410 * product_r10.c : Regenerated. 1411 * product_r16.c : Regenerated. 1412 * product_r4.c : Regenerated. 1413 * product_r8.c : Regenerated. 1414 14152006-03-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1416 1417 PR libfortran/26509 1418 * libgfortran.h: Add ERROR_DIRECT_EOR. 1419 * runtime/error.c (translate_error): Add translation for new error. 1420 * io/transfer.c (write_buf): Add check for EOR when mode is 1421 direct access. 1422 14232006-03-13 Paul Thomas <pault@gcc.gnu.org> 1424 1425 PR fortran/25378 1426 * libgfortran/m4/minloc1.m4: Set the initial position to zero and 1427 modify the condition for updating it, to implement the F2003 1428 requirement for all(mask).eq.false. 1429 * libgfortran/m4/maxloc1.m4: The same. 1430 * libgfortran/m4/iforeach.m4: The same. 1431 * libgfortran/m4/minloc0.m4: The same. 1432 * libgfortran/m4/maxloc0.m4: The same. 1433 * libgfortran/generated/maxloc0_16_i16.c: Regenerated, together 1434 with 41 others. 1435 * libgfortran/generated/minloc0_16_i16.c: Regenerated, together 1436 with 41 others. 1437 14382006-03-09 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1439 1440 PR libfortran/26499 1441 * io/file_pos (st_rewind): Flush always. 1442 * io/unix.c (fd_truncate): Return SUCCESS rather than FAILURE for 1443 special files like /dev/null. 1444 * io/transfer.c (st_write_done): Remove broken logic that 1445 prevented calling fd_truncate. 1446 14472006-03-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1448 1449 PR libfortran/26554 1450 * io/list_read.c (read_logical): Return the value if not in namelist 1451 mode. 1452 14532006-03-03 Thomas Koenig <Thomas.Koenig@online.de> 1454 1455 PR fortran/25031 1456 * runtime/memory.c: Adjust copyright years. 1457 (allocate_array): New function. 1458 (allocate64_array): New function. 1459 * libgfortran.h (error_codes): Add ERROR_ALLOCATION. 1460 14612006-02-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1462 1463 PR libfortran/26136 1464 * io/io.h: Add flag for reading from line_buffer. 1465 * io/list_read.c (l_push_char): New function to save namelist 1466 input when reading logicals. 1467 (free_line): New function to free line_buffer memory. 1468 (next_char): Added feature to read from line_buffer. 1469 (read_logical): Use new functions to test for '=' after reading a 1470 logical value, checking for possible variable name. 1471 (namelist_read): Use free_line when all done. 1472 14732006-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1474 1475 PR libfortran/26464 1476 * io/file_pos.c (st_backspace): Flush and truncate file 1477 when in AFTER_ENDFILE condition. 1478 * io/transfer.c (st_read_done): Remove flush, no longer needed. 1479 14802006-02-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1481 1482 PR libfortran/26423 1483 * io/unix.c (fd_seek): Revert change from 25949. 1484 (fd_read): Same. 1485 (fd_write): Same. 1486 14872006-02-19 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1488 1489 * io/open.c (edit_modes): Correct abusive copy-pasting. 1490 14912006-02-16 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1492 1493 PR libfortran/24903 1494 * m4/dotprodc.m4: Use __builtin_conj instead of assigning real 1495 and imaginary parts separately. 1496 * generated/dotprod_c4.c: Regenerated. 1497 * generated/dotprod_c8.c: Regenerated. 1498 * generated/dotprod_c10.c: Regenerated. 1499 * generated/dotprod_c16.c: Regenerated. 1500 15012006-02-12 Janne Blomqvist <jb@gcc.gnu.org> 1502 1503 PR libfortran/25949 1504 * io/io.h: Add set function pointer to struct stream. 1505 * io/unix.c (fd_seek): Only update offset, don't seek. 1506 (fd_sset): New function. 1507 (fd_read): Call lseek directly if necessary. 1508 (fd_write): Likewise. 1509 (fd_open): Set pointer to fd_sset. 1510 (mem_set): New function. 1511 (open_internal): Set pointer to mem_set. 1512 * io/transfer.c (write_block_direct): Rename to write_buf, add 1513 error return, non-pointer length argument. 1514 (unformatted_write): Update to use write_buf. 1515 (us_write): Simplify by using swrite instead of salloc_w. 1516 (write_us_marker): New function. 1517 (new_record_w): Use sset instead of memset, use write_us_marker, 1518 simplify by using swrite instead of salloc_w. 1519 15202006-02-08 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1521 1522 PR libfortran/25425 1523 * libgfortran.h: Add pedantic field to compile_options struct. 1524 * io/write.c (calculate_G_format): Depending on the standard, 1525 choose E or F format for list-directed output of 0.0. 1526 * runtime/error.c (notify_std): Make warning and error dependent 1527 on pedanticity. 1528 * runtime/compile_options.c (set_std): Use new pedantic argument. 1529 15302006-02-07 Dale Ranta <dir@lanl.gov> 1531 1532 PR fortran/25577 1533 * intrinsics/mvbits.c: Shift '(TYPE)1' type when building 'lenmask'. 1534 15352006-02-07 Rainer Emrich <r.emrich@de.tecosim.com> 1536 1537 * intrinsics/c99_functions.c: Work around incompatible 1538 declarations of cabs{,f,l} on pre-C99 IRIX systems. 1539 15402005-02-06 Thomas Koenig <Thomas.Koenig@online.de> 1541 1542 PR libfortran/23815 1543 * runtime/environ.c (init_unformatted): Add GFORTRAN_CONVERT_UNIT 1544 environment variable. 1545 (top level): Add defines, type and static variables for 1546 GFORTRAN_CONVERT_UNIT handling. 1547 (search_unit): New function. 1548 (match_word): New function. 1549 (match_integer): New function. 1550 (next_token): New function. 1551 (push_token): New function. 1552 (mark_single): New function. 1553 (mark_range): New funciton. 1554 (do_parse): New function. 1555 (init_unformatted): New function. 1556 (get_unformatted_convert): New function. 1557 * runtime/compile_options.c: Add set_convert(). 1558 * libgfortran.h: Add convert to compile_options_t. 1559 * io/open.c (st_open): Call get_unformatted_convert to get 1560 unit default; if CONVERT_NONE is returned, check for 1561 the presence of a CONVERT specifier and use it. 1562 As default, use compile_options.convert. 1563 * io/io.h (top level): Add CONVERT_NONE to unit_convert, to signal 1564 "nothing has been set". 1565 (top level): Add prototype for get_unformatted_convert. 1566 15672006-02-06 Francois-Xavier Coudert <coudert@clipper.ens.fr> 1568 1569 PR libfortran/24685 1570 * io/write.c (write_real): Widen the default format for real(10) 1571 variables output. 1572 15732006-01-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1574 1575 PR libfortran/25835 1576 * io/transfer.c (st_read_done): Flush buffers when read is done. 1577 15782006-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1579 1580 PR libfortran/25697 1581 * io/transfer.c (us_read): Detect end of file condition from previous 1582 operations and bail out (no need to pre-position). 1583 15842006-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1585 1586 PR libfortran/25631 1587 * io/transfer.c (formatted_transfer_scalar): Adjust pending_spaces and 1588 skips so that TL works correctly when no bytes_used yet. 1589 15902006-01-16 Roger Sayle <roger@eyesopen.com> 1591 1592 * configure.ac (CFLAGS): Update to include -std=gnu99 so that 1593 the configure tests will be run with the same environment as 1594 used to compile the libgfortran source code. 1595 * configure: Regenerate. 1596 15972006-01-12 Roger Sayle <roger@eyesopen.com> 1598 1599 * intrinsics/c99_functions.c: Add function prototypes to avoid 1600 warnings from -Wstrict-prototypes -Wmissing-prototypes. On Tru64 1601 work around a brain-dead libm by redirecting calls to cabs{,f,l} 1602 to a local __gfc_cabs{,f,l}. 1603 16042006-01-07 Janne Blomqvist <jb@gcc.gnu.org> 1605 1606 * configure.ac: Remove check for sys/mman.h. 1607 * configure: Regenerated. 1608 * Makefile.in: Regenerated. 1609 * config.h.in: Regenerated. 1610 * aclocal.m4: Regenerated. 1611 16122006-01-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1613 1614 PR libfortran/25598 1615 * io/file_pos.c (unformatted_backspace): Assure the new file position 1616 to seek is not less than zero. 1617 (st_backspace): Set unit bytes_left to zero. 1618 * io/transfer.c (next_record_r): Fix line lengths, no functional change. 1619 16202006-01-02 Paolo Bonzini <bonzini@gnu.org> 1621 1622 PR target/25259 1623 * configure.ac: Use GCC_HEADER_STDINT. 1624 * libgfortran.h: Include gstdint.h. 1625 * aclocal.m4: Regenerate. 1626 * configure: Regenerate. 1627 16282006-01-01 Steven G. Kargl <kargls@comcast.net> 1629 1630 * ChangeLog: Split into years ... 1631 * ChangeLog-2002: here. 1632 * ChangeLog-2003: here. 1633 * ChangeLog-2004: here. 1634 * ChangeLog-2005: here. 1635 1636 1637Copyright (C) 2006 Free Software Foundation, Inc. 1638 1639Copying and distribution of this file, with or without modification, 1640are permitted in any medium without royalty provided the copyright 1641notice and this notice are preserved. 1642