12013-12-18 Steven G. Kargl <kargl@gcc.gnu.org> 2 3 * io/read.c (read_f): Convert assert to runtime error. 4 52013-12-17 Andreas Tobler <andreast@gcc.gnu.org> 6 7 * io/unix.c (tempfile_open): Only use the needed flag O_CLOEXEC. 8 92013-12-16 Jerry DeLisle <jvdelisle@gcc.gnu> 10 11 PR libfortran/59419 12 * io/file_pos.c (st_rewind): Do proper return after 13 generate_error. 14 * io/open.c (edit_modes): Move action code inside block that 15 checks for library ok. (new_unit): Do cleanup after error. 16 (st_open): Do proper return after error. 17 * io/transfer.c (data_transfer_init): Likewise. 18 192013-12-11 Tobias Burnus <burnus@net-b.de> 20 21 * config/fpu-387.h (sigill_hdlr, get_fpu_rounding_mode): Emit SSE 22 instructions when __SSE_MATH__ is defined. 23 242013-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 25 26 * intrinsics/erfc_scaled.c (_M_2_SQRTPI): Define if missing. 27 282013-12-01 Uros Bizjak <ubizjak@gmail.com> 29 30 PR libfortran/59313 31 * intrinsics/erfc_scaled.c (erfc_scaled_r16): Also provide for 32 quadruple precision long double variant. 33 342013-11-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 35 36 * intrinsics/erfc_scaled.c (erfc_scaled_r16): Don't define if 37 __float128 is not available. 38 392013-11-20 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 40 41 PR libfortran/49024 42 * intrinsics/erfc_scaled.c (erfc_scaled_r16): New function. 43 * intrinsics/erfc_scaled_inc.c: Do not provide quadruple 44 precision variant. 45 462013-11-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 47 48 PR libfortran/51828 49 * intrinsics/unpack_generic.c (unpack_internal): Let the compiler 50 know that dim > 0 to avoid warnings. 51 522013-11-15 Janne Blomqvist <jb@gcc.gnu.org> 53 Jerry DeLisle <jvdelisle@gcc.gnu.org> 54 55 PR fortran/59108 56 * io/unix.c (regular_file): Don't set O_CREAT when opening a file 57 read-only with unknown status. Mask out O_CREAT when falling back 58 to opening read-only if ACTION= is not set and read-write fails. 59 602013-11-15 Steve Ellcey <sellcey@mips.com> 61 62 * configure.ac: Do not define HAVE_STRTOLD. 63 * configure: Regenerate. 64 652013-11-10 Janne Blomqvist <jb@gcc.gnu.org> 66 67 * configure.ac: Check presence of mkostemp. 68 * io/unix.c (set_close_on_exec): New function. 69 (tempfile_open): Use mkostemp and O_CLOEXEC if available, fallback 70 to calling set_close_on_exec. 71 (regular_file): Add O_CLOEXEC to flags if defined. 72 (open_external): Call set_close_on_exec if O_CLOEXEC is not 73 defined. 74 * config.h.in: Regenerated. 75 * configure: Regenerated. 76 * Makefile.in: Regenerated. 77 * aclocal.m4: Regenerated. 78 792013-10-01 Tobias Burnus <burnus@net-b.de> 80 81 PR fortran/55469 82 * io/list_read (parse_repeat, read_integer, read_character, 83 parse_real, read_real, check_type, list_formatted_read_scalar, 84 finish_list_read): Call list_free. 85 862013-09-20 Alan Modra <amodra@gmail.com> 87 88 * configure: Regenerate. 89 902013-07-23 Uros Bizjak <ubizjak@gmail.com> 91 92 * config/fpu-387.h (get_fpu_rounding_mode): Read rounding mode 93 from SSE mxcsr register on x86_64. 94 952013-07-21 Ondřej Bílka <neleai@seznam.cz> 96 97 * io/transfer.c: Fix comment typos. 98 992013-07-21 Tobias Burnus <burnus@net-b.de> 100 101 PR fortran/35862 102 * config/fpu-387.h (set_fpu_rounding_mode, 103 get_fpu_rounding_mode): Add missing _ to fix build. 104 1052013-07-21 Tobias Burnus <burnus@net-b.de> 106 Uros Bizjak <ubizjak@gmail.com> 107 108 PR fortran/35862 109 * libgfortran.h (set_fpu_rounding_mode, 110 get_fpu_rounding_mode): New prototypes. 111 * config/fpu-387.h (set_fpu_rounding_mode, 112 get_fpu_rounding_mode): New functions. 113 * config/fpu-aix.h (set_fpu_rounding_mode, 114 get_fpu_rounding_mode): Ditto. 115 * config/fpu-generic.h (set_fpu_rounding_mode, 116 get_fpu_rounding_mode): Ditto. 117 * config/fpu-glibc.h (set_fpu_rounding_mode, 118 get_fpu_rounding_mode): Ditto. 119 * config/fpu-sysv.h (set_fpu_rounding_mode, 120 get_fpu_rounding_mode): Ditto. 121 * configure.ac: Check for fp_rnd and fp_rnd_t. 122 * io/io.h (enum unit_round): Use GFC_FPE_* for the value. 123 * io/read.c (convert_real): Set FP ronding mode. 124 * Makefile.in: Regenerate. 125 * aclocal.m4: Regenerate. 126 * config.h.in: Regenerate. 127 * configure: Regenerate. 128 1292013-06-24 Tobias Burnus <burnus@net-b.de> 130 131 * configure.ac: Check for fp_except and fp_except_t. 132 * config/fpu-sysv.h: Conditionally use either type. 133 * configure: Regenerate. 134 * config.h.in: Regenerate. 135 1362013-06-21 Eric Botcazou <ebotcazou@adacore.com> 137 138 * config/fpu-sysv.h (get_fpu_except_flags): Fix typo. 139 1402013-06-20 Uros Bizjak <ubizjak@gmail.com> 141 142 * config/fpu-387.h (_FPU_MASK_ALL): New. 143 (_FPU_EX_ALL): Ditto. 144 (set_fpu): Use fstcw to store x87 FPU control word. Use fnclex to 145 clear stalled exception flags. Correctly clear stalled SSE 146 exception flags. Simplify code. 147 (get_fpu_except_flags): Simplify code. 148 1492013-06-20 Tobias Burnus <burnus@net-b.de> 150 151 PR fortran/57633 152 * io/list_read.c (next_char, eat_separator): Don't set EOL for \r. 153 1542013-06-19 Uros Bizjak <ubizjak@gmail.com> 155 156 * config/fpu-387.h: Use __asm__ and __volatile__ consistently. 157 (get_fpu_except_flags): Initialize result. 158 1592013-06-17 Tobias Burnus <burnus@net-b.de> 160 161 * libgfortran.h (compile_options_t) Add fpe_summary. 162 (get_fpu_except_flags): New prototype. 163 * runtime/compile_options.c (set_options, init_compile_options): 164 Handle fpe_summary. 165 * runtime/stop.c (report_exception): New function. 166 (stop_numeric, stop_numeric_f08, stop_string, error_stop_string, 167 error_stop_numeric): Call it. 168 * config/fpu-387.h (get_fpu_except_flags): New function. 169 * config/fpu-aix.h (get_fpu_except_flags): New function. 170 * config/fpu-generic.h (get_fpu_except_flags): New function. 171 * config/fpu-glibc.h (get_fpu_except_flags): New function. 172 * config/fpu-sysv.h (get_fpu_except_flags): New function. 173 * configure.ac: Check for fpxcp.h. 174 * configure: Regenerate. 175 * config.h.in: Regenerate. 176 1772013-06-01 Tobias Burnus <burnus@net-b.de> 178 179 PR fortran/57496 180 * io/write_float.def (ISFINITE2Q, ISFINITE2, ISFINITE2L, ISFINITE, 181 SIGNBIT2Q, SIGNBIT2, SIGNBIT2L, SIGNBIT, ISNAN2Q, ISNAN2, ISNAN2L, 182 ISNAN): New macros. 183 (output_float_FMT_G_,WRITE_FLOAT): Use them. 184 1852013-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 186 187 * acinclude.m4 (libgfor_cv_have_as_needed): Check for -z ignore, too. 188 * configure: Regenerate. 189 1902013-05-05 David Edelsohn <dje.gcc@gmail.com> 191 192 * caf/libcaf.h (_gfortran_caf_critical): Add a prototype. 193 (_gfortran_caf_end_critical): Same. 194 1952013-05-04 David Edelsohn <dje.gcc@gmail.com> 196 197 * runtime/environ.c: Include unistd.h. 198 * runtime/pause.c: Test HAVE_UNISTD_H. 199 * runtime/stop.c: Same. 200 * io/open.c: Same. 201 * io/unix.c: Same. 202 * io/read.c (si_max): Protect declaration of value. 203 2042013-04-29 Janne Blomqvist <jb@gcc.gnu.org> 205 206 * intrinsics/system_clock (gf_gettime_mono): Use variable 207 resolution for fractional seconds argument. 208 (system_clock_4): Simplify, update for gf_gettime_mono change. 209 (system_clock_8): Likewise. 210 2112013-04-29 Janne Blomqvist <jb@gcc.gnu.org> 212 213 PR fortran/56981 214 * io/transfer.c (next_record_w_unf): First fix head marker, then 215 write tail. 216 (next_record): Call flush_if_unbuffered. 217 * io/unix.c (struct unix_stream): Add field unbuffered. 218 (flush_if_unbuffered): New function. 219 (fd_to_stream): New argument. 220 (open_external): Fix fd_to_stream call. 221 (input_stream): Likewise. 222 (output_stream): Likewise. 223 (error_stream): Likewise. 224 * io/unix.h (flush_if_unbuffered): New prototype. 225 2262013-04-28 Janne Blomqvist <jb@gcc.gnu.org> 227 228 * intrinsics/system_clock.c (system_clock_4): Fix sign error in 229 Windows version. 230 2312013-04-15 Tobias Burnus <burnus@net-b.de> 232 233 * list_read.c (finish_separator): Initialize variable. 234 2352013-04-15 Janne Blomqvist <jb@gcc.gnu.org> 236 237 PR fortran/56919 238 * intrinsics/time_1.h: Check __CYGWIN__ in addition to 239 __MINGW32__. 240 * intrinsics/system_clock.c (GF_CLOCK_MONOTONIC): Check 241 _POSIX_MONOTONIC_CLOCK as well. 242 (system_clock_4): Use GetTickCount on Windows. 243 (system_clock_8): Use QueryPerformanceCounter and 244 QueryPerformanceCounterFrequency on Windows. 245 2462013-04-04 Tobias Burnus <burnus@net-b.de> 247 248 PR fortran/56810 249 * io/list_read.c (check_type): Fix kind checking for COMPLEX. 250 2512013-04-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> 252 253 PR libfortran/56660 254 * io/list_read.c (nml_read_obj): Do not reset the read error flag 255 inside nml_read_obj. If the read error flag is found set just exit. 256 Fix some whitespace on comments. 257 (nml_read_obj_data): Reset the read error flag before the first call 258 to nml_read_object. 259 2602013-03-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> 261 262 PR libfortran/56786 263 * io/list_read.c (nml_parse_qualifier): Remove spurious next_char call 264 when checking for EOF. Use error return mechanism when EOF detected. 265 Do not return false unless parse_err_msg and parse_err_msg_size have 266 been set. Use hit_eof. 267 (nml_get_obj_data): Likewise use the correct error mechanism. 268 * io/transfer.c (hit_eof): Do not set AFTER_ENDFILE if in namelist 269 mode. 270 2712013-03-29 Tobias Burnus <burnus@net-b.de> 272 273 PR fortran/56737 274 * io/format.c (parse_format_list): Also cache FMT_STRING. 275 (parse_format): Update call. 276 2772013-03-29 Tobias Burnus <burnus@net-b.de> 278 279 PR fortran/56737 280 * io/format.c (parse_format): With caching, copy 281 dtp->format string. 282 (save_parsed_format): Use dtp->format directy without 283 copying. 284 2852013-03-29 Tobias Burnus <burnus@net-b.de> 286 287 PR fortran/56735 288 * io/list_read.c (nml_query): Only abort when 289 an error occured. 290 (namelist_read): Add goto instead of falling through. 291 2922013-03-25 Tilo Schwarz <tilo@tilo-schwarz.de> 293 294 PR libfortran/52512 295 * io/list_read.c (nml_parse_qualifier): To check for a derived type 296 don't use the namelist head element type but the current element type. 297 (nml_get_obj_data): Add current namelist element type to 298 nml_parse_qualifier call. 299 3002013-03-24 Tobias Burnus <burnus@net-b.de> 301 302 PR fortran/56696 303 * io/list_read.c (read_real): Fix EOF diagnostic. 304 3052013-03-20 Tilo Schwarz <tilo@tilo-schwarz.de> 306 307 PR libfortran/51825 308 * io/list_read.c (nml_read_obj): Don't end the component loop on a 309 nested derived type, but continue with the next loop iteration. 310 (nml_get_obj_data): Don't move the first_nl pointer further in the 311 list if a qualifier was found. 312 3132013-03-20 Tilo Schwarz <tilo@tilo-schwarz.de> 314 315 PR libfortran/48618 316 * io/open.c (st_open): Raise error for unit number < 0 only if 317 unit number does not exist already. 318 3192013-03-19 Janne Blomqvist <jb@gcc.gnu.org> 320 321 * libgfortran.h: Include stdbool.h. 322 (enum try): Remove. 323 (notify_std): Change return type to bool. 324 * intrinsics/chmod.c: Don't include stdbool.h. 325 * intrinsics/execute_command_line.c: Likewise. 326 * io/format.c: Likewise. 327 * io/list_read.c (nml_parse_qualifier): Change return type to bool. 328 (nml_read_obj): Likewise. 329 (nml_get_obj_data): Likewise. 330 * io/transfer.c (read_block_form): Fix comment. 331 (write_buf): Change return type to bool. 332 * io/write.c: Don't include stdbool.h. 333 * io/write_float.def (output_float): Change return type to bool. 334 (output_float_FMT_G_ ## x): Change type of result variable. 335 * runtime/error.c (notify_std): Change return type to bool. 336 3372013-03-11 Tobias Burnus <burnus@net-b.de> 338 339 * io/transfer.c (read_block_direct): Correct condition. 340 * intrinsics/execute_command_line.c (execute_command_line): 341 Remove dead code for the HAVE_FORK case. 342 3432013-02-21 Janne Blomqvist <jb@gcc.gnu.org> 344 345 PR libfortran/30162 346 * io/open.c (test_endfile): Call stell only if size != 0. 347 * io/unix.c (raw_tell): Revert r194679. 348 (raw_size): Return size field only for regular files, otherwise 0. 349 3502013-02-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 351 352 PR target/56347 353 * acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_POWF): Remove check for 354 broken powf. 355 * configure.ac (LIBGFOR_CHECK_FOR_BROKEN_POWF): Likewise. 356 * intrinsics/c99_functions.c: Likewise. 357 * configure: Rebuilt. 358 * config.h.in: Rebuilt. 359 3602013-02-06 Janus Weil <janus@gcc.gnu.org> 361 362 PR fortran/55978 363 * runtime/in_pack_generic.c (internal_pack): Return if base_addr is 364 NULL. 365 3662013-01-23 Janne Blomqvist <jb@gcc.gnu.org> 367 368 * io/file_pos.c (unformatted_backspace): Use __builtin_bswapXX 369 instead of reverse_memcpy. 370 * io/io.h (reverse_memcpy): Remove prototype. 371 * io/transfer.c (reverse_memcpy): Make static, move towards 372 beginning of file. 373 (bswap_array): New function. 374 (unformatted_read): Use bswap_array to byte swap the data 375 in-place. 376 (unformatted_write): Use a larger temp buffer and bswap_array. 377 (us_read): Use __builtin_bswapXX instead of reverse_memcpy. 378 (write_us_marker): Likewise. 379 3802013-01-14 Richard Sandiford <rdsandiford@googlemail.com> 381 382 Update copyright years. 383 3842013-01-06 Tobias Burnus <burnus@net-b.de> 385 386 PR fortran/54678 387 * intrinsics/env.c (get_environment_variable_i8): Don't use 388 uninitialized variable. 389 3902013-01-02 Jerry DeLisle <jvdelisle@gcc.gnu.org> 391 392 PR libfortran/55818 393 * io/list_read.c (read_real): Do not call hit_eof when EOF can be 394 treated as a value separator. 395 (parse_real): Likewise. 396 (read_logical): Likewise. 397 (read_character): Likewise. 398 (read_complex): Likewise. 399 400Copyright (C) 2013-2014 Free Software Foundation, Inc. 401 402Copying and distribution of this file, with or without modification, 403are permitted in any medium without royalty provided the copyright 404notice and this notice are preserved. 405