12019-12-01 Jerry DeLisle <jvdelisle@gcc.ngu.org> 2 3 PR fortran/90374 4 * io/format.c (parse_format_list): Add braces to disambiguate 5 conditional. 6 72019-11-28 Jerry DeLisle <jvdelisle@gcc.ngu.org> 8 9 PR fortran/90374 10 * io/format.c (parse_format_list): Relax format checking to allow 11 e0 exponent specifier. 12 132019-11-24 Jerry DeLisle <jvdelisle@gcc.ngu.org> 14 15 PR fortran/92100 16 * io/transfer.c (data_transfer_init_worker): Use fbuf_reset 17 instead of fbuf_flush before the seek. Note that fbuf_reset 18 calls fbuf_flush and adjusts fbuf pointers. 19 202019-11-23 Thomas Koenig <tkoenig@gcc.gnu.org> 21 Harald Anlauf <anlauf@gmx.de> 22 23 PR fortran/92569 24 * io/transfer.c (transfer_array_inner): If position is 25 at AFTER_ENDFILE in current unit, return from data loop. 26 272019-11-18 Maciej W. Rozycki <macro@wdc.com> 28 29 * Makefile.in: Regenerate. 30 312019-11-13 Tobias Burnus <tobias@codesourcery.com> 32 33 PR fortran/92470 34 * runtime/ISO_Fortran_binding.c (CFI_establish): Set lower_bound to 0 35 also for CFI_attribute_other. 36 372019-11-12 Tobias Burnus <tobias@codesourcery.com> 38 39 PR fortran/92470 40 * runtime/ISO_Fortran_binding.c (CFI_address): Handle non-zero 41 lower_bound; update error message. 42 (CFI_allocate): Fix comment typo. 43 (CFI_establish): Fix identation, fix typos, don't check values of 'dv' 44 argument. 45 462019-11-11 José Rui Faustino de Sousa <jrfsousa@gmail.com> 47 48 PR fortran/92142 49 * runtime/ISO_Fortran_binding.c (CFI_setpointer): Don't 50 override descriptor attribute; with -fcheck, check that 51 it is a pointer. 52 532019-11-06 Jerry DeLisle <jvdelisle@gcc.ngu.org> 54 55 PR fortran/90374 56 io/format.c (parse_format_list): Relax format checking for 57 zero width as default and when -std=f2018. 58 io/format.h (format_token): Move definition to io.h. 59 io/io.h (format_token): Add definition here to allow access to 60 this definition at higher levels. Rename the declaration of 61 write_real_g0 to write_real_w0 and add a new format_token 62 argument, allowing higher level functions to pass in the 63 token for handling of g0 vs the other zero width specifiers. 64 io/transfer.c (formatted_transfer_scalar_write): Add checks for 65 zero width and call write_real_w0 to handle it. 66 io/write.c (write_real_g0): Remove. 67 (write_real_w0): Add new, same as previous write_real_g0 except 68 check format token to handle the g0 case. 69 702019-10-31 Tobias Burnus <tobias@codesourcery.com> 71 72 PR fortran/92284. 73 * runtime/ISO_Fortran_binding.c (gfc_desc_to_cfi_desc): 74 752019-10-19 Paul Thomas <pault@gcc.gnu.org> 76 77 PR fortran/91926 78 * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Revert 79 the change made on 2019-10-05. 80 812019-10-08 Thomas Schwinge <thomas@codesourcery.com> 82 83 PR fortran/68401 84 * runtime/minimal.c (os_error_at): New function. 85 * runtime/minimal.c: Revise. 86 872019-10-05 Paul Thomas <pault@gcc.gnu.org> 88 89 PR fortran/91926 90 * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Do not 91 modify the bounds and offset for CFI_other. 92 932019-10-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> 94 95 PR libfortran/91593 96 * io/read.c (read_decimal): Cast constant to size_t to turn off 97 a bogus warning. 98 * io/write.c (btoa_big): Use memset in lieu of setting the null 99 byte in a string buffer to turn off a bogus warning. 100 1012019-09-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> 102 103 PR libfortran/91593 104 * io/io.h: Add gcc_unreachable(). 105 * io/transfer.c (file_mode, current_mode, 106 formatted_transfer_scalar_read, formatted_transfer_scalar_write, 107 pre_position, next_record_r, next_record_w): Add and use 108 FORMATTED_UNSPECIFIED to enumeration. 109 1102019-09-27 Maciej W. Rozycki <macro@wdc.com> 111 112 * configure: Regenerate. 113 1142019-09-05 Janne Blomqvist <jb@gcc.gnu.org> 115 116 * intrinsics/random.c (master_init): Replace with 117 master_state.init. 118 (njumps): Remove variable. 119 (master_state): Make instance of struct prng_state. 120 (init_rand_state): When jumping, update the master_state once 121 instead of keeping track of how many jumps need to be done. 122 (SZU64): Modify to handle new master_state. 123 (SZ): Likewise. 124 (random_seed_i4): Likewise. 125 (random_seed_i8): Likewise. 126 1272019-08-17 Janne Blomqvist <jb@gcc.gnu.org> 128 129 PR fortran/68401 130 * gfortran.map: Add GFORTRAN_10 node, add _gfortran_os_error_at 131 symbol. 132 * libgfortran.h (os_error_at): New prototype. 133 * runtime/error.c (os_error_at): New function. 134 1352019-08-13 Janne Blomqvist <jb@gcc.gnu.org> 136 137 PR fortran/91414 138 * intrinsics/random.c (prng_state): Update state struct. 139 (master_state): Update to match new size. 140 (get_rand_state): Update to match new PRNG. 141 (rotl): New function. 142 (xorshift1024star): Replace with prng_next. 143 (prng_next): New function. 144 (jump): Update for new PRNG. 145 (lcg_parkmiller): Replace with splitmix64. 146 (splitmix64): New function. 147 (getosrandom): Fix return value, simplify. 148 (init_rand_state): Use getosrandom only to get 8 bytes, splitmix64 149 to fill rest of state. 150 (random_r4): Update to new function and struct names. 151 (random_r8): Likewise. 152 (random_r10): Likewise. 153 (random_r16): Likewise. 154 (arandom_r4): Liekwise. 155 (arandom_r8): Likewise. 156 (arandom_r10): Likwewise. 157 (arandom_r16): Likewise. 158 (xor_keys): Reduce size to match new PRNG. 159 (random_seed_i4): Update to new function and struct names, remove 160 special handling of variable p used in previous PRNG. 161 (random_seed_i8): Likewise. 162 1632019-08-07 Janne Blomqvist <jb@gcc.gnu.org> 164 165 PR fortran/53796 166 * io/inquire.c (inquire_via_filename): Set recl to -1 for 167 unconnected units. 168 1692019-07-21 Thomas König <tkoenig@gcc.gnu.org> 170 171 PR libfortran/91030 172 * io/unix.c (BUFFER_SIZE): Delete. 173 (BUFFER_FORMATTED_SIZE_DEFAULT): New variable. 174 (BUFFER_UNFORMATTED_SIZE_DEFAULT): New variable. 175 (unix_stream): Add buffer_size. 176 (buf_read): Use s->buffer_size instead of BUFFER_SIZE. 177 (buf_write): Likewise. 178 (buf_init): Add argument unformatted. Handle block sizes 179 for unformatted vs. formatted, using defaults if provided. 180 (fd_to_stream): Add argument unformatted in call to buf_init. 181 * libgfortran.h (options_t): Add buffer_size_formatted and 182 buffer_size_unformatted. 183 * runtime/environ.c (variable_table): Add 184 GFORTRAN_UNFORMATTED_BUFFER_SIZE and 185 GFORTRAN_FORMATTED_BUFFER_SIZE. 186 1872019-06-25 Kwok Cheung Yeung <kcy@codesourcery.com> 188 Andrew Stubbs <ams@codesourcery.com> 189 190 * configure: Regenerate. 191 * configure.ac (LIBGFOR_MINIMAL): Do not use on AMD GCN. 192 1932019-06-14 Janne Blomqvist <jb@gcc.gnu.org> 194 195 PR fortran/65921 196 * runtime/memory.c (SIZE_MAX):Remove macro definition. 197 (xmallocarray): Use __builtin_mul_overflow. 198 1992019-05-22 Jeff Law <law@redhat.com> 200 201 PR fortran/89100 202 * io/format.c (parse_format_list): set default width when the 203 IOPARM_DT_DEC_EXT flag is set for i, f and g. 204 * io/io.h: add default_width_for_integer, default_width_for_float 205 and default_precision_for_float. 206 * io/write.c (write_boz): extra parameter giving length of data 207 corresponding to the type's kind. 208 (write_b): pass data length as extra parameter in calls to 209 write_boz. 210 (write_o): pass data length as extra parameter in calls to 211 write_boz. 212 (write_z): pass data length as extra parameter in calls to 213 write_boz. 214 (size_from_kind): also set size is default width is set. 215 * io/write_float.def (build_float_string): new paramter inserted 216 before result parameter. If default width use values passed 217 instead of the values in fnode. 218 (FORMAT_FLOAT): macro modified to check for default width and 219 calls to build_float_string to pass in default width. 220 (get_float_string): set width and precision to defaults when 221 needed. 222 2232019-05-19 Janne Blomqvist <jb@gcc.gnu.org> 224 225 PR libfortran/90038 226 * intrinsics/execute_command_line (sigchld_handler): New function. 227 (execute_command_line): Install handler for SIGCHLD. 228 * configure.ac: Check for presence of sigaction and waitpid. 229 * config.h.in: Regenerated. 230 * configure: Regenerated. 231 2322019-05-17 Janne Blomqvist <jb@gcc.gnu.org> 233 234 PR libfortran/90038 235 * configure.ac (AC_CHECK_FUNCS_ONCE): Check for posix_spawn. 236 * intrinsics/execute_command_line (execute_command_line): Use 237 posix_spawn. 238 * Makefile.in: Regenerated. 239 * config.h.in: Regenerated. 240 * configure: Regenerated. 241 2422019-05-17 Jakub Jelinek <jakub@redhat.com> 243 244 PR fortran/54613 245 * gfortran.map (GFORTRAN_9.2): Export _gfortran_{,m,s}findloc{0,1}_r10. 246 * Makefile.am (i_findloc0_c): Add $(srcdir)/generated/findloc0_r10.c. 247 (i_findloc1_c): Add $(srcdir)/generated/findloc1_r10.c. 248 * Makefile.in: Regenerated. 249 * generated/findloc0_r10.c: Generated. 250 * generated/findloc1_r10.c: Generated. 251 252 PR fortran/54613 253 * gfortran.map (GFORTRAN_9.2): New symbol version, export 254 _gfortran_{,m,s}findloc0_i2 in it. 255 2562019-05-15 Janne Blomqvist <jb@gcc.gnu.org> 257 258 PR fortran/90461 259 * io/open.c (new_unit): Don't check if the file is already open 260 for F2018. 261 2622019-05-02 Jakub Jelinek <jakub@redhat.com> 263 264 * Makefile.am (gfor_cdir): Remove $(MULTISUBDIR). 265 * Makefile.in: Regenerated. 266 2672019-04-14 Paul Thomas <pault@gcc.gnu.org> 268 269 PR fortran/89843 270 * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Only 271 return immediately if the source pointer is null. Bring 272 forward the extraction of the gfc type. Extract the kind so 273 that the element size can be correctly computed for sections 274 and components of derived type arrays. Remove the free of the 275 CFI descriptor since this is now done in trans-expr.c. 276 (gfc_desc_to_cfi_desc): Only allocate the CFI descriptor if it 277 is not null. 278 (CFI_section): Normalise the difference between the upper and 279 lower bounds by the stride to correctly calculate the extents 280 of the section. 281 282 PR fortran/89846 283 * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc): Use 284 the stride measure for the gfc span if it is not a multiple 285 of the element length. Otherwise use the element length. 286 287 PR fortran/90022 288 * runtime/ISO_Fortran_binding.c (CFI_is_contiguous) : Return 289 1 for true and 0 otherwise to comply with the standard. Correct 290 the contiguity check for rank 3 and greater by using the stride 291 measure of the lower dimension rather than the element length. 292 2932019-03-25 John David Anglin <danglin@gcc.gnu.org> 294 295 PR libgfortran/79540 296 * io/write_float.def (build_float_string): Don't copy digits when 297 ndigits is negative. 298 2992019-03-05 Jakub Jelinek <jakub@redhat.com> 300 301 PR libgfortran/89593 302 * caf/single.c (_gfortran_caf_sendget_by_ref): Cast &temp to 303 gfc_descriptor_t * to avoid warning. 304 3052019-02-26 Uroš Bizjak <ubizjak@gmail.com> 306 307 * io/transfer.c (transfer_array_inner): Do not 308 cast charlen to index_type. 309 3102019-02-25 Dominique d'Humieres <dominiq@gcc.gnu.org> 311 312 PR libfortran/89274 313 * io/write.c (write_integer): Add width for INTEGER(16). 314 3152019-02-23 Paul Thomas <pault@gcc.gnu.org> 316 317 PR fortran/89385 318 PR fortran/89366 319 * runtime/ISO_Fortran_binding.c (cfi_desc_to_gfc_desc) : In the 320 interchange between character and derived, the character type 321 was being set incorrectly. 322 (gfc_desc_to_cfi_desc) : Eliminate the interchange of types in 323 this function. Do not add the kind and length information to 324 the type field of structures. Lbounds were incorrectly being 325 set to zero for allocatable and pointer descriptors. Should 326 have been non-pointer, non-allocatables that received this 327 treatment. 328 3292019-01-30 Uroš Bizjak <ubizjak@gmail.com> 330 331 PR libfortran/88678 332 Revert: 333 2016-11-16 Szabolcs Nagy <szabolcs.nagy@arm.com> 334 335 PR libfortran/78314 336 * config/fpu-glibc.h (support_fpu_trap): Use feenableexcept. 337 3382019-01-30 Uroš Bizjak <ubizjak@gmail.com> 339 340 PR libfortran/88678 341 * config/fpu-glibc.h (set_fpu_trap_exceptions): Clear stalled 342 exception flags before changing trap mode. Optimize to call 343 feenableexcept and fedisableexcept only once. 344 3452019-01-28 Sebastian Huber <sebastian.huber@embedded-brains.de> 346 347 * io/async.c (init_adv_cond): Use __GTHREAD_COND_INIT_FUNCTION(). 348 3492019-01-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> 350 351 PR libfortran/89020 352 * io/close.c (st_close): Simplify text of error message to not 353 presume a specific cause of failure to remove file. 354 3552019-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> 356 357 PR libfortran/89020 358 * io/close.c (st_close): Fix typo. 359 3602019-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> 361 362 PR libfortran/89020 363 * io/close.c (st_close): Generate error if calls to 'remove' return 364 an error. 365 3662019-01-17 Andrew Stubbs <ams@codesourcery.com> 367 Kwok Cheung Yeung <kcy@codesourcery.com> 368 Julian Brown <julian@codesourcery.com> 369 Tom de Vries <tom@codesourcery.com> 370 371 * configure.ac: Use minimal mode for amdgcn. 372 * configure: Regenerate. 373 3742019-01-13 Jerry DeLisle <jvdelisle@gcc.gnu.org> 375 376 PR libfortran/88776 377 * io/open.c (newunit): Free format buffer if the unit specified is for 378 stdin, stdout, or stderr. 379 3802019-01-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> 381 382 PR libfortran/88776 383 * io/list_read.c (namelist_read): Use nml_err_ret path on read error 384 not based on stdin_unit. 385 3862019-01-12 Paul Thomas <pault@gcc.gnu.org> 387 388 * ISO_Fortran_binding.h : New file. 389 * Makefile.am : Include ISO_Fortran_binding.c in the list of 390 files to compile. 391 * Makefile.in : Regenerated. 392 * gfortran.map : Add _gfortran_cfi_desc_to_gfc_desc, 393 _gfortran_gfc_desc_to_cfi_desc and the CFI API functions. 394 * runtime/ISO_Fortran_binding.c : New file containing the new 395 functions added to the map. 396 3972019-01-12 Jakub Jelinek <jakub@redhat.com> 398 399 PR libfortran/88807 400 * m4/minloc0.m4: Reindent to avoid -Wmisleading-indentation warnings. 401 * generated/minloc0_4_i1.c: Regenerated. 402 * generated/minloc0_4_i2.c: Regenerated. 403 * generated/minloc0_4_i4.c: Regenerated. 404 * generated/minloc0_4_i8.c: Regenerated. 405 * generated/minloc0_4_i16.c: Regenerated. 406 * generated/minloc0_4_r4.c: Regenerated. 407 * generated/minloc0_4_r8.c: Regenerated. 408 * generated/minloc0_4_r10.c: Regenerated. 409 * generated/minloc0_4_r16.c: Regenerated. 410 * generated/minloc0_8_i1.c: Regenerated. 411 * generated/minloc0_8_i2.c: Regenerated. 412 * generated/minloc0_8_i4.c: Regenerated. 413 * generated/minloc0_8_i8.c: Regenerated. 414 * generated/minloc0_8_i16.c: Regenerated. 415 * generated/minloc0_8_r4.c: Regenerated. 416 * generated/minloc0_8_r8.c: Regenerated. 417 * generated/minloc0_8_r10.c: Regenerated. 418 * generated/minloc0_8_r16.c: Regenerated. 419 * generated/minloc0_16_i1.c: Regenerated. 420 * generated/minloc0_16_i2.c: Regenerated. 421 * generated/minloc0_16_i4.c: Regenerated. 422 * generated/minloc0_16_i8.c: Regenerated. 423 * generated/minloc0_16_i16.c: Regenerated. 424 * generated/minloc0_16_r4.c: Regenerated. 425 * generated/minloc0_16_r8.c: Regenerated. 426 * generated/minloc0_16_r10.c: Regenerated. 427 * generated/minloc0_16_r16.c: Regenerated. 428 4292019-01-09 Sandra Loosemore <sandra@codesourcery.com> 430 431 PR other/16615 432 * caf/single.c: Mechanically replace "can not" with "cannot". 433 * io/unit.c: Likewise. 434 4352019-01-07 Thomas Koenig <tkoenig@gcc.gnu.org> 436 Harald Anlauf <anlauf@gmx.de> 437 Tobias Burnus <burnus@gcc.gnu.org> 438 439 PR fortran/45424 440 * Makefile.am: Add intrinsics/is_contiguous.c. 441 * Makefile.in: Regenerated. 442 * gfortran.map: Add _gfortran_is_contiguous0. 443 * intrinsics/is_contiguous.c: New file. 444 * libgfortran.h: Add prototype for is_contiguous0. 445 4462019-01-07 Janne Blomqvist <jb@gcc.gnu.org> 447 448 * gfortran.map (GFORTRAN_9): Make GFORTRAN_9 node depend on 449 GFORTRAN_8. 450 4512019-01-01 Jakub Jelinek <jakub@redhat.com> 452 453 Update copyright years. 454 455Copyright (C) 2019-2020 Free Software Foundation, Inc. 456 457Copying and distribution of this file, with or without modification, 458are permitted in any medium without royalty provided the copyright 459notice and this notice are preserved. 460