12011-12-22 Janne Blomqvist <jb@gcc.gnu.org> 2 Tobias Burnus <burnus@net-b.de> 3 4 PR libfortran/51646 5 * acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Use POSIX mode 6 flags, omit mode argument when flags argument does not have 7 O_CREAT. 8 * io/unix.c (tempfile): Use POSIX mode flags. 9 * configure: Regenerate. 10 112011-11-21 Andreas Tobler <andreast@fgznet.ch> 12 13 * configure: Regenerate. 14 152011-11-11 Janne Blomqvist <jb@gcc.gnu.org> 16 17 PR libfortran/51090 18 * runtime/main.c (find_addr2line): NULL check before proceeding. 19 202011-11-10 Janne Blomqvist <jb@gcc.gnu.org> 21 22 * intrinsics/cpu_time.c (__cpu_time_1): Don't force inlining. 23 * intrinsics/random.c (rnumber_4): Remove inline attribute. 24 (rnumber_8, rnumber_10, rnumber_16): Likewise. 25 * intrinsics/system_clock.c (gf_gettime_mono): Likewise. 26 * intrinsics/time_1.h (ATTRIBUTE_ALWAYS_INLINE): Remove macro. 27 (gf_cputime): Add inline attribute for MingW version. 28 * io/format.c (format_hash): Remove inline attribute. 29 * io/io.h (memset4): Inline function from transfer.c and write.c 30 moved here. 31 * io/transfer.c (min_off): Remove inline attribute. 32 (memset4): Move to io.h. 33 * io/write.c (memset4): Likewise. 34 (memcpy4): Remove inline attribute. 35 * io/write_float.def (calculate_exp): Likewise. 36 372011-11-09 Janne Blomqvist <jb@gcc.gnu.org> 38 39 * intrinsics/time_1.h (gf_gettime): Simplify time() usage. 40 412011-11-09 Janne Blomqvist <jb@gcc.gnu.org> 42 43 * configure.ac (AC_STDC_HEADERS): Remove. 44 (AC_HEADER_TIME): Remove. 45 (AC_HAVE_HEADERS, AC_CHECK_HEADERS): Move into a single invocation 46 of AC_CHECK_HEADERS_ONCE, don't check for presence of C89 headers. 47 (AC_CHECK_MEMBERS): Use single invocation. 48 (AC_CHECK_FUNCS): Move into single invocation of 49 AC_CHEC_FUNCS_ONCE, don't check for presence of C89 functions. 50 * config.h.in: Regenerate. 51 * configure: Regenerate. 52 * intrinsics/clock.c: Include time.h. 53 (mclock): Assume clock() is present. 54 (mclock8): Likewise. 55 * intrinsics/ctime.c (strctime): Assume strftime is present. 56 (fdate): Assume time() is present. 57 (fdate_sub): Likewise. 58 (ctime): Likewise. 59 * intrinsics/date_and_time.c: Don't provide abs macro. 60 (HAVE_NO_DATE_TIME): Remove code related to macro which is never 61 set. 62 * intrinsics/execute_command_line.c: Assume stdlib.h is present. 63 * intrinsics/exit.c: Likewise. 64 * intrinsics/extends_type_of.c: Likewise. 65 * intrinsics/gerror.c: Assume strerror() is present. 66 * intrinsics/kill.c: Assume signal.h is present. 67 * intrinsics/malloc.c: Assume stdlib.h is present. 68 * intrinsics/move_alloc.c: Likewise. 69 * intrinsics/perror.c: Assume perror() is present. 70 * intrinsics/signal.c: Assume signal.h is present. 71 * intrinsics/stat.c: Assume stdlib.h is present. 72 * intrinsics/system.c: Likewise. 73 * intrinsics/time.c: Include time.h, assume time() is present. 74 * intrinsics/time_1.h: Conditionally include sys/time.h, 75 unconditionally time.h. 76 (gf_cputime): Do division in double, fallback using clock(). 77 (gf_gettime): Assume time() is present. 78 * intrinsics/umask.c: Assume stdlib.h is present. 79 * runtime/backtrace.c: Likewise. 80 * runtime/compile_options.c: Assume signal.h is present, assume 81 C89 signals are present. 82 * runtime/error.c: Assume signal.h and stdlib.h are present. 83 842011-11-09 Janne Blomqvist <jb@gcc.gnu.org> 85 86 PR fortran/46686 87 * runtime/backtrace.c (show_backtrace): Fix incorrect comment. 88 892011-11-09 Tobias Burnus <burnus@net-b.de> 90 91 * configure.ac: Make more cross-compile friendly. 92 * Makefile.in: Regenerate. 93 * aclocal.m4: Regenerate. 94 * config.h.in: Regenerate. 95 * configure: Regenerate. 96 972011-11-09 Janne Blomqvist <jb@gcc.gnu.org> 98 99 PR fortran/46686 100 * configure.ac: Don't check execinfo.h, backtrace, 101 backtrace_symbols_fd. Check execve instead of execvp. Call 102 GCC_CHECK_UNWIND_GETIPINFO. 103 * runtime/backtrace.c: Don't include unused headers, include 104 limits.h and unwind.h. 105 (CAN_FORK): Check execve instead of execvp. 106 (GLIBC_BACKTRACE): Remove. 107 (bt_header): Conform to gdb backtrace format. 108 (struct bt_state): New struct. 109 (trace_function): New function. 110 (show_backtrace): Use _Unwind_Backtrace from libgcc instead of 111 glibc backtrace functions. 112 * Makefile.in: Regenerated. 113 * aclocal.m4: Regenerated. 114 * config.h.in: Regenerated. 115 * configure: Regenerated. 116 1172011-11-09 Janne Blomqvist <jb@gcc.gnu.org> 118 119 PR libfortran/50016 120 * io/inquire.c (inquire_via_unit): Flush the unit and use ssize. 121 * io/unix.c (buf_flush): Don't call _commit. 122 1232011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 124 125 PR libfortran/47972 126 * runtime/error.c (gf_strerror): Silence warning. 127 1282011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 129 130 PR libfortran/47972 131 * runtime/error.c (gf_strerror): Silence warning. 132 1332011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 134 135 PR libfortran/47970 136 * intrinsics/c99_functions.c (round): Move higher in the file. 137 1382011-11-07 Janne Blomqvist <jb@gcc.gnu.org> 139 140 PR libfortran/45723 141 * io/open.c (new_unit): Don't check file size before attempting 142 seek. 143 1442011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 145 146 * Makefile.am (AM_CPPFLAGS): Add 147 -I$(srcdir)/$(MULTISRCTOP)../libgcc, -I$(MULTIBUILDTOP)../libgcc. 148 * Makefile.in: Regenerate. 149 * acinclude.m4 (LIBGFOR_CHECK_GTHR_DEFAULT): Remove. 150 * configure.ac (LIBGFOR_CHECK_GTHR_DEFAULT): Likewise. 151 * configure: Regenerate. 152 * config.h.in: Regenerate. 153 1542011-11-01 Janne Blomqvist <jb@gcc.gnu.org> 155 156 * io/io.h (next_available_newunit): Remove prototype. 157 * io/unit.h (next_available_newunit): Make variable static, 158 initialize it. 159 (init_units): Don't initialize next_available_newunit. 160 (get_unique_unit_number): Use atomic builtin if available. 161 1622011-10-31 Janne Blomqvist <jb@gcc.gnu.org> 163 164 * io/inquire.c (inquire_via_unit): Check whether we're at the 165 beginning or end if the position is unspecified. If the position 166 is not one of the 3 standard ones, return unspecified. 167 * io/io.h (update_position): Remove prototype. 168 * io/transfer.c (next_record): Set the position to unspecified, 169 letting inquire figure it out more exactly when needed. 170 * io/unit.c (update_position): Remove function. 171 1722011-10-31 Janne Blomqvist <jb@gcc.gnu.org> 173 174 * io/unix.h (struct stream): Add size function pointer. 175 (ssize): New inline function. 176 (file_length): Remove prototype. 177 * io/unix.c (raw_size): New function. 178 (raw_init): Initialize st.size pointer. 179 (buf_size): New function. 180 (buf_init): Initialize st.size pointer. 181 (open_internal): Likewise. 182 (open_internal4): Likewise. 183 (file_length): Remove function. 184 * io/file_pos.c (st_rewind): Use ssize instead of file_length. 185 * io/open.c (test_endfile): Likewise. 186 * io/transfer.c (data_transfer_init): Likewise. 187 (next_record_r): Likewise. 188 (next_record_w): Likewise. 189 * io/unit.c (update_position): Likewise. 190 1912011-10-31 Janne Blomqvist <jb@gcc.gnu.org> 192 193 * io/file_pos.c (st_rewind): Handle regular and special files 194 identically. 195 * io/intrinsics.c (fseek_sub): Don't check whether we think the 196 file is seekable, just do what the caller says. 197 * io/transfer.c (skip_record): First try to seek, then fallback to 198 reading and throwing away what we read. 199 * io/unit.c (update_position): Don't check whether file is 200 seekable, just try to do what we're told. 201 (unit_truncate): Likewise. 202 * io/unix.c (struct unix_stream): Remove special_file flag. 203 (buf_flush): Remove code for handling unseekable files. 204 (buf_seek): Likewise. 205 (fd_to_stream): Use buffered IO only for regular files. 206 (file_length): Remove is_seekable() call. 207 (is_seekable): Remove function. 208 (is_special): Likewise. 209 * io/unix.h: Remove prototypes for is_seekable and is_special. 210 2112011-09-10 Thomas Koenig <tkoenig@gcc.gnu.org> 212 213 PR fortran/49479 214 * generated/m4/ifunction.m4: Always call internal_malloc_size 215 even when there is a zero-sized return array. 216 * generated/generated/maxloc1_16_i16.c: Regenerated. 217 * generated/generated/maxloc1_16_i1.c: Regenerated. 218 * generated/generated/maxloc1_16_i2.c: Regenerated. 219 * generated/generated/maxloc1_16_i4.c: Regenerated. 220 * generated/generated/maxloc1_16_i8.c: Regenerated. 221 * generated/generated/maxloc1_16_r10.c: Regenerated. 222 * generated/generated/maxloc1_16_r16.c: Regenerated. 223 * generated/generated/maxloc1_16_r4.c: Regenerated. 224 * generated/generated/maxloc1_16_r8.c: Regenerated. 225 * generated/generated/maxloc1_4_i16.c: Regenerated. 226 * generated/generated/maxloc1_4_i1.c: Regenerated. 227 * generated/generated/maxloc1_4_i2.c: Regenerated. 228 * generated/generated/maxloc1_4_i4.c: Regenerated. 229 * generated/generated/maxloc1_4_i8.c: Regenerated. 230 * generated/generated/maxloc1_4_r10.c: Regenerated. 231 * generated/generated/maxloc1_4_r16.c: Regenerated. 232 * generated/generated/maxloc1_4_r4.c: Regenerated. 233 * generated/generated/maxloc1_4_r8.c: Regenerated. 234 * generated/generated/maxloc1_8_i16.c: Regenerated. 235 * generated/generated/maxloc1_8_i1.c: Regenerated. 236 * generated/generated/maxloc1_8_i2.c: Regenerated. 237 * generated/generated/maxloc1_8_i4.c: Regenerated. 238 * generated/generated/maxloc1_8_i8.c: Regenerated. 239 * generated/generated/maxloc1_8_r10.c: Regenerated. 240 * generated/generated/maxloc1_8_r16.c: Regenerated. 241 * generated/generated/maxloc1_8_r4.c: Regenerated. 242 * generated/generated/maxloc1_8_r8.c: Regenerated. 243 * generated/generated/maxval_i16.c: Regenerated. 244 * generated/generated/maxval_i1.c: Regenerated. 245 * generated/generated/maxval_i2.c: Regenerated. 246 * generated/generated/maxval_i4.c: Regenerated. 247 * generated/generated/maxval_i8.c: Regenerated. 248 * generated/generated/maxval_r10.c: Regenerated. 249 * generated/generated/maxval_r16.c: Regenerated. 250 * generated/generated/maxval_r4.c: Regenerated. 251 * generated/generated/maxval_r8.c: Regenerated. 252 * generated/generated/minloc1_16_i16.c: Regenerated. 253 * generated/generated/minloc1_16_i1.c: Regenerated. 254 * generated/generated/minloc1_16_i2.c: Regenerated. 255 * generated/generated/minloc1_16_i4.c: Regenerated. 256 * generated/generated/minloc1_16_i8.c: Regenerated. 257 * generated/generated/minloc1_16_r10.c: Regenerated. 258 * generated/generated/minloc1_16_r16.c: Regenerated. 259 * generated/generated/minloc1_16_r4.c: Regenerated. 260 * generated/generated/minloc1_16_r8.c: Regenerated. 261 * generated/generated/minloc1_4_i16.c: Regenerated. 262 * generated/generated/minloc1_4_i1.c: Regenerated. 263 * generated/generated/minloc1_4_i2.c: Regenerated. 264 * generated/generated/minloc1_4_i4.c: Regenerated. 265 * generated/generated/minloc1_4_i8.c: Regenerated. 266 * generated/generated/minloc1_4_r10.c: Regenerated. 267 * generated/generated/minloc1_4_r16.c: Regenerated. 268 * generated/generated/minloc1_4_r4.c: Regenerated. 269 * generated/generated/minloc1_4_r8.c: Regenerated. 270 * generated/generated/minloc1_8_i16.c: Regenerated. 271 * generated/generated/minloc1_8_i1.c: Regenerated. 272 * generated/generated/minloc1_8_i2.c: Regenerated. 273 * generated/generated/minloc1_8_i4.c: Regenerated. 274 * generated/generated/minloc1_8_i8.c: Regenerated. 275 * generated/generated/minloc1_8_r10.c: Regenerated. 276 * generated/generated/minloc1_8_r16.c: Regenerated. 277 * generated/generated/minloc1_8_r4.c: Regenerated. 278 * generated/generated/minloc1_8_r8.c: Regenerated. 279 * generated/generated/minval_i16.c: Regenerated. 280 * generated/generated/minval_i1.c: Regenerated. 281 * generated/generated/minval_i2.c: Regenerated. 282 * generated/generated/minval_i4.c: Regenerated. 283 * generated/generated/minval_i8.c: Regenerated. 284 * generated/generated/minval_r10.c: Regenerated. 285 * generated/generated/minval_r16.c: Regenerated. 286 * generated/generated/minval_r4.c: Regenerated. 287 * generated/generated/minval_r8.c: Regenerated. 288 * generated/generated/product_c10.c: Regenerated. 289 * generated/generated/product_c16.c: Regenerated. 290 * generated/generated/product_c4.c: Regenerated. 291 * generated/generated/product_c8.c: Regenerated. 292 * generated/generated/product_i16.c: Regenerated. 293 * generated/generated/product_i1.c: Regenerated. 294 * generated/generated/product_i2.c: Regenerated. 295 * generated/generated/product_i4.c: Regenerated. 296 * generated/generated/product_i8.c: Regenerated. 297 * generated/generated/product_r10.c: Regenerated. 298 * generated/generated/product_r16.c: Regenerated. 299 * generated/generated/product_r4.c: Regenerated. 300 * generated/generated/product_r8.c: Regenerated. 301 * generated/generated/sum_c10.c: Regenerated. 302 * generated/generated/sum_c16.c: Regenerated. 303 * generated/generated/sum_c4.c: Regenerated. 304 * generated/generated/sum_c8.c: Regenerated. 305 * generated/generated/sum_i16.c: Regenerated. 306 * generated/generated/sum_i1.c: Regenerated. 307 * generated/generated/sum_i2.c: Regenerated. 308 * generated/generated/sum_i4.c: Regenerated. 309 * generated/generated/sum_i8.c: Regenerated. 310 * generated/generated/sum_r10.c: Regenerated. 311 * generated/generated/sum_r16.c: Regenerated. 312 * generated/generated/sum_r4.c: Regenerated. 313 * generated/generated/sum_r8.c: Regenerated. 314 3152011-09-01 Thomas Koenig <tkoenig@gcc.gnu.org> 316 317 * generated/bessel_r4.c: Regenerated. 318 * generated/bessel_r8.c: Regenerated. 319 * generated/bessel_r10.c: Regenerated. 320 * generated/bessel_r16.c: Regenerated. 321 3222011-08-29 Tobias Burnus <burnus@net-b.de> 323 324 * caf/libcaf.h (_gfortran_caf_deregister): Update prototype. 325 * caf/mpi.c (_gfortran_caf_deregister): Modify prototype, 326 actually free memory and add error diagnostic. 327 (_gfortran_caf_finalize): Add additional free calls. 328 * caf/single.c (_gfortran_caf_deregister): Modify prototype, 329 actually free memory and add error diagnostic. 330 (_gfortran_caf_finalize): Add additional free calls. 331 3322011-08-29 Thomas Koenig <tkoenig@gcc.gnu.org> 333 334 PR libfortran/50192 335 * intrinsics/string_intrinsics.c (memcmp_char4): New function. 336 * intrinsics/string_intrinsics_inc.c: New macro MEMCMP, either 337 set to memcmp or memcmp_char4. 338 (compare_string): Use MEMCMP, with correct size for it. 339 * libgfortran.h: Add prototype for memcmp_char4. 340 3412011-08-28 Thomas Koenig <tkoenig@gcc.gnu.org> 342 343 PR fortran/40866 344 * generated/iall_i1.c: Regenerated. 345 * generated/iall_i16.c: Regenerated. 346 * generated/iall_i2.c: Regenerated. 347 * generated/iall_i4.c: Regenerated. 348 * generated/iall_i8.c: Regenerated. 349 * generated/iany_i1.c: Regenerated. 350 * generated/iany_i16.c: Regenerated. 351 * generated/iany_i2.c: Regenerated. 352 * generated/iany_i4.c: Regenerated. 353 * generated/iany_i8.c: Regenerated. 354 * generated/iparity_i1.c: Regenerated. 355 * generated/iparity_i16.c: Regenerated. 356 * generated/iparity_i2.c: Regenerated. 357 * generated/iparity_i4.c: Regenerated. 358 * generated/iparity_i8.c: Regenerated. 359 * generated/norm2_r10.c: Regenerated. 360 * generated/norm2_r16.c: Regenerated. 361 * generated/norm2_r4.c: Regenerated. 362 * generated/norm2_r8.c: Regenerated. 363 * generated/parity_l1.c: Regenerated. 364 * generated/parity_l16.c: Regenerated. 365 * generated/parity_l2.c: Regenerated. 366 * generated/parity_l4.c: Regenerated. 367 * generated/parity_l8.c: Regenerated. 368 * generated/misc_specifics.F90: Regenerated (comment change). 369 * generated/_abs_c10.F90: Regenerated (comment change). 370 * generated/_abs_c16.F90: Regenerated (comment change). 371 * generated/_abs_c4.F90: Regenerated (comment change). 372 * generated/_abs_c8.F90: Regenerated (comment change). 373 * generated/_abs_i16.F90: Regenerated (comment change). 374 * generated/_abs_i4.F90: Regenerated (comment change). 375 * generated/_abs_i8.F90: Regenerated (comment change). 376 * generated/_abs_r10.F90: Regenerated (comment change). 377 * generated/_abs_r16.F90: Regenerated (comment change). 378 * generated/_abs_r4.F90: Regenerated (comment change). 379 * generated/_abs_r8.F90: Regenerated (comment change). 380 * generated/_acosh_r10.F90: Regenerated (comment change). 381 * generated/_acosh_r16.F90: Regenerated (comment change). 382 * generated/_acosh_r4.F90: Regenerated (comment change). 383 * generated/_acosh_r8.F90: Regenerated (comment change). 384 * generated/_acos_r10.F90: Regenerated (comment change). 385 * generated/_acos_r16.F90: Regenerated (comment change). 386 * generated/_acos_r4.F90: Regenerated (comment change). 387 * generated/_acos_r8.F90: Regenerated (comment change). 388 * generated/_aimag_c10.F90: Regenerated (comment change). 389 * generated/_aimag_c16.F90: Regenerated (comment change). 390 * generated/_aimag_c4.F90: Regenerated (comment change). 391 * generated/_aimag_c8.F90: Regenerated (comment change). 392 * generated/_aint_r10.F90: Regenerated (comment change). 393 * generated/_aint_r16.F90: Regenerated (comment change). 394 * generated/_aint_r4.F90: Regenerated (comment change). 395 * generated/_aint_r8.F90: Regenerated (comment change). 396 * generated/_anint_r10.F90: Regenerated (comment change). 397 * generated/_anint_r16.F90: Regenerated (comment change). 398 * generated/_anint_r4.F90: Regenerated (comment change). 399 * generated/_anint_r8.F90: Regenerated (comment change). 400 * generated/_asinh_r10.F90: Regenerated (comment change). 401 * generated/_asinh_r16.F90: Regenerated (comment change). 402 * generated/_asinh_r4.F90: Regenerated (comment change). 403 * generated/_asinh_r8.F90: Regenerated (comment change). 404 * generated/_asin_r10.F90: Regenerated (comment change). 405 * generated/_asin_r16.F90: Regenerated (comment change). 406 * generated/_asin_r4.F90: Regenerated (comment change). 407 * generated/_asin_r8.F90: Regenerated (comment change). 408 * generated/_atan2_r10.F90: Regenerated (comment change). 409 * generated/_atan2_r16.F90: Regenerated (comment change). 410 * generated/_atan2_r4.F90: Regenerated (comment change). 411 * generated/_atan2_r8.F90: Regenerated (comment change). 412 * generated/_atanh_r10.F90: Regenerated (comment change). 413 * generated/_atanh_r16.F90: Regenerated (comment change). 414 * generated/_atanh_r4.F90: Regenerated (comment change). 415 * generated/_atanh_r8.F90: Regenerated (comment change). 416 * generated/_atan_r10.F90: Regenerated (comment change). 417 * generated/_atan_r16.F90: Regenerated (comment change). 418 * generated/_atan_r4.F90: Regenerated (comment change). 419 * generated/_atan_r8.F90: Regenerated (comment change). 420 * generated/_conjg_c10.F90: Regenerated (comment change). 421 * generated/_conjg_c16.F90: Regenerated (comment change). 422 * generated/_conjg_c4.F90: Regenerated (comment change). 423 * generated/_conjg_c8.F90: Regenerated (comment change). 424 * generated/_cosh_r10.F90: Regenerated (comment change). 425 * generated/_cosh_r16.F90: Regenerated (comment change). 426 * generated/_cosh_r4.F90: Regenerated (comment change). 427 * generated/_cosh_r8.F90: Regenerated (comment change). 428 * generated/_cos_c10.F90: Regenerated (comment change). 429 * generated/_cos_c16.F90: Regenerated (comment change). 430 * generated/_cos_c4.F90: Regenerated (comment change). 431 * generated/_cos_c8.F90: Regenerated (comment change). 432 * generated/_cos_r10.F90: Regenerated (comment change). 433 * generated/_cos_r16.F90: Regenerated (comment change). 434 * generated/_cos_r4.F90: Regenerated (comment change). 435 * generated/_cos_r8.F90: Regenerated (comment change). 436 * generated/_dim_i16.F90: Regenerated (comment change). 437 * generated/_dim_i4.F90: Regenerated (comment change). 438 * generated/_dim_i8.F90: Regenerated (comment change). 439 * generated/_dim_r10.F90: Regenerated (comment change). 440 * generated/_dim_r16.F90: Regenerated (comment change). 441 * generated/_dim_r4.F90: Regenerated (comment change). 442 * generated/_dim_r8.F90: Regenerated (comment change). 443 * generated/_exp_c10.F90: Regenerated (comment change). 444 * generated/_exp_c16.F90: Regenerated (comment change). 445 * generated/_exp_c4.F90: Regenerated (comment change). 446 * generated/_exp_c8.F90: Regenerated (comment change). 447 * generated/_exp_r10.F90: Regenerated (comment change). 448 * generated/_exp_r16.F90: Regenerated (comment change). 449 * generated/_exp_r4.F90: Regenerated (comment change). 450 * generated/_exp_r8.F90: Regenerated (comment change). 451 * generated/_log10_r10.F90: Regenerated (comment change). 452 * generated/_log10_r16.F90: Regenerated (comment change). 453 * generated/_log10_r4.F90: Regenerated (comment change). 454 * generated/_log10_r8.F90: Regenerated (comment change). 455 * generated/_log_c10.F90: Regenerated (comment change). 456 * generated/_log_c16.F90: Regenerated (comment change). 457 * generated/_log_c4.F90: Regenerated (comment change). 458 * generated/_log_c8.F90: Regenerated (comment change). 459 * generated/_log_r10.F90: Regenerated (comment change). 460 * generated/_log_r16.F90: Regenerated (comment change). 461 * generated/_log_r4.F90: Regenerated (comment change). 462 * generated/_log_r8.F90: Regenerated (comment change). 463 * generated/_mod_i16.F90: Regenerated (comment change). 464 * generated/_mod_i4.F90: Regenerated (comment change). 465 * generated/_mod_i8.F90: Regenerated (comment change). 466 * generated/_mod_r10.F90: Regenerated (comment change). 467 * generated/_mod_r16.F90: Regenerated (comment change). 468 * generated/_mod_r4.F90: Regenerated (comment change). 469 * generated/_mod_r8.F90: Regenerated (comment change). 470 * generated/_sign_i16.F90: Regenerated (comment change). 471 * generated/_sign_i4.F90: Regenerated (comment change). 472 * generated/_sign_i8.F90: Regenerated (comment change). 473 * generated/_sign_r10.F90: Regenerated (comment change). 474 * generated/_sign_r16.F90: Regenerated (comment change). 475 * generated/_sign_r4.F90: Regenerated (comment change). 476 * generated/_sign_r8.F90: Regenerated (comment change). 477 * generated/_sinh_r10.F90: Regenerated (comment change). 478 * generated/_sinh_r16.F90: Regenerated (comment change). 479 * generated/_sinh_r4.F90: Regenerated (comment change). 480 * generated/_sinh_r8.F90: Regenerated (comment change). 481 * generated/_sin_c10.F90: Regenerated (comment change). 482 * generated/_sin_c16.F90: Regenerated (comment change). 483 * generated/_sin_c4.F90: Regenerated (comment change). 484 * generated/_sin_c8.F90: Regenerated (comment change). 485 * generated/_sin_r10.F90: Regenerated (comment change). 486 * generated/_sin_r16.F90: Regenerated (comment change). 487 * generated/_sin_r4.F90: Regenerated (comment change). 488 * generated/_sin_r8.F90: Regenerated (comment change). 489 * generated/_sqrt_c10.F90: Regenerated (comment change). 490 * generated/_sqrt_c16.F90: Regenerated (comment change). 491 * generated/_sqrt_c4.F90: Regenerated (comment change). 492 * generated/_sqrt_c8.F90: Regenerated (comment change). 493 * generated/_sqrt_r10.F90: Regenerated (comment change). 494 * generated/_sqrt_r16.F90: Regenerated (comment change). 495 * generated/_sqrt_r4.F90: Regenerated (comment change). 496 * generated/_sqrt_r8.F90: Regenerated (comment change). 497 * generated/_tanh_r10.F90: Regenerated (comment change). 498 * generated/_tanh_r16.F90: Regenerated (comment change). 499 * generated/_tanh_r4.F90: Regenerated (comment change). 500 * generated/_tanh_r8.F90: Regenerated (comment change). 501 * generated/_tan_r10.F90: Regenerated (comment change). 502 * generated/_tan_r16.F90: Regenerated (comment change). 503 * generated/_tan_r4.F90: Regenerated (comment change). 504 * generated/_tan_r8.F90: Regenerated (comment change). 505 5062011-08-18 Tobias Burnus <burnus@net-b.de> 507 508 PR fortran/50109 509 * io/list_read.c (eat_separator): Fix skipping over "!" lines. 510 5112011-07-23 Andreas Schwab <schwab@linux-m68k.org> 512 513 * intrinsics/ctime.c: Include <stdlib.h>. 514 * intrinsics/getlog.c: Likewise. 515 * runtime/stop.c: Likewise. 516 5172011-07-23 Tobias Burnus <burnus@net-b.de> 518 519 PR fortran/49791 520 * io/list_read.c (nml_parse_qualifier): Remove check to 521 enabled extended read for another case. 522 5232011-07-15 Daniel Carrera <dcarrera@gmail.com> 524 525 * caf/mpi.c (caf_runtime_error): Change fprintf to vfprintf. 526 * caf/single.c (caf_runtime_error): Ditto. 527 5282011-07-14 Daniel Carrera <dcarrera@gmail.com> 529 530 * caf/single.c: Include stdarg.h header. 531 (caf_runtime_error): New function. Use "exit(EXIT_FAILURE)". 532 (_gfortran_caf_register): Use caf_runtime_error. 533 (_gfortran_caf_sync_images): Use "exit(EXIT_FAILURE)". 534 * caf/mpi.c (caf_runtime_error): Remove "error" parameter. 535 Return EXIT_FAILURE instead. 536 (_gfortran_caf_register): Update call to caf_runtime_error. 537 (_gfortran_caf_sync_all): Ditto. 538 (_gfortran_caf_sync_images): Ditto. 539 (_gfortran_caf_error_stop_str): Use "exit(EXIT_FAILURE)". 540 5412011-07-13 Janne Blomqvist <jb@gcc.gnu.org> 542 543 PR libfortran/49296 544 * io/list_read.c (read_logical): Don't error out if a valid value 545 is followed by EOF instead of a normal separator. 546 (read_integer): Likewise. 547 5482011-07-09 Tobias Burnus <burnus@net-b.de> 549 550 * runtime/error.c (sys_abort): Change argument list 551 from "()" to "(void)". 552 5532011-07-09 Tobias Burnus <burnus@net-b.de> 554 Daniel Carrera <dcarrera@gmail.com> 555 556 * caf/mpi.c (runtime_error): New function. 557 (_gfortran_caf_register): Use it. 558 (_gfortran_caf_sync_all): Use it, add STAT_STOPPED_IMAGE 559 as possible status value. 560 (_gfortran_caf_sync_images): Ditto. 561 5622011-07-07 Tobias Burnus <burnus@net-b.de> 563 564 * libcaf.h (__attribute__, unlikely, likely): New macros. 565 (caf_register_t): Update comment. 566 (_gfortran_caf_register): Add stat, errmsg, errmsg_len arguments. 567 * single.c (_gfortran_caf_register): Ditto; add error diagnostics. 568 * mpi.c (_gfortran_caf_register): Ditto. 569 (caf_is_finalized): New global variable. 570 (_gfortran_caf_finalize): Use it. 571 5722011-07-05 Thomas Koenig <tkoenig@gcc.gnu.org> 573 574 * runtime/memory.c (internal_malloc_size): If size is zero, 575 allocate a single byte. 576 * m4/pack.m4 (pack_'rtype_code`): Don't check for zero size 577 for the argument of internal_malloc_size. 578 * m4/spread.m4 (spread_'rtype_code`): Likewise. 579 * m4/eoshift1.m4 (eoshift1): Don't allocate twice. Don't check 580 for zero size for the argument of internal_malloc_size. 581 * m4/eoshift3.m4: Don't check for zero size for the argument of 582 internal_malloc_size. 583 * intrinsics/pack_generic.c (pack_internal): Likewise. 584 (pack_s_internal): Likewise. 585 * intrinsics/cshift0.c (cshift0): Likewise. 586 * intrinsics/spread_generic.c (spread_internal): Likewise. 587 * intrinsics/eoshift0.c (eoshift0): Likewise. 588 * intrinsics/eoshift2.c (eoshift2): Likewise. 589 * generated/eoshift1_16.c: Regenerated. 590 * generated/eoshift1_4.c: Regenerated. 591 * generated/eoshift1_8.c: Regenerated. 592 * generated/eoshift3_16.c: Regenerated. 593 * generated/eoshift3_4.c: Regenerated. 594 * generated/eoshift3_8.c: Regenerated. 595 * generated/pack_c10.c: Regenerated. 596 * generated/pack_c16.c: Regenerated. 597 * generated/pack_c4.c: Regenerated. 598 * generated/pack_c8.c: Regenerated. 599 * generated/pack_i16.c: Regenerated. 600 * generated/pack_i1.c: Regenerated. 601 * generated/pack_i2.c: Regenerated. 602 * generated/pack_i4.c: Regenerated. 603 * generated/pack_i8.c: Regenerated. 604 * generated/pack_r10.c: Regenerated. 605 * generated/pack_r16.c: Regenerated. 606 * generated/pack_r4.c: Regenerated. 607 * generated/pack_r8.c: Regenerated. 608 * generated/spread_c10.c: Regenerated. 609 * generated/spread_c16.c: Regenerated. 610 * generated/spread_c4.c: Regenerated. 611 * generated/spread_c8.c: Regenerated. 612 * generated/spread_i16.c: Regenerated. 613 * generated/spread_i1.c: Regenerated. 614 * generated/spread_i2.c: Regenerated. 615 * generated/spread_i4.c: Regenerated. 616 * generated/spread_i8.c: Regenerated. 617 * generated/spread_r10.c: Regenerated. 618 * generated/spread_r16.c: Regenerated. 619 * generated/spread_r4.c: Regenerated. 620 * generated/spread_r8.c: Regenerated. 621 6222011-06-28 Thomas Koenig <tkoenig@gcc.gnu.org> 623 624 PR fortran/49479 625 * m4/reshape.m4: If source allocation is smaller than one, set it 626 to one. 627 * intrinsics/reshape_generic.c: Likewise. 628 * generated/reshape_r16.c: Regenerated. 629 * generated/reshape_c4.c: Regenerated. 630 * generated/reshape_c16.c: Regenerated. 631 * generated/reshape_c8.c: Regenerated. 632 * generated/reshape_r4.c: Regenerated. 633 * generated/reshape_i4.c: Regenerated. 634 * generated/reshape_r10.c: Regenerated. 635 * generated/reshape_r8.c: Regenerated. 636 * generated/reshape_c10.c: Regenerated. 637 * generated/reshape_i8.c: Regenerated. 638 * generated/reshape_i16.c: Regenerated. 639 6402011-06-18 Janne Blomqvist <jb@gcc.gnu.org> 641 642 PR libfortran/49296 643 * io/list_read.c (read_character): Accept EOF as a separator when 644 reading string. 645 6462011-06-17 Daniel Carrera <dcarrera@gmail.com> 647 648 * caf/single.c (_gfortran_caf_register): Store the address 649 of all static coarrays in a linked list. 650 (_gfortran_caf_finalize): Free memory of staic coarrays. 651 * caf/mpi.c (_gfortran_caf_register): Store the address 652 of all static coarrays in a linked list. Initialize MPI 653 if necessary. 654 (_gfortran_caf_finalize): Free memory of staic coarrays. 655 (_gfortran_caf_init): Check if MPI is already initialized 656 before initializing again. 657 * caf/libcaf.h: Add a type to caf_register_t to distinguish 658 static coarrays and add the type caf_static_t to make the 659 linked list of static coarrays. 660 6612011-06-11 Janne Blomqvist <jb@gcc.gnu.org> 662 663 * io/unix.c (buf_seek): Return error if file is not seekable. 664 (buf_tell): Call buf_seek. 665 6662011-06-11 Janne Blomqvist <jb@gcc.gnu.org> 667 668 * io/unix.c (fd_to_stream): Figure out if a fd is seekable by 669 trying lseek(). 670 6712011-06-10 Daniel Carrera <dcarrera@gmail.com> 672 673 * caf/mpi.c (_gfortran_caf_sync_all, 674 _gfortran_caf_sync_images): Functions have void return type 675 and move status into parameter list. 676 * caf/single.c (_gfortran_caf_sync_all, 677 _gfortran_caf_sync_images): Functions have void return type 678 and move status into parameter list. 679 * caf/libcaf.h (_gfortran_caf_sync_all, 680 _gfortran_caf_sync_images): Functions have void return type 681 and move status into parameter list. 682 6832011-06-03 Richard Henderson <rth@redhat.com> 684 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 685 686 * config/fpu-387.h [__sun__ && __svr4__] (sigill_hdlr): Correct 687 insn, insn size. 688 (has_sse) [!__x86_64__ && __sun__ && __svr4__]: Use movaps. 689 6902011-05-29 Janne Blomqvist <jb@gcc.gnu.org> 691 692 PR libfortran/48931 693 * libgfortran.h (find_addr2line): New prototype. 694 * runtime/backtrace.c (show_backtrace): Use async-signal-safe 695 execve and stored path of addr2line. 696 * runtime/compile_options.c (maybe_find_addr2line): New function. 697 (set_options): Call maybe_find_addr2line if backtracing is enabled. 698 * runtime/main.c (find_addr2line): New function. 699 (init): Call find_addr2line if backtracing is enabled. 700 (cleanup): Free addr2line_path. 701 7022011-05-29 Janne Blomqvist <jb@gcc.gnu.org> 703 704 PR libfortran/49214 705 * runtime/backtrace.c (fd_gets): Return NULL if nothing was read. 706 7072011-05-29 Janne Blomqvist <jb@gcc.gnu.org> 708 709 PR libfortran/19155 710 * io/read.c (convert_real): Check for invalid input by comparing 711 endptr instead of EINVAL. 712 (read_f): Fixup floating point input without significand. 713 7142011-05-22 Tobias Burnus <burnus@net-b.de> 715 716 * runtime/stop.c (stop_string,error_stop_string): Minor cleanup. 717 7182011-05-22 Janne Blomqvist <jb@gcc.gnu.org> 719 720 PR libfortran/48931 721 * configure.ac: Check for backtrace_symbols_fd instead of 722 backtrace_symbols, check for readlink. 723 * config.h.in: Regenerated. 724 * configure: Regenerated. 725 * runtime/backtrace.c (local_strcasestr): Remove. 726 (bt_header): New function. 727 (dump_glibc_backtrace): Remove. 728 (fd_gets): New function. 729 (show_backtrace): Rework to use backtrace_symbols_fd and pipes 730 avoiding functions that are not async-signal-safe, reformat 731 output. 732 * runtime/main.c (store_exe_path): Try to check /proc/self/exe 733 first. 734 7352011-05-20 Janne Blomqvist <jb@gcc.gnu.org> 736 Uros Bizjak <ubizjak@gmail.com> 737 738 PR libfortran/48977 739 * configure.host: Swap order of glibc and x86 tests. 740 7412011-05-20 Janne Blomqvist <jb@gcc.gnu.org> 742 743 * config/fpu-387.h (set_fpu): Use renamed inexact macro. 744 * config/fpu-aix.h (set_fpu): Clarify error messages, use renamed 745 inexact macro, set TRP_INEXACT for inexact exception instead of 746 TRP_UNDERFLOW. 747 * config/fpu-generic.h (set_fpu): Clarify error messages, use 748 renamed inexact macro. 749 * config/fpu-glibc.h (set_fpu): Likewise. 750 * config/fpu-sysv.h (set_fpu): Likewise. 751 7522011-05-14 Tobias Burnus <burnus@net-b.de> 753 754 * runtime/stop.c (error_stop_string, error_stop_numeric): 755 Do not backtrace for ERROR STOP. 756 7572011-05-14 Janne Blomqvist <jb@gcc.gnu.org> 758 759 PR libfortran/48915 760 * intrinsics/abort.c (abort): Call sys_abort(). 761 * io/unix.c (st_vprintf): Call sys_abort(). 762 * libgfortran.h (options_t): Remove dump_core member. 763 (handler): Rename to backtrace_handler. 764 (compile_options_t): Remove dump_core member. 765 (sys_exit): Remove. 766 (sys_abort): New function. 767 * runtime/backtrace.c (show_backtrace): Print a message if 768 backtrace is not available on target, update filter symbol name 769 due to backtrace_handler renaming. 770 * runtime/compile_options.c (backtrace_handler): New 771 implementation based on example in Glibc manual. 772 (set_options): Remove dump_core handling, make signal handler 773 handle more signals. 774 (init_compile_options): Remove dump_core. 775 * runtime/environ.c (variable_table[]): Remove 776 GFORTRAN_ERROR_DUMPCORE element. 777 (show_variables): Update name, call exit(). 778 * runtime/error.c (sys_exit): Remove. 779 (sys_abort): New function. 780 (recursion_check): Call sys_abort(). 781 (os_error): Call exit(). 782 (runtime_error): Likewise. 783 (runtime_error_at): Likewise. 784 (internal_error): Likewise. 785 (generate_error): Likewise. 786 (notify_std): Likewise. 787 * runtime/stop.c (stop_numeric): Call exit(). 788 (stop_numeric_f08): Likewise. 789 (stop_string): Likewise. 790 (error_stop_string): Call sys_abort(). 791 (error_stop_numeric): Print backtrace, exit with provided code. 792 7932011-05-14 Janne Blomqvist <jb@gcc.gnu.org> 794 795 * io/unix.c (st_vprintf,st_printf): Move to runtime/error.c. 796 * libgfortran.h (struct options_t): Remove use_stderr field. 797 (st_vprintf,st_printf): Move prototypes. 798 (estr_write): New prototype. 799 * runtime/error.c (sys_exit): Use estr_write instead of st_printf. 800 (estr_write): New function. 801 (st_vprintf): Move from io/unix.c, use stack allocated buffer, 802 always output to stderr. 803 (st_printf): Move from io/unix.c. 804 (show_locus): Use a local variable instead of static. 805 (os_error): Use estr_write instead of st_printf. 806 (runtime_error): Likewise. 807 (runtime_error_at): Likewise. 808 (runtime_warning_at): Likewise. 809 (internal_error): Likewise. 810 (generate_error): Likewise. 811 (generate_warning): Likewise. 812 (notify_std): Likewise. 813 * runtime/pause.c (do_pause): Likewise. 814 (pause_string): Likewise. 815 * runtime/stop.c (stop_string): Likewise. 816 (error_stop_string): Likewise. 817 * config/fpu_aix.h (set_fpu): Likewise. 818 * config/fpu_generic.h (set_fpu): Likewise. 819 * config/fpu_glibc.h (set_fpu): Likewise. 820 * config/fpu-sysv.h (set_fpu): Likewise. 821 * runtime/backtrace.c (dump_glibc_backtrace): Likewise. 822 (show_backtrace): Likewise. 823 * runtime/environ.c (print_spaces): Likewise. 824 (show_string): Likewise. 825 (show_variables): Likewise. 826 (variable_table[]): Remove GFORTRAN_USE_STDERR entry. 827 8282011-05-14 Tobias Burnus <burnus@net-b.de> 829 830 PR fortran/48961 831 * intrinsics/execute_command_line.c (set_cmdstat): Don't abort if 832 synchronously executing with WAIT=.false. 833 (execute_command_line): Fix setting of cmdstat and exitstat. 834 8352011-05-06 Tobias Burnus <burnus@net-b.de> 836 837 PR fortran/18918 838 * caf/libcaf.h: Cleanup headers. 839 (_gfortran_caf_critical, _gfortran_caf_end_critical): Make stub. 840 (caf_register_t): New enum. 841 (_gfortran_caf_register, _gfortran_caf_deregister): New prototype. 842 * caf/single.c (_gfortran_caf_critical, 843 _gfortran_caf_end_critical): Remove. 844 (_gfortran_caf_register, _gfortran_caf_deregister): New functions. 845 * caf/mpi.c (_gfortran_caf_critical, 846 _gfortran_caf_end_critical): Remove. 847 (_gfortran_caf_register, _gfortran_caf_deregister): New functions. 848 (caf_world_window): Remove global variable. 849 (_gfortran_caf_init): Fix off-by-one error of this_image. 850 8512011-05-04 Jerry DeLisle <jvdelisle@gcc.gnu.org> 852 853 PR libgfortran/48787 854 * io/write_float.def (output_float): Adjust up and down rounding for 855 cases where 'd' = 0. Gather common code to one location. 856 8572011-05-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> 858 859 PR libgfortran/48787 860 * io/write_float.def (output_float): Gather up integer declarations and 861 add new 'p' for scale factor. Use 'p' in place of the 'dtp' reference 862 everywhere. For ROUND_UP scan the digit string and only perform 863 rounding if something other than '0' is found. 864 8652011-04-29 Janne Blomqvist <jb@gcc.gnu.org> 866 867 * io/unix.c (min): New macro. 868 (unpack_filename): Return errno number for errors. 869 (regular_file): Use appropriately sized buffer for path. 870 (compare_file_filename): Likewise. 871 (find_file): Likewise. 872 (delete_file): Likewise. 873 (file_exists): Likewise. 874 (file_size): Likewise. 875 (inquire_sequential): Likewise. 876 (inquire_direct): Likewise. 877 (inquire_formatted): Likewise. 878 (inquire_access): Likewise. 879 8802011-04-29 Janne Blomqvist <jb@gcc.gnu.org> 881 882 PR libfortran/48488 883 * io/write.c (write_real, write_real_g0): Update comments. 884 8852011-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> 886 Janne Blomqvist <jb@gcc.gnu.org> 887 888 PR libgfortran/48488 889 PR libgfortran/48602 890 PR libgfortran/48615 891 PR libgfortran/48684 892 PR libgfortran/48787 893 * io/write.c (write_d, write_e, write_f, write_en, 894 write_es): Add precision compemsation parameter to call. 895 (set_fnode_default): Adjust default widths to assure 896 round trip on write and read. (write_real): Adjust call to write_float. 897 (write_real_g0): Calculate compensation for extra precision and adjust 898 call to write_float. 899 * io/write_float.def (output_float_FMT_G_): Use volatile rather than 900 asm volatile to avoid optimization issue. Correctly calculate the 901 number of blanks (nb) to be appended and simplify calculation logic. 902 (write_float): Increase MIN_FIELD_WIDTH by one to accomodate the new 903 default widths. Eliminate the code that attempted to reduce the 904 the precision used in later sprintf functions. Add call parameter to 905 compensate for extra precision. 906 9072011-04-20 Jim Meyering <meyering@redhat.com> 908 909 * intrinsics/move_alloc.c (move_alloc): Remove useless 910 if-before-free test. 911 * io/fbuf.c (fbuf_destroy): Likewise. 912 * io/format.c (save_parsed_format): Likewise. 913 * io/open.c (already_open): Likewise. 914 * io/unit.c (free_internal_unit, close_unit_1): Likewise. 915 * io/unix.c (mem_close): Likewise. 916 9172011-04-19 Jerry DeLisle <jvdelisle@gcc.gnu.org> 918 919 PR libgfortran/48602 920 * io/write_float.def (output_float_FMT_G): Fix reversal in conditional. 921 Use asm volatile to mark temp variable, avoiding optimization errors. 922 9232011-04-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> 924 925 PR libgfortran/48602 926 * io/write_float.def (output_float_FMT_G): Use current rounding mode 927 to set the rounding parameters. (output_float): Skip rounding 928 if value is zero. 929 9302011-04-16 Janne Blomqvist <jb@gcc.gnu.org> 931 932 * intrinsics/date_and_time.c (date_and_time): Remove sprintf CPP 933 branch. 934 * io/format.c (format_error): Use snprintf instead of sprintf. 935 * io/list_read.c: Move snprintf fallback macro to libgfortran.h. 936 (convert_integer): Use snprintf instead of sprintf. 937 (parse_repeat): Likewise. 938 (read_logical): Likewise. 939 (read_integer): Likewise. 940 (read_character): Likewise. 941 (parse_real): Likewise. 942 (read_complex): Likewise. 943 (read_real): Likewise. 944 (check_type): Likewise. 945 (nml_parse_qualifier): Add string length argument, use snprintf 946 instead of sprintf. 947 (nml_get_obj_data): Use snprintf instead of sprintf. 948 * io/open.c (new_unit): Remove sprintf CPP branch, use snprintf 949 instead of sprintf. 950 * io/transfer.c (require_type): Use snprintf instead of sprintf. 951 * io/unix.c (tempfile): Likewise. 952 * io/write.c (nml_write_obj): Likewise. 953 * io/write_float.def (output_float): Remove sprintf CPP branch, 954 use snprintf instead of sprintf. 955 * libgfortran.h: Add fallback snprintf macro from io/list_read.c. 956 * runtime/backtrace.c (show_backtrace): Remove sprintf CPP branch. 957 * runtime/main.c (store_exe_path): Use snprintf instead of 958 sprintf. 959 9602011-04-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> 961 962 PR libgfortran/48589 963 * io/write_float.def (write_infnan): Set width properly for G0. 964 9652011-04-15 Tobias Burnus <burnus@net-b.de> 966 967 PR fortran/18918 968 * Makefile.am: Build and install caf/single.c as 969 libcaf_single.a. 970 * Makefile.in: Regenerate. 971 9722011-04-15 Janne Blomqvist <jb@gcc.gnu.org> 973 974 PR libfortran/47571 975 * configure: Regenerated. 976 * config.h.in: Regenerated. 977 * acinclude.m4: Add alpha*-dec-osf* to gthread blacklist. 978 * configure.ac: Use separate symbol for clock_gettime in librt. 979 * intrinsics/system_clock.c: Use weakrefs only when needed and 980 supported. 981 9822011-04-12 Janne Blomqvist <jb@gcc.gnu.org> 983 984 * configure.ac: Use AC_TYPE_* to make sure we have (u)intptr_t, 985 check for ptrdiff_t. 986 * libgfortran.h: Remove (u)intptr_t definitions, use ptrdiff_t for 987 index_type, change cshift0* prototypes. 988 * config.h.in: Regenerated. 989 * configure: Regenerated. 990 * intrinsics/cshift0.c (cshift0): Use ptrdiff_t instead of ssize_t. 991 * io/io.h (array_loop_spec): Use index_type instead of ssize_t. 992 * io/list_read.c (nml_parse_qualifier): Likewise. 993 * io/write.c (nml_write_obj): Likewise. 994 * m4/cshift0.c (cshift0_'rtype_code`): Likewise. 995 * generated/cshift0_*.c: Regenerated. 996 9972011-04-12 Janne Blomqvist <jb@gcc.gnu.org> 998 999 * Makefile.am: Remove _GNU_SOURCE from AM_CPPFLAGS. 1000 * Makefile.in: Regenerated. 1001 10022011-04-06 Tobias Burnus <burnus@net-b.de> 1003 1004 PR fortran/18918 1005 * caf/mpi.c (_gfortran_caf_init, _gfortran_caf_finalize): 1006 Add global variable caf_mpi_initialized and use it for when 1007 finalizing. 1008 10092011-04-04 Tobias Burnus <burnus@net-b.de> 1010 1011 * unix.c: Adapt stat DEFINEs since MinGW64 supports LFS. 1012 (fallback_access, open_internal4, compare_file_filename, 1013 find_file, file_size, inquire_sequential, inquire_direct, 1014 inquire_formatted): Use "struct stat" instead of gfstat_t. 1015 10162011-03-27 Tobias Burnus <burnus@net-b.de> 1017 1018 PR fortran/18918 1019 * caf/libcaf.h: New - coarray communication library. 1020 * caf/mpi.c: New. 1021 * caf/single.c: New. 1022 10232011-03-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1024 1025 PR libgfortran/48030 1026 * io/read.c (read_x): Re-implement using fbuf_getc. 1027 10282011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1029 1030 PR bootstrap/48135 1031 * configure.ac (gfortran_use_symver): Handle --disable-symvers. 1032 * configure: Regenerate. 1033 10342011-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 1035 1036 PR fortran/35667 1037 * io/io.h (convert_infnan): Declare. 1038 * io/read.c (convert_infnan): New. 1039 (read_f): Use convert_infnan to convert INFs and NANs. 1040 * list_read.c (parse_real, read_real): Likewise. 1041 10422011-03-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 1043 1044 PR libfortran/47439 1045 * io/unix.c (tempfile): Work around poor mktemp() implementations. 1046 10472011-03-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 1048 1049 PR libfortran/47883 1050 * acinclude.m4: Don't use AC_TRY_ macros. 1051 * configure.ac: Likewise. 1052 * configure: Regenerate. 1053 10542011-03-12 Thomas Koenig <tkoenig@gcc.gnu.org> 1055 1056 PR libfortran/48066 1057 * m4/ifunction.m4: If return array is empty, return. 1058 * m4/ifunction_logical.m4: Likewise. 1059 * generated/all_l16.c: Regenerated. 1060 * generated/all_l1.c: Regenerated. 1061 * generated/all_l2.c: Regenerated. 1062 * generated/all_l4.c: Regenerated. 1063 * generated/all_l8.c: Regenerated. 1064 * generated/any_l16.c: Regenerated. 1065 * generated/any_l1.c: Regenerated. 1066 * generated/any_l2.c: Regenerated. 1067 * generated/any_l4.c: Regenerated. 1068 * generated/any_l8.c: Regenerated. 1069 * generated/count_16_l.c: Regenerated. 1070 * generated/count_1_l.c: Regenerated. 1071 * generated/count_2_l.c: Regenerated. 1072 * generated/count_4_l.c: Regenerated. 1073 * generated/count_8_l.c: Regenerated. 1074 * generated/maxloc1_16_i16.c: Regenerated. 1075 * generated/maxloc1_16_i1.c: Regenerated. 1076 * generated/maxloc1_16_i2.c: Regenerated. 1077 * generated/maxloc1_16_i4.c: Regenerated. 1078 * generated/maxloc1_16_i8.c: Regenerated. 1079 * generated/maxloc1_16_r10.c: Regenerated. 1080 * generated/maxloc1_16_r16.c: Regenerated. 1081 * generated/maxloc1_16_r4.c: Regenerated. 1082 * generated/maxloc1_16_r8.c: Regenerated. 1083 * generated/maxloc1_4_i16.c: Regenerated. 1084 * generated/maxloc1_4_i1.c: Regenerated. 1085 * generated/maxloc1_4_i2.c: Regenerated. 1086 * generated/maxloc1_4_i4.c: Regenerated. 1087 * generated/maxloc1_4_i8.c: Regenerated. 1088 * generated/maxloc1_4_r10.c: Regenerated. 1089 * generated/maxloc1_4_r16.c: Regenerated. 1090 * generated/maxloc1_4_r4.c: Regenerated. 1091 * generated/maxloc1_4_r8.c: Regenerated. 1092 * generated/maxloc1_8_i16.c: Regenerated. 1093 * generated/maxloc1_8_i1.c: Regenerated. 1094 * generated/maxloc1_8_i2.c: Regenerated. 1095 * generated/maxloc1_8_i4.c: Regenerated. 1096 * generated/maxloc1_8_i8.c: Regenerated. 1097 * generated/maxloc1_8_r10.c: Regenerated. 1098 * generated/maxloc1_8_r16.c: Regenerated. 1099 * generated/maxloc1_8_r4.c: Regenerated. 1100 * generated/maxloc1_8_r8.c: Regenerated. 1101 * generated/maxval_i16.c: Regenerated. 1102 * generated/maxval_i1.c: Regenerated. 1103 * generated/maxval_i2.c: Regenerated. 1104 * generated/maxval_i4.c: Regenerated. 1105 * generated/maxval_i8.c: Regenerated. 1106 * generated/maxval_r10.c: Regenerated. 1107 * generated/maxval_r16.c: Regenerated. 1108 * generated/maxval_r4.c: Regenerated. 1109 * generated/maxval_r8.c: Regenerated. 1110 * generated/minloc1_16_i16.c: Regenerated. 1111 * generated/minloc1_16_i1.c: Regenerated. 1112 * generated/minloc1_16_i2.c: Regenerated. 1113 * generated/minloc1_16_i4.c: Regenerated. 1114 * generated/minloc1_16_i8.c: Regenerated. 1115 * generated/minloc1_16_r10.c: Regenerated. 1116 * generated/minloc1_16_r16.c: Regenerated. 1117 * generated/minloc1_16_r4.c: Regenerated. 1118 * generated/minloc1_16_r8.c: Regenerated. 1119 * generated/minloc1_4_i16.c: Regenerated. 1120 * generated/minloc1_4_i1.c: Regenerated. 1121 * generated/minloc1_4_i2.c: Regenerated. 1122 * generated/minloc1_4_i4.c: Regenerated. 1123 * generated/minloc1_4_i8.c: Regenerated. 1124 * generated/minloc1_4_r10.c: Regenerated. 1125 * generated/minloc1_4_r16.c: Regenerated. 1126 * generated/minloc1_4_r4.c: Regenerated. 1127 * generated/minloc1_4_r8.c: Regenerated. 1128 * generated/minloc1_8_i16.c: Regenerated. 1129 * generated/minloc1_8_i1.c: Regenerated. 1130 * generated/minloc1_8_i2.c: Regenerated. 1131 * generated/minloc1_8_i4.c: Regenerated. 1132 * generated/minloc1_8_i8.c: Regenerated. 1133 * generated/minloc1_8_r10.c: Regenerated. 1134 * generated/minloc1_8_r16.c: Regenerated. 1135 * generated/minloc1_8_r4.c: Regenerated. 1136 * generated/minloc1_8_r8.c: Regenerated. 1137 * generated/minval_i16.c: Regenerated. 1138 * generated/minval_i1.c: Regenerated. 1139 * generated/minval_i2.c: Regenerated. 1140 * generated/minval_i4.c: Regenerated. 1141 * generated/minval_i8.c: Regenerated. 1142 * generated/minval_r10.c: Regenerated. 1143 * generated/minval_r16.c: Regenerated. 1144 * generated/minval_r4.c: Regenerated. 1145 * generated/minval_r8.c: Regenerated. 1146 * generated/product_c10.c: Regenerated. 1147 * generated/product_c16.c: Regenerated. 1148 * generated/product_c4.c: Regenerated. 1149 * generated/product_c8.c: Regenerated. 1150 * generated/product_i16.c: Regenerated. 1151 * generated/product_i1.c: Regenerated. 1152 * generated/product_i2.c: Regenerated. 1153 * generated/product_i4.c: Regenerated. 1154 * generated/product_i8.c: Regenerated. 1155 * generated/product_r10.c: Regenerated. 1156 * generated/product_r16.c: Regenerated. 1157 * generated/product_r4.c: Regenerated. 1158 * generated/product_r8.c: Regenerated. 1159 * generated/sum_c10.c: Regenerated. 1160 * generated/sum_c16.c: Regenerated. 1161 * generated/sum_c4.c: Regenerated. 1162 * generated/sum_c8.c: Regenerated. 1163 * generated/sum_i16.c: Regenerated. 1164 * generated/sum_i1.c: Regenerated. 1165 * generated/sum_i2.c: Regenerated. 1166 * generated/sum_i4.c: Regenerated. 1167 * generated/sum_i8.c: Regenerated. 1168 * generated/sum_r10.c: Regenerated. 1169 * generated/sum_r16.c: Regenerated. 1170 * generated/sum_r4.c: Regenerated. 1171 * generated/sum_r8.c: Regenerated. 1172 11732011-03-11 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1174 1175 PR libgfortran/48047 1176 * io/write_float.def (write_float): Change MIN_FIELD_WIDTH to 48. 1177 11782011-03-04 Janne Blomqvist <jb@gcc.gnu.org> 1179 1180 PR libfortran/47802 1181 * intrinsics/ctime.c (strctime): Use builtins to check localtime_r 1182 return type. 1183 11842011-03-04 Janne Blomqvist <jb@gcc.gnu.org> 1185 1186 PR libfortran/47802 1187 * intrinsics/ctime.c (strctime): Don't use return value of 1188 localtime_r. 1189 11902011-02-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1191 1192 PR libgfortran/47567 1193 * io/write_float.def (output_float): Move handling of w = 0 to after 1194 output rounding. Check for zero and set zero_flag accordingly. Set 1195 width according to zero_flag. Add better comments. 1196 11972011-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1198 1199 PR libgfortran/47778 1200 * io/list_read.c (namelist_read): Intialize the error string buffere. 1201 If pprev_nl was used during the previous namelist read and the rank 1202 was zero, reset the pointer to NULL for the next namelist read. 1203 12042011-02-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 1205 1206 PR libfortran/45165 1207 * unix.c (fallback_access): Fix file descriptor leaks. 1208 12092011-02-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 1210 1211 * acinclude.m4 (LIBGFOR_CHECK_FPSETMASK): Set shell variable 1212 tested in configure.host. 1213 * configure: Regenerate. 1214 12152011-02-24 Janne Blomqvist <jb@gcc.gnu.org> 1216 1217 PR libfortran/47802 1218 * config.h.in: Regenerated. 1219 * configure: Regenerated. 1220 * configure.ac: Remove checks for ctime and ctime_r, add check for 1221 strftime. 1222 * intrinsics/date_and_time.c (localtime_r): Move fallback 1223 implementation to time_1.h. 1224 * intrinsics/time_1.h (localtime_r): Fallback implementation. 1225 * intrinsics/ctime.c: Include time_1.h. 1226 (ctime_r): Remove fallback implementation. 1227 (strctime): New function. 1228 (fdate): Use strctime instead of ctime_r. 1229 (fdate_sub): Likewise. 1230 (ctime): Likewise. 1231 (ctime_sub): Likewise. 1232 12332011-02-24 Jakub Jelinek <jakub@redhat.com> 1234 1235 PR fortran/47878 1236 * io/transfer.c (read_sf): Call fbuf_getptr only at the end, 1237 and subtract n, dtp->u.p.sf_seen_eor and seen_comma from it. 1238 12392011-02-24 Janne Blomqvist <jb@gcc.gnu.org> 1240 1241 PR libfortran/47802 1242 * configure.ac: Add test for POSIX getpwuid_r. 1243 * intrinsics/getlog.c (getlog): CPP test for 1244 HAVE_POSIX_GETPWUID_R. 1245 * config.h.in: Regenerated. 1246 * configure: Regenerated. 1247 12482011-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1249 1250 PR libgfortran/47567 1251 * io/write_float.def (output_float): Remove special case handling of 1252 zero with width 1. 1253 12542011-02-23 Janne Blomqvist <jb@gcc.gnu.org> 1255 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1256 1257 PR libfortran/47694 1258 * io/fbuf.h (fbuf_getptr): New inline function. 1259 * io/transfer.c (read_sf): Use fbuf_getptr and fbuf_getc to scan 1260 through the string instead of fbuf_read. 1261 12622011-02-22 Tobias Burnus <burnus@net-b.de> 1263 Kai-Uwe Eckhardt <kuehro@gmx.de> 1264 1265 PR libfortran/47830 1266 * intrinsics/c99_functions.c (roundl): Make C valid for 1267 HAVE_NEXTAFTERL. 1268 12692011-02-19 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1270 1271 PR libgfortran/47567 1272 * io/write_float.def (output_float): Adjust width for F0.d to 1273 allow space for negative signs on zero. 1274 12752011-02-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1276 1277 PR libgfortran/47667 1278 * io/list_read.c (read_logical): Check for end of line before calling 1279 eat_line. (read_integer): Likewise. (parse_real): Don't unget the 1280 separator. Check for end of line before calling eat_line. 1281 (read_complex): Allow line-end before and after parenthesis and comma. 1282 Check for end of line before calling eat_line. (read_real): Check for 1283 end of line before calling eat_line. 1284 12852011-02-16 Jakub Jelinek <jakub@redhat.com> 1286 1287 PR libfortran/47757 1288 * gfortran.map (GFORTRAN_1.4): Export 1289 _gfortran_{m,s}i{all,any,parity}_i{1,2,4,8,16} and 1290 _gfortran_{cshift0,eoshift{0,2}}_16_char4. 1291 12922011-02-15 Tobias Burnus <burnus@net-b.de> 1293 1294 PR fortran/47716 1295 PR fortran/47648 1296 * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Use check from 1297 libquadmath, which uses more features. 1298 * configure: Regenerate. 1299 13002011-02-14 Jakub Jelinek <jakub@redhat.com> 1301 1302 PR fortran/47642 1303 * io/write_float.def (DTOAQ): Use quadmath_snprintf instead of 1304 quadmath_flt128tostr. 1305 * io/transfer128.c (tmp2): Initialize to quadmath_snprintf instead 1306 of quadmath_flt128tostr. 1307 13082011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 1309 1310 * Makefile.in: Regenerate. 1311 * aclocal.m4: Likewise. 1312 * configure: Likewise. 1313 13142011-02-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1315 1316 PR libgfortran/47567 1317 * io/write_float.def (output_float): Eliminate some redundant code. 1318 Adjust width for case of F0.X for values of zero and all other values. 1319 Expand cases where '*' is set to give cleaner results. 1320 13212011-02-05 Janne Blomqvist <jb@gcc.gnu.org> 1322 1323 PR libfortran/47571 1324 * intrinsics/time_1.h (GF_CLOCK_MONOTONIC): Move to system_clock.c. 1325 (weak_gettime): Likewise. 1326 (gf_gettime): Change API, move weak_gettime() usage to 1327 system_clock.c 1328 * intrinsics/system_clock.c (GTHREAD_USE_WEAK): Define. 1329 (gf_gettime_mono): New function. 1330 (system_clock_4): Use gf_gettime_mono(). 1331 (system_clock_8): Likewise. 1332 * intrinsics/date_and_time.c (date_and_time): Update gf_gettime() 1333 usage. 1334 13352011-02-02 Janne Blomqvist <jb@gcc.gnu.org> 1336 1337 PR libfortran/47571 1338 * configure: Regenerated. 1339 * configure.ac: Don't add librt to LIBS. 1340 * intrinsics/time_1.h (weak_gettime): Weakref trickery for 1341 clock_gettime(). 1342 (gf_gettime): Use weak_gettime() instead of clock_gettime(). 1343 13442011-02-01 Janne Blomqvist <jb@gcc.gnu.org> 1345 1346 * intrinsics/time_1.h: Include errno.h needed by fallbacks. 1347 13482011-01-31 Janne Blomqvist <jb@gcc.gnu.org> 1349 1350 * intrinsics/time_1.h: Fix definition of GF_CLOCK_MONOTONIC macro. 1351 13522011-01-31 Janne Blomqvist <jb@gcc.gnu.org> 1353 1354 * configure.ac: Check for clock_gettime(). 1355 * configure: Regenerated. 1356 * config.h.in: Regenerated. 1357 * intrinsics/time_1.h (__time_1): Rename to gf_cputime, add 1358 times() fallback. 1359 (gf_gettime): New function. 1360 * intrinsics/cpu_time.c (__cpu_time_1): Update to call gf_cputime. 1361 * intrinsics/date_and_time.c (date_and_time): Use gf_gettime. 1362 * intrinsics/dtime.c (dtime_sub): Use gf_cputime. 1363 * intrinsics/etime.c (etime_sub): Use gf_cputime. 1364 * intrinsics/system_clock.c (system_clock_4): Use gf_gettime. 1365 (system_clock_8): Use gf_gettime, increase count rate to allow 1366 nanosecond precision, remove overflow prone branch. 1367 13682011-01-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1369 1370 PR libgfortran/47434 1371 * io/write_float.def (write_infnan): Use calculate_sign to determine 1372 if the sign should be given and check field widths accordingly. 1373 13742011-01-29 Kai Tietz <kai.tietz@onevision.com> 1375 1376 * intrinsics/ctime.c (ctime_r): Improve implementation. 1377 13782011-01-27 Janne Blomqvist <jb@gcc.gnu.org> 1379 1380 PR libfortran/47431 1381 * config.h.in: Regenerated. 1382 * configure: Regenerated. 1383 * configure.ac: Add check for ctime_r(). 1384 * intrinsics/ctime.c (ctime_r): Fallback implementation. 1385 (fdate): Use ctime_r() instead of ctime(). 1386 (fdate_sub): Likewise. 1387 (ctime): Likewise. 1388 (ctime_sub): Likewise. 1389 13902011-01-27 Janne Blomqvist <jb@gcc.gnu.org> 1391 1392 PR libfortran/47432 1393 * config.h.in: Regenerated. 1394 * configure: Regenerated. 1395 * configure.ac: Add check for ttyname_r. 1396 * io/unix.h: Add TTY_NAME_MAX, change stream_ttyname prototype. 1397 * io/unix.c (stream_ttyname): Use ttyname_r if available, conform 1398 to new prototype. 1399 * io/inquire.c (inquire_via_unit): Use changed stream_ttyname. 1400 * io/intrinsics.c (ttynam_sub): Likewise. 1401 (ttynam): Likewise. 1402 14032011-01-27 Janne Blomqvist <jb@gcc.gnu.org> 1404 1405 PR libfortran/47491 1406 * configure.ac: Call AC_USE_SYSTEM_EXTENSIONS to enable common 1407 extensions. 1408 * config.h.in: Regenerate. 1409 * configure: Regenerate. 1410 14112011-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1412 1413 PR libgfortran/47285 1414 * io/write_float.def (write_infnan): Adjust processor selected width 1415 to 3 if NaN. 1416 14172011-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1418 1419 PR libgfortran/47285 1420 * io/write_float.def (output_float): Return SUCCESS or FAILURE and use 1421 the result to set the padding. 1422 14232011-01-26 Kai Tietz <kai.tietz@onevision.com> 1424 1425 * intrinsics/getlog.c (getlog): Fix label/statement issue. 1426 14272011-01-25 Janne Blomqvist <jb@gcc.gnu.org> 1428 1429 PR libfortran/47375 1430 * config.h.in: Regenerated. 1431 * configure: Regenerated. 1432 * configure.ac: Add check for getpwuid_r. 1433 * intrinsics/getlog.c (getlog): Use getpwuid_r() if available. 1434 14352011-01-22 Janne Blomqvist <jb@gcc.gnu.org> 1436 1437 PR libfortran/46267 1438 * config.h.in: Regenerated. 1439 * configure: Regenerated. 1440 * configure.ac: Check presence of strerror_r. 1441 * intrinsics/gerror.c (gerror): Use gf_strerror, modify logic. 1442 * io/unix.c (get_oserror): Remove. 1443 * libgfortran.h (gf_strerror): Add prototype. 1444 (get_oserror): Remove prototype. 1445 * runtime/error.c (gf_strerror): New function. 1446 (os_error): Use gf_strerror instead of get_oserror. 1447 (generate_errror): Likewise. 1448 14492011-01-17 Janne Blomqvist <jb@gcc.gnu.org> 1450 1451 PR libfortran/47296 1452 * io/unix.c (tempfile): Set opp->file and opp->file_len also if an 1453 error occurs. 1454 14552011-01-16 Jakub Jelinek <jakub@redhat.com> 1456 1457 PR fortran/46625 1458 * io/write_float.def (DTOAQ): Use quadmath_flt128tostr 1459 instead of quadmath_dtoa. 1460 * io/transfer128.c (tmp1, tmp2): New variables, bring in 1461 strtoflt128 and quadmath_flt128tostr. 1462 (transfer_real128, transfer_real128_write, transfer_complex128, 1463 transfer_complex128_write): Remove tmp1/tmp2 variables. 1464 * io/read.c (convert_real): Use strtoflt128 instead of 1465 quadmath_strtopQ, adjust for the changed arguments and return 1466 value. 1467 14682011-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1469 1470 PR libgfortran/47296 1471 * io/unix.c (unpack_filename): Return non-zero if the filename passed 1472 in is NULL. 1473 14742011-01-04 Jerry DeLisle <jvdelisle@gcc.gnu.org> 1475 1476 PR libgfortran/47154 1477 * io/list_read.c (namelist_read): Remove calls to hit_eof to avoid the 1478 duplicate calls via next_record. 1479 1480 1481Copyright (C) 2011 Free Software Foundation, Inc. 1482 1483Copying and distribution of this file, with or without modification, 1484are permitted in any medium without royalty provided the copyright 1485notice and this notice are preserved. 1486