12020-12-29 Paul Thomas <pault@gcc.gnu.org> 2 3 PR fortran/97612 4 * primary.c (build_actual_constructor): Missing allocatable 5 components are set unallocated using EXPR_NULL. Then missing 6 components are tested for a default initializer. 7 82020-12-29 Paul Thomas <pault@gcc.gnu.org> 9 10 PR fortran/93833 11 * trans-array.c (get_array_ctor_var_strlen): If the character 12 length backend_decl cannot be found, convert the expression and 13 use the string length. Clear up some minor white space issues 14 in the rest of the file. 15 162020-12-27 Paul Thomas <pault@gcc.gnu.org> 17 18 PR fortran/97694 19 PR fortran/97723 20 * check.c (allocatable_check): Select rank temporaries are 21 permitted even though they are treated as associate variables. 22 * resolve.c (gfc_resolve_code): Break on select rank as well as 23 select type so that the block os resolved. 24 * trans-stmt.c (trans_associate_var): Class associate variables 25 that are optional dummies must use the backend_decl. 26 272020-12-26 Paul Thomas <pault@gcc.gnu.org> 28 29 PR fortran/98022 30 * data.c (gfc_assign_data_value): Throw an error for inquiry 31 references. Follow with corrected code that would provide the 32 expected result and provides clean error recovery. 33 342020-12-26 Paul Thomas <pault@gcc.gnu.org> 35 36 PR fortran/83118 37 * trans-array.c (gfc_alloc_allocatable_for_assignment): Make 38 sure that class expressions are captured for dummy arguments by 39 use of gfc_get_class_from_gfc_expr otherwise the wrong vptr is 40 used. 41 * trans-expr.c (gfc_get_class_from_gfc_expr): New function. 42 (gfc_get_class_from_expr): If a constant expression is 43 encountered, return NULL_TREE; 44 (gfc_trans_assignment_1): Deallocate rhs allocatable components 45 after passing derived type function results to class lhs. 46 * trans.h : Add prototype for gfc_get_class_from_gfc_expr. 47 482020-12-25 Harald Anlauf <anlauf@gmx.de> 49 50 * data.c (gfc_assign_data_value): Restrict use of 51 create_character_initializer to constant initializers. 52 * trans-expr.c (gfc_conv_initializer): Ensure that character 53 initializer is constant, otherwise fall through to get the same 54 error handling as for non-character cases. 55 562020-12-20 Thomas Koenig <tkoenig@gcc.gnu.org> 57 58 * trans.c (create_var_debug_raw): Set DECL_ARTIFICIAL 59 on variables. 60 612020-12-18 Paul Thomas <pault@gcc.gnu.org> 62 63 PR fortran/83118 64 PR fortran/96012 65 * resolve.c (resolve_ordinary_assign): Generate a vtable if 66 necessary for scalar non-polymorphic rhs's to unlimited lhs's. 67 * trans-array.c (get_class_info_from_ss): New function. 68 (gfc_trans_allocate_array_storage): Defer obtaining class 69 element type until all sources of class exprs are tried. Use 70 class API rather than TREE_OPERAND. Look for class expressions 71 in ss->info by calling get_class_info_from_ss. After, obtain 72 the element size for class descriptors. Where the element type 73 is unknown, cast the data as character(len=size) to overcome 74 unlimited polymorphic problems. 75 (gfc_conv_ss_descriptor): Do not fix class variable refs. 76 (build_class_array_ref, structure_alloc_comps): Replace code 77 replicating the new function gfc_resize_class_size_with_len. 78 (gfc_alloc_allocatable_for_assignment): Obtain element size 79 for lhs in cases of deferred characters and class enitities. 80 Move code for the element size of rhs to start of block. Clean 81 up extraction of class parameters throughout this function. 82 After the shape check test whether or not the lhs and rhs 83 element sizes are the same. Use earlier evaluation of 84 'cond_null'. Reallocation of lhs only to happen if size changes 85 or element size changes. 86 * trans-expr.c (gfc_resize_class_size_with_len): New function. 87 (gfc_get_class_from_expr): If a constant expression is 88 encountered, return NULL_TREE; 89 (trans_scalar_class_assign): New function. 90 (gfc_conv_procedure_call): Ensure the vtable is present for 91 passing a non-class actual to an unlimited formal. 92 (trans_class_vptr_len_assignment): For expressions of type 93 BT_CLASS, extract the class expression if necessary. Use a 94 statement block outside the loop body. Ensure that 'rhs' is 95 of the correct type. Obtain rhs vptr in all circumstances. 96 (gfc_trans_scalar_assign): Call trans_scalar_class_assign to 97 make maximum use of the vptr copy in place of assignment. 98 (trans_class_assignment): Actually do reallocation if needed. 99 (gfc_trans_assignment_1): Simplify some of the logic with 100 'realloc_flag'. Set 'vptr_copy' for all array assignments to 101 unlimited polymorphic lhs. 102 * trans.c (gfc_build_array_ref): Call gfc_resize_class_size_ 103 with_len to correct span for unlimited polymorphic decls. 104 * trans.h : Add prototype for gfc_resize_class_size_with_len. 105 1062020-12-17 Tobias Burnus <tobias@codesourcery.com> 107 108 PR fortran/92587 109 * match.c (gfc_match_assignment): Move gfc_find_vtab call from here ... 110 * resolve.c (gfc_resolve_code): ... to here. 111 1122020-12-17 Harald Anlauf <anlauf@gmx.de> 113 114 PR fortran/98307 115 * trans-stmt.c (check_forall_dependencies): Extend dependency 116 check to allocatable components of derived types. 117 1182020-12-16 Harald Anlauf <anlauf@gmx.de> 119 120 PR fortran/98284 121 * resolve.c (check_data_variable): Reject DATA elements with the 122 ALLOCATABLE attribute. 123 1242020-12-15 Thomas Koenig <tkoenig@gcc.gnu.org> 125 126 PR fortran/90207 127 * invoke.texi: Document -fdebug-aux-vars. 128 * lang.opt: Add -fdebug-aux-vars. 129 * trans.c (MAX_PREFIX_LEN): New macro. 130 (create_var_debug_raw): New function. 131 (gfc_create_var_np): Call create_var_debug_raw if 132 flag_debug_aux_vars is set. 133 1342020-12-13 Thomas Koenig <tkoenig@gcc.gnu.org> 135 136 * dump-parse-tree.c (show_array_ref): Also show coarrays. 137 (debug): Implement for array reference. 138 1392020-12-12 Paul Thomas <pault@gcc.gnu.org> 140 141 PR fortran/98022 142 * data.c (gfc_assign_data_value): Handle inquiry references in 143 the data statement object list. 144 1452020-12-08 Tobias Burnus <tobias@codesourcery.com> 146 147 * dump-parse-tree.c (show_omp_clauses, show_omp_node, 148 show_code_node): Handle OMP SCAN. 149 * gfortran.h (enum gfc_statement): Add ST_OMP_SCAN. 150 (enum): Add OMP_LIST_SCAN_IN and OMP_LIST_SCAN_EX. 151 (enum gfc_exec_op): Add EXEC_OMP_SCAN. 152 * match.h (gfc_match_omp_scan): New prototype. 153 * openmp.c (gfc_match_omp_scan): New. 154 (gfc_match_omp_taskgroup): Cleanup. 155 (resolve_omp_clauses, gfc_resolve_omp_do_blocks, 156 omp_code_to_statement, gfc_resolve_omp_directive): Handle 'omp scan'. 157 * parse.c (decode_omp_directive, next_statement, 158 gfc_ascii_statement): Likewise. 159 * resolve.c (gfc_resolve_code): Handle EXEC_OMP_SCAN. 160 * st.c (gfc_free_statement): Likewise. 161 * trans-openmp.c (gfc_trans_omp_clauses, gfc_trans_omp_do, 162 gfc_split_omp_clauses): Handle 'omp scan'. 163 1642020-12-05 Paul Thomas <pault@gcc.gnu.org> 165 166 PR fortran/98016 167 * resolve.c (resolve_symbol): Set formal_arg_flag before 168 resolving an array spec and restore value afterwards. 169 1702020-12-03 Harald Anlauf <anlauf@gmx.de> 171 172 PR fortran/95342 173 * decl.c (gfc_match_function_decl): Avoid NULL pointer dereference. 174 (gfc_match_subroutine): Likewise. 175 1762020-11-30 Tobias Burnus <tobias@codesourcery.com> 177 178 PR fortran/98011 179 * scanner.c (skip_free_comments, skip_fixed_comments): If only 180 -fopenacc but not -fopenmp is used, ignore OpenMP's conditional 181 compilation sentinels. Fix indentation, use 'else if' for readability. 182 1832020-11-30 Tobias Burnus <tobias@codesourcery.com> 184 185 PR fortran/98010 186 PR fortran/98013 187 * options.c (gfc_post_options): Also imply recursive with 188 -fopenacc. 189 * trans-decl.c (gfc_generate_function_code): Simplify condition. 190 1912020-11-30 Tobias Burnus <tobias@codesourcery.com> 192 193 * dump-parse-tree.c (show_expr): Use '==' not '=' for '.eq.'. 194 1952020-11-29 Harald Anlauf <anlauf@gmx.de> 196 197 * expr.c (simplify_parameter_variable): Fix up character length 198 after copying an array-valued expression. 199 2002020-11-28 Thomas Koenig <tkoenig@gcc.gnu.org> 201 202 PR fortran/97454 203 * trans-decl.c (gfc_get_extern_function_decl): Add argument 204 fnspec. 205 * trans-intrinsic.c (MAX_SPEC_ARG): Define. 206 (intrinsic_fnspec): New function. 207 (ADD_CHAR): Define. 208 (specific_intrinsic_symbol): Adjust comment. Pass 209 fn spec to gfc_get_extern_function_decl. 210 (gfc_conv_intrinsic_funcall): Add ANY, ALL, NORM2, PRODUCT 211 and SUM intrnisic. Add FIXME for cshift et al. 212 * trans-types.c (gfc_get_function_type): Add fnspec argument, 213 handle it. 214 * trans-types.h (gfc_get_function_type): Add optinal fnspec 215 argument. 216 * trans.h (gfc_get_extern_function_decl): Likewise. 217 2182020-11-25 Harald Anlauf <anlauf@gmx.de> 219 220 PR fortran/85796 221 * resolve.c (traverse_data_list): Fix copy&paste errors; catch 222 step=0 in implied do loop. 223 2242020-11-20 Jakub Jelinek <jakub@redhat.com> 225 226 PR other/97911 227 * Make-lang.in (fortran.serial): Change from goal to a variable. 228 (.PHONY): Drop fortran.serial and fortran.prev. 229 (f951$(exeext)): Depend on $(fortran.serial) rather than 230 fortran.serial. 231 2322020-11-18 Jakub Jelinek <jakub@redhat.com> 233 234 * Make-lang.in (fortran.serial): New goal. 235 (.PHONY): Add fortran.serial fortran.prev. 236 (f951$(exeext)): Depend on fortran.prev. Call LINK_PROGRESS. 237 2382020-11-17 Harald Anlauf <anlauf@gmx.de> 239 240 * gfortran.texi: Fix description of GFC_RTCHECK_* to match actual 241 code. 242 2432020-11-16 Harald Anlauf <anlauf@gmx.de> 244 245 * trans-intrinsic.c (gfc_conv_intrinsic_size): Generate runtime 246 checking code for status of argument. 247 2482020-11-13 Gergö Barany <gergo@codesourcery.com> 249 Thomas Schwinge <thomas@codesourcery.com> 250 251 * lang.opt (fopenacc-kernels): Add. 252 2532020-11-12 Jakub Jelinek <jakub@redhat.com> 254 255 * f95-lang.c (ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LIST): 256 Define. 257 (gfc_init_builtin_functions): Add alloc_size and warn_unused_result 258 attributes to __builtin_GOMP_alloc. 259 * types.def (BT_PTRMODE): New primitive type. 260 (BT_FN_VOID_PTR_PTRMODE, BT_FN_PTR_SIZE_SIZE_PTRMODE): New function 261 types. 262 2632020-11-12 Tobias Burnus <tobias@codesourcery.com> 264 265 PR fortran/97782 266 * trans-openmp.c (gfc_trans_oacc_construct, gfc_trans_omp_parallel_do, 267 gfc_trans_omp_parallel_do_simd, gfc_trans_omp_parallel_sections, 268 gfc_trans_omp_parallel_workshare, gfc_trans_omp_sections 269 gfc_trans_omp_single, gfc_trans_omp_task, gfc_trans_omp_teams 270 gfc_trans_omp_target, gfc_trans_omp_target_data, 271 gfc_trans_omp_workshare): Use code->loc instead of input_location 272 when building the OMP_/OACC_ construct. 273 2742020-11-11 Jakub Jelinek <jakub@redhat.com> 275 276 PR fortran/97768 277 * misc.c (gfc_typename): Use ex->value.character.length only if 278 ex->expr_type == EXPR_CONSTANT. If ex->ts.deferred, print : instead 279 of length. If ex->ts.u.cl && ex->ts.u.cl->length == NULL, print * 280 instead of length. Otherwise if character length is non-constant, 281 print just CHARACTER or CHARACTER(KIND=N). 282 2832020-11-10 Tobias Burnus <tobias@codesourcery.com> 284 285 * dump-parse-tree.c (show_omp_clauses): Handle new reduction enums. 286 * gfortran.h (OMP_LIST_REDUCTION_INSCAN, OMP_LIST_REDUCTION_TASK, 287 OMP_LIST_IN_REDUCTION, OMP_LIST_TASK_REDUCTION): Add enums. 288 * openmp.c (enum omp_mask1): Add OMP_CLAUSE_IN_REDUCTION 289 and OMP_CLAUSE_TASK_REDUCTION. 290 (gfc_match_omp_clause_reduction): Extend reduction handling; 291 moved from ... 292 (gfc_match_omp_clauses): ... here. Add calls to it. 293 (OMP_TASK_CLAUSES, OMP_TARGET_CLAUSES, OMP_TASKLOOP_CLAUSES): 294 Add OMP_CLAUSE_IN_REDUCTION. 295 (gfc_match_omp_taskgroup): Add task_reduction matching. 296 (resolve_omp_clauses): Update for new reduction clause changes; 297 remove removed nonmonotonic-schedule restrictions. 298 (gfc_resolve_omp_parallel_blocks): Add new enums to switch. 299 * trans-openmp.c (gfc_omp_clause_default_ctor, 300 gfc_trans_omp_reduction_list, gfc_trans_omp_clauses, 301 gfc_split_omp_clauses): Handle updated reduction clause. 302 3032020-11-10 Tobias Burnus <tobias@codesourcery.com> 304 305 PR fortran/95847 306 * trans-decl.c (gfc_get_symbol_decl): Do not (re)set the location 307 of an external procedure. 308 (build_entry_thunks, generate_coarray_init, create_main_function, 309 gfc_generate_function_code): Use fndecl's location in BIND_EXPR. 310 3112020-11-09 Tobias Burnus <tobias@codesourcery.com> 312 313 PR fortran/90111 314 * parse.c (case_decl): Move ST_OACC_ROUTINE and ST_OACC_DECLARE to ... 315 (case_omp_decl): ... here. 316 (verify_st_order): Update comment. 317 3182020-11-06 Thomas Schwinge <thomas@codesourcery.com> 319 320 * openmp.c (oacc_is_parallel, resolve_oacc_params_in_parallel): 321 Remove. 322 (resolve_oacc_loop_blocks): Don't call the former. 323 3242020-11-06 Tobias Burnus <tobias@codesourcery.com> 325 326 * openmp.c (gfc_match_oacc_atomic): No longer accept 'update capture'. 327 3282020-11-06 Tobias Burnus <tobias@codesourcery.com> 329 330 PR fortran/97652 331 * module.c (mio_symbol): Fix symbol name for pdt_type. 332 3332020-11-03 Nathan Sidwell <nathan@acm.org> 334 335 * cpp.c (gfc_cpp_add_dep): Only add dependency if we're recording 336 them. 337 (gfc_cpp_init): Likewise for target. 338 3392020-11-03 Tobias Burnus <tobias@codesourcery.com> 340 341 * decl.c (ext_attr_list): Add EXT_ATTR_DEPRECATED. 342 * gfortran.h (ext_attr_id_t): Ditto. 343 * gfortran.texi (GCC$ ATTRIBUTES): Document it. 344 * resolve.c (resolve_variable, resolve_function, 345 resolve_call, resolve_values): Show -Wdeprecated-declarations warning. 346 * trans-decl.c (add_attributes_to_decl): Skip those 347 with no middle_end_name. 348 3492020-11-03 Thomas Schwinge <thomas@codesourcery.com> 350 351 PR fortran/92793 352 * trans-openmp.c (gfc_trans_omp_clauses): More precise location 353 information for OpenACC 'gang', 'worker', 'vector' clauses with 354 argument. 355 3562020-11-02 Thomas Schwinge <thomas@codesourcery.com> 357 358 PR fortran/92793 359 * trans.c (gfc_set_backend_locus): Use 'gfc_get_location'. 360 (gfc_restore_backend_locus): Adjust. 361 3622020-11-02 Tobias Burnus <tobias@codesourcery.com> 363 364 PR fortran/97655 365 * openmp.c (gfc_match_omp_atomic): Fix mem-order handling; 366 reject specifying update + capture together. 367 3682020-10-30 Tobias Burnus <tobias@codesourcery.com> 369 370 * dump-parse-tree.c (show_omp_clauses): Handle atomic clauses. 371 (show_omp_node): Call it for atomic. 372 * gfortran.h (enum gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_UNSET, 373 remove GFC_OMP_ATOMIC_SEQ_CST and GFC_OMP_ATOMIC_ACQ_REL. 374 (enum gfc_omp_memorder): Replace OMP_MEMORDER_LAST by 375 OMP_MEMORDER_UNSET, add OMP_MEMORDER_SEQ_CST/OMP_MEMORDER_RELAXED. 376 (gfc_omp_clauses): Add capture and atomic_op. 377 (gfc_code): remove omp_atomic. 378 * openmp.c (enum omp_mask1): Add atomic, capture, memorder clauses. 379 (gfc_match_omp_clauses): Match them. 380 (OMP_ATOMIC_CLAUSES): Add. 381 (gfc_match_omp_flush): Update for 'last' to 'unset' change. 382 (gfc_match_omp_oacc_atomic): Removed and placed content .. 383 (gfc_match_omp_atomic): ... here. Update for OpenMP 5 clauses. 384 (gfc_match_oacc_atomic): Match directly here. 385 (resolve_omp_atomic, gfc_resolve_omp_directive): Update. 386 * parse.c (parse_omp_oacc_atomic): Update for struct gfc_code changes. 387 * resolve.c (gfc_resolve_blocks): Update assert. 388 * st.c (gfc_free_statement): Also call for EXEC_O{ACC,MP}_ATOMIC. 389 * trans-openmp.c (gfc_trans_omp_atomic): Update. 390 (gfc_trans_omp_flush): Update for 'last' to 'unset' change. 391 3922020-10-30 Jan Hubicka <jh@suse.cz> 393 394 * trans-types.c: Include alias.h 395 (gfc_get_array_type_bounds): Set typeless storage. 396 3972020-10-27 Harald Anlauf <anlauf@gmx.de> 398 399 * resolve.c (gfc_impure_variable): A dummy argument with the VALUE 400 attribute may be redefined without making a procedure impure. 401 4022020-10-27 Richard Biener <rguenther@suse.de> 403 404 * trans-array.c (gfc_get_descriptor_field): New helper. 405 (gfc_conv_descriptor_data_get): Use it - drop strange 406 REFERENCE_TYPE handling and make sure we don't trigger it. 407 (gfc_conv_descriptor_data_addr): Use gfc_get_descriptor_field. 408 (gfc_conv_descriptor_data_set): Likewise. 409 (gfc_conv_descriptor_offset): Likewise. 410 (gfc_conv_descriptor_dtype): Likewise. 411 (gfc_conv_descriptor_span): Likewise. 412 (gfc_get_descriptor_dimension): Likewise. 413 (gfc_conv_descriptor_token): Likewise. 414 (gfc_conv_descriptor_subfield): New helper. 415 (gfc_conv_descriptor_stride): Use it. 416 (gfc_conv_descriptor_lbound): Likewise. 417 (gfc_conv_descriptor_ubound): Likewise. 418 4192020-10-25 Thomas Koenig <tkoenig@gcc.gnu.org> 420 421 PR fortran/97454 422 * gfortran.h (gfc_symbol): Add pass_as_value flag. 423 (gfc_copy_formal_args_intr): Add optional argument 424 copy_type. 425 (gfc_get_intrinsic_function_symbol): Add prototype. 426 (gfc_find_intrinsic_symbol): Add prototype. 427 * intrinsic.c (gfc_get_intrinsic_function_symbol): New function. 428 (gfc_find_intrinsic_symbol): New function. 429 * symbol.c (gfc_copy_formal_args_intr): Add argument. Handle case 430 where the type needs to be copied from the actual argument. 431 * trans-intrinsic.c (remove_empty_actual_arguments): New function. 432 (specific_intrinsic_symbol): New function. 433 (gfc_conv_intrinsic_funcall): Use it. 434 (strip_kind_from_actual): Adjust so that the expression pointer 435 is set to NULL. 436 (gfc_conv_intrinsic_minmaxloc): Likewise. 437 (gfc_conv_intrinsic_minmaxval): Adjust removal of dim. 438 * trans-types.c (gfc_sym_type): If sym->pass_as_value is set, do 439 not pass by reference. 440 4412020-10-22 Tobias Burnus <tobias@codesourcery.com> 442 443 * gfortran.h (enum gfc_omp_memorder): Add. 444 (gfc_omp_clauses): Use it. 445 * openmp.c (gfc_match_omp_flush): Match memorder clauses. 446 * trans-openmp.c (gfc_trans_omp_flush): Handle them. 447 (gfc_trans_omp_directive): Update call. 448 4492020-10-21 Tobias Burnus <tobias@codesourcery.com> 450 451 PR fortran/45516 452 * class.c: Add _deallocate to the vtable documentation 453 comment. 454 4552020-10-16 Harald Anlauf <anlauf@gmx.de> 456 457 PR fortran/95979 458 * expr.c (gfc_check_init_expr): Fix check of return code from 459 gfc_intrinsic_func_interface. 460 * intrinsic.c (gfc_intrinsic_func_interface): Add further attempt 461 of simplification of elemental intrinsics with array arguments. 462 * iresolve.c (gfc_resolve_index_func): Keep optional KIND argument 463 for simplification of elemental use of INDEX. 464 4652020-10-15 Andre Vehreschild <vehre@gcc.gnu.org> 466 467 * trans-decl.c (gfc_build_builtin_function_decls): Fix the coarray fndecls. 468 4692020-10-14 Tobias Burnus <tobias@codesourcery.com> 470 471 PR fortran/97390 472 * scanner.c (load_line): Fix line-truncation warning for !$acc 473 and !gcc$ in free-form source code. 474 4752020-10-14 Steven G. Kargl <kargl@gcc.gnu.org> 476 Mark Eggleston <markeggleston@gcc.gnu.org> 477 478 PR fortran/95614 479 * decl.c (gfc_get_common): Use gfc_match_common_name instead 480 of match_common_name. 481 * decl.c (gfc_bind_idents): Use gfc_match_common_name instead 482 of match_common_name. 483 * match.c : Rename match_common_name to gfc_match_common_name. 484 * match.c (gfc_match_common): Use gfc_match_common_name instead 485 of match_common_name. 486 * match.h : Rename match_common_name to gfc_match_common_name. 487 * resolve.c (resolve_common_vars): Check each symbol in a 488 common block has a global symbol. If there is a global symbol 489 issue an error if the symbol type is a module or a program. 490 4912020-10-12 Mark Eggleston <markeggleston@gcc.gnu.org> 492 493 PR fortran/96099 494 * decl.c (gfc_match_implicit): Check for numeric and logical 495 types. 496 4972020-10-07 Paul Thomas <pault@gcc.gnu.org> 498 499 PR fortran/47469 500 * trans-expr.c (arrayfunc_assign_needs_temporary): Tidy detection 501 of pointer and allocatable functions. 502 5032020-10-04 Harald Anlauf <anlauf@gmx.de> 504 505 PR fortran/97272 506 * trans-intrinsic.c (strip_kind_from_actual): Helper function for 507 removal of KIND argument. 508 (gfc_conv_intrinsic_minmaxloc): Ignore KIND argument here, as it 509 is treated elsewhere. 510 5112020-10-02 Jan Hubicka <hubicka@ucw.cz> 512 513 * trans-decl.c (gfc_build_library_function_decl_with_spec): Verify 514 fnspec. 515 (gfc_build_intrinsic_function_decls): Update fnspecs. 516 (gfc_build_builtin_function_decls): Update fnspecs. 517 * trans-io.c (gfc_build_io_library_fndecls): Update fnspecs. 518 * trans-types.c (create_fn_spec): Update fnspecs. 519 5202020-09-30 Jan Hubicka <jh@suse.cz> 521 522 * trans-decl.c (gfc_build_intrinsic_function_decls): Add traling dots 523 to spec strings so they match the number of parameters; do not use 524 R and W for non-pointer parameters. Drop pointless specifier on 525 caf_stop_numeric and caf_get_team. 526 5272020-09-30 Jan Hubicka <hubicka@ucw.cz> 528 529 * trans-io.c (gfc_build_io_library_fndecls): Add trailing dots so 530 length of spec string matches number of arguments. 531 5322020-09-30 Tobias Burnus <tobias@codesourcery.com> 533 534 PR fortran/97242 535 * expr.c (gfc_is_not_contiguous): Fix check. 536 (gfc_check_pointer_assign): Use it. 537 5382020-09-30 Paul Thomas <pault@gcc.gnu.org> 539 540 PR fortran/97045 541 * trans-array.c (gfc_conv_array_ref): Make sure that the class 542 decl is passed to build_array_ref in the case of unlimited 543 polymorphic entities. 544 * trans-expr.c (gfc_conv_derived_to_class): Ensure that array 545 refs do not preceed the _len component. Free the _len expr. 546 * trans-stmt.c (trans_associate_var): Reset 'need_len_assign' 547 for polymorphic scalars. 548 * trans.c (gfc_build_array_ref): When the vptr size is used for 549 span, multiply by the _len field of unlimited polymorphic 550 entities, when non-zero. 551 5522020-09-30 Tom de Vries <tdevries@suse.de> 553 554 * f95-lang.c (gfc_init_builtin_functions): Update 555 targetm.libc_has_function call. 556 5572020-09-28 Mark Eggleston <markeggleston@gcc.gnu.org> 558 559 Revert: 560 2020-09-27 Steven G. Kargl <kargl@gcc.gnu.org> 561 Mark Eggleston <markeggleston@gcc.gnu.org> 562 563 PR fortran/95614 564 * decl.c (gfc_get_common): Use gfc_match_common_name instead 565 of match_common_name. 566 * decl.c (gfc_bind_idents): Use gfc_match_common_name instead 567 of match_common_name. 568 * match.c : Rename match_common_name to gfc_match_common_name. 569 * match.c (gfc_match_common): Use gfc_match_common_name instead 570 of match_common_name. 571 * match.h : Rename match_common_name to gfc_match_common_name. 572 * resolve.c (resolve_common_vars): Check each symbol in a 573 common block has a global symbol. If there is a global symbol 574 issue an error if the symbol type is known as is not a common 575 block name. 576 5772020-09-27 Steven G. Kargl <kargl@gcc.gnu.org> 578 Mark Eggleston <markeggleston@gcc.gnu.org> 579 580 PR fortran/95614 581 * decl.c (gfc_get_common): Use gfc_match_common_name instead 582 of match_common_name. 583 * decl.c (gfc_bind_idents): Use gfc_match_common_name instead 584 of match_common_name. 585 * match.c : Rename match_common_name to gfc_match_common_name. 586 * match.c (gfc_match_common): Use gfc_match_common_name instead 587 of match_common_name. 588 * match.h : Rename match_common_name to gfc_match_common_name. 589 * resolve.c (resolve_common_vars): Check each symbol in a 590 common block has a global symbol. If there is a global symbol 591 issue an error if the symbol type is known as is not a common 592 block name. 593 5942020-09-24 Paul Thomas <pault@gcc.gnu.org> 595 596 PR fortran/96495 597 * trans-expr.c (gfc_conv_procedure_call): Take the deallocation 598 of allocatable result components of a scalar result outside the 599 scalarization loop. Find and use the stored result. 600 6012020-09-21 Harald Anlauf <anlauf@gmx.de> 602 Paul Thomas <pault@gcc.gnu.org> 603 604 * iresolve.c (gfc_resolve_mvbits): Remove unneeded conversion of 605 FROMPOS, LEN and TOPOS arguments to fit a C int. 606 * trans-intrinsic.c (gfc_conv_intrinsic_mvbits): Add inline 607 expansion of MVBITS intrinsic elemental subroutine and add code 608 for runtime argument checking. 609 (gfc_conv_intrinsic_subroutine): Recognise MVBITS intrinsic, but 610 defer handling to gfc_trans_call. 611 * trans-stmt.c (replace_ss): 612 (gfc_trans_call): Adjust to handle inline expansion, scalarization 613 of intrinsic subroutine MVBITS in gfc_conv_intrinsic_mvbits. 614 * trans.h (gfc_conv_intrinsic_mvbits): Add prototype for 615 gfc_conv_intrinsic_mvbits. 616 6172020-09-19 Sandra Loosemore <sandra@codesourcery.com> 618 619 * interface.c (gfc_compare_actual_formal): Add assertion after 620 main processing loop to silence maybe-uninitialized error. 621 6222020-09-19 Harald Anlauf <anlauf@gmx.de> 623 624 * symbol.c (gfc_check_conflict): Allow ELEMENTAL RECURSIVE 625 procedure prefix for -std=f2018. 626 6272020-09-17 Tobias Burnus <tobias@codesourcery.com> 628 629 PR fortran/96041 630 PR fortran/93423 631 * decl.c (gfc_match_submod_proc): Avoid later double-free 632 in the error case. 633 6342020-09-16 Tobias Burnus <tobias@codesourcery.com> 635 636 PR fortran/97061 637 * trans-openmp.c (gfc_trans_omp_do): Handle simd with (last)private. 638 6392020-09-15 Tobias Burnus <tobias@codesourcery.com> 640 641 PR fortran/96668 642 * trans.h (gfc_omp_finish_clause): Add bool openacc arg. 643 * trans-openmp.c (gfc_omp_finish_clause): Ditto. Use 644 GOMP_MAP_ALWAYS_POINTER with PSET for pointers. 645 (gfc_trans_omp_clauses): Like the latter and also if the always 646 modifier is used. 647 6482020-09-09 Tobias Burnus <tobias@codesourcery.com> 649 650 PR fortran/95109 651 PR fortran/94690 652 * resolve.c (gfc_resolve_code): Also call 653 gfc_resolve_omp_parallel_blocks for 'distribute parallel do (simd)'. 654 * openmp.c (gfc_resolve_omp_parallel_blocks): Handle it. 655 (gfc_resolve_do_iterator): Remove special code for SIMD, which is 656 not needed. 657 * trans-openmp.c (gfc_trans_omp_target): For TARGET_PARALLEL_DO_SIMD, 658 call simd not do processing function. 659 6602020-09-08 Thomas Koenig <tkoenig@gcc.gnu.org> 661 662 * intrinsic.texi: Fix description of FINDLOC result. 663 6642020-09-07 Harald Anlauf <anlauf@gmx.de> 665 666 * trans-intrinsic.c (build_round_expr): Use temporary with 667 appropriate kind for conversion before rounding to nearest 668 integer when the result precision is 128 bits. 669 6702020-09-07 Tobias Burnus <tobias@codesourcery.com> 671 672 PR fortran/96896 673 * resolve.c (get_temp_from_expr): Also reset proc_pointer + 674 use_assoc attribute. 675 (resolve_ptr_fcn_assign): Use information from the LHS. 676 6772020-09-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 678 679 * trans-types.c (gfc_get_derived_type): Fix argument types. 680 6812020-09-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 682 683 * resolve.c (resolve_select_type): Provide a formal arg list. 684 6852020-09-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 686 687 * trans-types.c (gfc_get_ppc_type): Add comment. 688 6892020-09-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 690 691 * trans-types.c (gfc_get_ppc_type): Fix function arg types. 692 6932020-09-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 694 695 PR fortran/96947 696 * trans-stmt.c (gfc_trans_fail_image): caf_fail_image 697 expects no argument. 698 6992020-09-02 Jakub Jelinek <jakub@redhat.com> 700 701 PR fortran/96859 702 * check.c (gfc_boz2real, gfc_boz2int): When clearing first two bits, 703 change also '2' to '0' and '3' to '1' rather than just handling '4' 704 through '7'. 705 7062020-09-01 Steven G. Kargl <kargl@gcc.gnu.org> 707 Mark Eggleston <markeggleston@gcc.gnu.org> 708 709 PR fortran/95398 710 * resolve.c (resolve_select_type): Add check for BT_CLASS 711 type before using the CLASS_DATA macro which will have a 712 NULL pointer to derive components if it isn't BT_CLASS. 713 7142020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com> 715 716 PR fortran/96728 717 * module.c (module_peek_char): Peek ahead function. 718 (parse_integer): Add code for parsing signed integers. 719 (parse_atom): Add code to handle signed integers. 720 (peek_atom): Add code to handle signed integers. 721 7222020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com> 723 724 PR fortran/96727 725 * expr.c (gfc_check_init_expr): Add default error message for the AS_ASSUMED_RANK case. 726 7272020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com> 728 729 PR fortran/96726 730 * expr.c (check_references): Change different relational operator 731 to less-than operator to avoid infinite loop. 732 7332020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com> 734 735 PR fortran/95352 736 * simplify.c (simplify_bound_dim): Add check for NULL pointer 737 before trying to access structure member. 738 7392020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com> 740 741 PR fortran/94110 742 * interface.c (gfc_compare_actual_formal): Add code to also raise 743 the actual argument cannot be an assumed-size array error when the 744 dummy arguments are deferred-shape or assumed-rank pointer. 745 7462020-08-28 Tobias Burnus <tobias@codesourcery.com> 747 748 PR fortran/94672 749 * trans-array.c (gfc_trans_g77_array): Check against the parm decl and 750 set the nonparm decl used for the is-present check to NULL if absent. 751 7522020-08-28 Paul Thomas <pault@gcc.gnu.org> 753 754 PR fortran/96624 755 * simplify.c (gfc_simplify_reshape): Detect zero shape and 756 clear index if found. 757 7582020-08-27 Mark Eggleston <markeggleston@gcc.gnu.org> 759 760 PR fortran/95882 761 * decl.c (char_len_param_value): Check gfc_seen_div0 and 762 if it is set return MATCH_ERROR. 763 7642020-08-27 Martin Liska <mliska@suse.cz> 765 766 * trans-openmp.c (gfc_trans_omp_do): Set exact argument of a vector 767 growth function to true. 768 7692020-08-26 Tobias Burnus <tobias@codesourcery.com> 770 771 * gfortran.h (enum gfc_omp_device_type): New. 772 (symbol_attribute, gfc_omp_clauses, gfc_common_head): Use it. 773 * module.c (enum ab_attribute): Add AB_OMP_DEVICE_TYPE_HOST, 774 AB_OMP_DEVICE_TYPE_NOHOST and AB_OMP_DEVICE_TYPE_ANY. 775 (attr_bits, mio_symbol_attribute): Handle it. 776 (load_commons, write_common_0): Handle omp_device_type flag. 777 * openmp.c (enum omp_mask1): Add OMP_CLAUSE_DEVICE_TYPE 778 (OMP_DECLARE_TARGET_CLAUSES): Likewise. 779 (gfc_match_omp_clauses): Match 'device_type'. 780 (gfc_match_omp_declare_target): Handle it. 781 * trans-common.c (build_common_decl): Write device-type clause. 782 * trans-decl.c (add_attributes_to_decl): Likewise. 783 7842020-08-23 Paul Thomas <pault@gcc.gnu.org> 785 786 PR fortran/96737 787 * trans-types.c (gfc_get_derived_type): Derived types that are 788 used in submodules are not compatible with TYPE_CANONICAL from 789 any of the global namespaces. 790 7912020-08-20 Paul Thomas <pault@gcc.gnu.org> 792 793 PR fortran/96100 794 PR fortran/96101 795 * trans-array.c (get_array_charlen): Tidy up the evaluation of 796 the string length for array constructors. Avoid trailing array 797 references. Ensure string lengths of deferred length components 798 are set. For parentheses operator apply string length to both 799 the primary expression and the enclosed expression. 800 8012020-08-20 Andre Vehreschild <vehre@gcc.gnu.org> 802 803 PR fortran/94958 804 * trans-array.c (gfc_bcast_alloc_comp): Use the correct variable. 805 8062020-08-20 Tobias Burnus <tobias@codesourcery.com> 807 808 * openmp.c (gfc_match_omp_clauses): Re-order 'if' clause pasing 809 to avoid creating spurious symbols. 810 8112020-08-18 Harald Anlauf <anlauf@gmx.de> 812 813 * check.c (check_rest): Reject MIN/MAX character arguments of 814 different kind. 815 * simplify.c (min_max_choose): The simplification result shall 816 have the highest kind value of the arguments. 817 * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Choose type and 818 kind of intermediate by looking at all arguments, not the result. 819 8202020-08-17 Martin Liska <mliska@suse.cz> 821 822 * openmp.c (resolve_omp_clauses): Add static assert 823 for OMP_LIST_NUM and size of clause_names array. 824 Remove check that is always true. 825 8262020-08-17 Martin Liska <mliska@suse.cz> 827 828 * openmp.c (resolve_omp_clauses): Add NONTEMPORAL to clause 829 names. 830 8312020-08-13 Andre Vehreschild <vehre@gcc.gnu.org> 832 833 PR fortran/93671 834 * trans-array.c (structure_alloc_comps): Keep caf-mode when applying to 835 components; get the caf_token correctly for allocated scalar components. 836 8372020-08-13 Matthew Krupcale <mkrupcale@matthewkrupcale.com> 838 839 PR fortran/96595 840 * invoke.texi: Fix typos. 841 8422020-08-12 Tobias Burnus <tobias@codesourcery.com> 843 844 * gfortran.h: Add OMP_LIST_NONTEMPORAL. 845 * dump-parse-tree.c (show_omp_clauses): Dump it 846 * openmp.c (enum omp_mask1): Add OMP_CLAUSE_NOTEMPORAL. 847 (OMP_SIMD_CLAUSES): Add it. 848 (gfc_match_omp_clauses): Match nontemporal clause. 849 * trans-openmp.c (gfc_trans_omp_clauses): Process 850 nontemporal clause. 851 8522020-08-10 Thomas Koenig <tkoenig@gcc.gnu.org> 853 854 PR fortran/96556 855 * frontend-passes.c (doloop_contained_function_call): 856 Do not dereference a NULL pointer for value.function.esym. 857 8582020-08-10 Paul Thomas <pault@gcc.gnu.org> 859 860 PR fortran/96312 861 * trans-expr.c (fcncall_realloc_result): Only compare shapes if 862 lhs was allocated.. 863 8642020-08-10 Paul Thomas <pault@gcc.gnu.org> 865 866 PR fortran/96102 867 * resolve.c (check_host_association): Replace the gcc_assert 868 with an error for internal procedures. 869 8702020-08-05 Thomas Koenig <tkoenig@gcc.gnu.org> 871 872 PR fortran/96469 873 * frontend-passes.c (doloop_contained_function_call): New 874 function. 875 (doloop_contained_procedure_code): New function. 876 (CHECK_INQ): Macro for inquire checks. 877 (doloop_code): Invoke doloop_contained_procedure_code and 878 doloop_contained_function_call if appropriate. 879 (do_intent): Likewise. 880 8812020-08-04 Tobias Burnus <tobias@codesourcery.com> 882 883 * openmp.c (resolve_omp_do): Detect not perfectly 884 nested loop with innermost collapse. 885 8862020-08-04 Tobias Burnus <tobias@codesourcery.com> 887 888 * trans-openmp.c (gfc_trans_omp_do): Fix 'lastprivate(conditional:'. 889 8902020-08-03 Julian Brown <julian@codesourcery.com> 891 Thomas Schwinge <thomas@codesourcery.com> 892 893 * trans-openmp.c (gfc_trans_omp_clauses): Don't create present/release 894 mappings for array descriptors. 895 8962020-08-03 Martin Jambor <mjambor@suse.cz> 897 898 * f95-lang.c (gfc_init_builtin_functions): Remove processing of 899 hsa-builtins.def. 900 9012020-08-03 Tobias Burnus <tobias@codesourcery.com> 902 903 * gfc-internals.texi: Fix typos. 904 * gfortran.texi: Likewise. 905 * intrinsic.texi: Likewise. 906 * invoke.texi: Likewise. 907 9082020-08-02 Paul Thomas <pault@gcc.gnu.org> 909 910 PR target/96320 911 * interface.c (gfc_check_dummy_characteristics): If a module 912 procedure arrives with assumed shape in the interface and 913 deferred shape in the procedure itself, update the latter and 914 copy the lower bounds. 915 9162020-08-02 Paul Thomas <pault@gcc.gnu.org> 917 918 PR fortran/96325 919 * primary.c (gfc_match_varspec): In the case that a component 920 reference is added to an intrinsic type component, emit the 921 error message in this function. 922 9232020-07-29 Tobias Burnus <tobias@codesourcery.com> 924 925 * dump-parse-tree.c (show_omp_clauses): Handle order(concurrent). 926 * gfortran.h (struct gfc_omp_clauses): Add order_concurrent. 927 * openmp.c (enum omp_mask1, OMP_DO_CLAUSES, OMP_SIMD_CLAUSES): 928 Add OMP_CLAUSE_ORDER. 929 * trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses): 930 Handle order(concurrent) clause. 931 9322020-07-29 Tobias Burnus <tobias@codesourcery.com> 933 934 * openmp.c (resolve_omp_clauses): Permit 'omp target data' without 935 map if use_device_{addr,ptr} is present. 936 9372020-07-29 Mark Eggleston <markeggleston@gcc.gnu.org> 938 939 PR fortran/96319 940 * intrinsic.c (gfc_convert_type_warn): Add check for 941 LOGICAL type so that warnings are not output. 942 9432020-07-29 Tobias Burnus <tobias@codesourcery.com> 944 945 * module.c (mio_symbol_attribute): Fix indent of previous 946 commit. 947 9482020-07-29 Mark Eggleston <markeggleston@gcc.gnu.org> 949 950 PR fortran/53298 951 * trans-array.c (gfc_walk_array_ref): If ref->ss.end is set 952 call gfc_get_scalar_ss. 953 9542020-07-29 Tobias Burnus <tobias@codesourcery.com> 955 956 * gfortran.h (enum gfc_statement): Add ST_OMP_REQUIRES. 957 (enum gfc_omp_requires_kind): New. 958 (enum gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_ACQ_REL. 959 (struct gfc_namespace): Add omp_requires and omp_target_seen. 960 (gfc_omp_requires_add_clause, 961 (gfc_check_omp_requires): New. 962 * match.h (gfc_match_omp_requires): New. 963 * module.c (enum ab_attribute, attr_bits): Add omp requires clauses. 964 (mio_symbol_attribute): Read/write them. 965 * openmp.c (gfc_check_omp_requires, (gfc_omp_requires_add_clause, 966 gfc_match_omp_requires): New. 967 (gfc_match_omp_oacc_atomic): Use requires's default mem-order. 968 * parse.c (decode_omp_directive): Match requires, set omp_target_seen. 969 (gfc_ascii_statement): Handle ST_OMP_REQUIRES. 970 * trans-openmp.c (gfc_trans_omp_atomic): Handle GFC_OMP_ATOMIC_ACQ_REL. 971 9722020-07-27 Tobias Burnus <tobias@codesourcery.com> 973 974 * openmp.c (gfc_resolve_omp_directive): Remove NULL check 975 for clauses in EXEC_OMP_CRITICAL as it no longer can be NULL. 976 9772020-07-23 Tobias Burnus <tobias@codesourcery.com> 978 979 * gfortran.h (gfc_omp_namelist): Add lastprivate_conditional. 980 * openmp.c (gfc_match_omp_clauses): Handle 'conditional:' 981 modifier of 'lastprivate'. 982 * trans-openmp.c (gfc_omp_clause_default_ctor): Don't assert 983 on OMP_CLAUSE__CONDTEMP_ and other OMP_*TEMP_. 984 (gfc_trans_omp_variable_list): Handle lastprivate_conditional. 985 9862020-07-23 Tobias Burnus <tobias@codesourcery.com> 987 988 * intrinsic.texi (OMP_LIB_KINDS): Add omp_depend_kind. 989 9902020-07-23 Tobias Burnus <tobias@codesourcery.com> 991 992 * gfortran.texi (Standards): Update URL; state that OpenMP 4.5 993 is supported and 5.0 is partially. 994 * intrinsic.texi (OpenMP Modules): Refer also to OpenMP 5.0; 995 (OMP_LIB): Add missing derived type and new named constants. 996 9972020-07-22 Tobias Burnus <tobias@codesourcery.com> 998 999 * gfortran.h (enum gfc_omp_if_kind): Add OMP_IF_CANCEL and OMP_IF_SIMD. 1000 * openmp.c (OMP_SIMD_CLAUSES): Add OMP_CLAUSE_IF. 1001 (gfc_match_omp_clauses, resolve_omp_clauses): Handle 'if (simd/cancel:'. 1002 * dump-parse-tree.c (show_omp_clauses): Likewise. 1003 * trans-openmp.c (gfc_trans_omp_clauses, gfc_trans_omp_cancel, 1004 (gfc_split_omp_clauses): Likewise. 1005 10062020-07-22 Tobias Burnus <tobias@codesourcery.com> 1007 1008 * openmp.c (gfc_match_omp_critical): Fix handling hints; permit 1009 hint clause without named critical. 1010 (resolve_omp_clauses): Require nonnegative constant integer 1011 for the hint clause. 1012 (gfc_resolve_omp_directive): Check for no name but 1013 nonzero value for hint clause. 1014 * parse.c (parse_omp_structured_block): Fix same-name check 1015 for critical. 1016 * trans-openmp.c (gfc_trans_omp_critical): Handle hint clause properly. 1017 10182020-07-21 Harald Anlauf <anlauf@gmx.de> 1019 1020 PR fortran/89574 1021 * trans-decl.c (gfc_get_extern_function_decl): Check whether a 1022 symbol belongs to a different module. 1023 10242020-07-19 Thomas Koenig <tkoenig@gcc.gnu.org> 1025 1026 PR fortran/96220 1027 * dump-parse-tree.c (get_c_type_name): Always use the entries from 1028 c_interop_kinds_table to find the correct C type. 1029 10302020-07-19 Thomas Koenig <tkoenig@gcc.gnu.org> 1031 1032 PR fortran/96018 1033 * frontend-passes.c (gfc_check_externals): Adjust formatting. 1034 (implicit_pure_call): New function. 1035 (implicit_pure_expr): New function. 1036 (gfc_fix_implicit_pure): New function. 1037 * gfortran.h (gfc_fix_implicit_pure): New prototype. 1038 * parse.c (translate_all_program_units): Call gfc_fix_implicit_pure. 1039 10402020-07-18 David Edelsohn <dje.gcc@gmail.com> 1041 1042 * check.c (gfc_invalid_boz): Mark hint for translation using _(). 1043 10442020-07-16 Julian Brown <julian@codesourcery.com> 1045 Thomas Schwinge <thomas@codesourcery.com> 1046 1047 * trans-openmp.c (gfc_trans_omp_clauses): Rework OpenACC 1048 attach/detach handling for arrays with descriptors. 1049 10502020-07-14 Steven G. Kargl <kargl@gcc.gnu.org> 1051 Mark Eggleston <markeggleston@gcc.gnu.org> 1052 1053 PR fortran/95612 1054 * expr.c (gfc_check_pointer_assigb): Output an error if 1055 rvalue is a zero sized array or output an error if rvalue 1056 doesn't have a symbol tree. 1057 10582020-07-14 Tobias Burnus <tobias@codesourcery.com> 1059 1060 * openmp.c (gfc_match_omp_clauses): Match also derived-type 1061 component refs in OMP_CLAUSE_MAP. 1062 (resolve_omp_clauses): Resolve those. 1063 * trans-openmp.c (gfc_trans_omp_array_section, gfc_trans_omp_clauses): 1064 Handle OpenMP structure-element mapping. 1065 (gfc_trans_oacc_construct, gfc_trans_oacc_executable_directive, 1066 (gfc_trans_oacc_combined_directive, gfc_trans_oacc_declare): Update 1067 add openacc=true in gfc_trans_omp_clauses call. 1068 10692020-07-14 Tobias Burnus <tobias@codesourcery.com> 1070 1071 PR fortran/67311 1072 * trans-openmp.c (gfc_has_alloc_comps): Return false also for 1073 pointers to arrays. 1074 10752020-07-14 Steven G. Kargl <kargl@gcc.gnu.org> 1076 Mark Eggleston <markeggleston@gcc.gnu.org> 1077 1078 PR fortran/96038 1079 * decl.c (add_init_expr_sym): For a symbol that is a 1080 parameter accept an initialisation if it does not have a 1081 value otherwise output a error and reject. 1082 10832020-07-13 Mark Eggleston <markeggleston@gcc.gnu.org> 1084 1085 PR fortran/45337 1086 * resolve.c (resolve_fl_variable): Remove type and intent 1087 checks from the check for dummy. 1088 10892020-07-13 Steven G. Kargl <kargl@gcc.gnu.org> 1090 Mark Eggleston <markeggleston@gcc.gnu.org> 1091 1092 PR fortran/95981 1093 * check.c (dim_rank_check): Allow NULL references in call to 1094 gfc_find_array_ref and return false if no reference is found. 1095 10962020-07-11 Thomas Koenig <tkoenig@gcc.gnu.org> 1097 1098 PR fortran/96073 1099 * frontend-passes.c (check_externals_procedure): Add locus 1100 information for new_sym. 1101 * interface.c (gfc_check_dummy_characteristics): Do not warn 1102 about INTENT for artificially generated variables. 1103 11042020-07-10 Harald Anlauf <anlauf@gmx.de> 1105 1106 PR fortran/95980 1107 * class.c (gfc_add_component_ref, gfc_build_class_symbol): 1108 Add checks for NULL pointer dereference. 1109 * primary.c (gfc_variable_attr): Likewise. 1110 * resolve.c (resolve_variable, resolve_assoc_var) 1111 (resolve_fl_var_and_proc, resolve_fl_variable_derived) 1112 (resolve_symbol): Likewise. 1113 11142020-07-10 Harald Anlauf <anlauf@gmx.de> 1115 1116 PR fortran/96086 1117 * match.c (gfc_match_select_rank): Catch NULL pointer 1118 dereference. 1119 * resolve.c (resolve_assoc_var): Catch NULL pointer dereference 1120 that may occur after an illegal declaration. 1121 11222020-07-09 Julian Brown <julian@codesourcery.com> 1123 1124 * trans-openmp.c (gfc_trans_omp_clauses): Use 'inner' not 'decl' for 1125 derived type members which themselves have derived types. 1126 11272020-07-08 Harald Anlauf <anlauf@gmx.de> 1128 1129 PR fortran/96085 1130 * resolve.c (gfc_resolve_code): Check whether assign target is a 1131 parameter. 1132 11332020-07-06 Harald Anlauf <anlauf@gmx.de> 1134 1135 PR fortran/95980 1136 * match.c (copy_ts_from_selector_to_associate, build_class_sym): 1137 Distinguish between unlimited polymorphic and ordinary variables 1138 to avoid NULL pointer dereference. 1139 * resolve.c (resolve_select_type): 1140 Distinguish between unlimited polymorphic and ordinary variables 1141 to avoid NULL pointer dereference. 1142 11432020-07-06 Harald Anlauf <anlauf@gmx.de> 1144 1145 PR fortran/95709 1146 * resolve.c (gfc_resolve_code): Check for valid arguments to 1147 assigned GOTO. 1148 11492020-07-05 Thomas Koenig <tkoenig@gcc.gnu.org> 1150 1151 PR fortran/27318 1152 * frontend-passes.c (check_against_globals): New function. 1153 (gfc_check_externals): Split; also invoke check_against_globals 1154 via gfc_traverse_ns. 1155 (gfc_check_externals0): Recursive part formerly in 1156 gfc_check_externals. 1157 * resolve.c (resolve_global_procedure): Set sym->error on 1158 interface mismatch. 1159 * symbol.c (ambiguous_symbol): Check for, and set sym->error. 1160 11612020-07-02 Harald Anlauf <anlauf@gmx.de> 1162 1163 PR fortran/93423 1164 * resolve.c (resolve_symbol): Avoid NULL pointer dereference. 1165 11662020-07-02 Harald Anlauf <anlauf@gmx.de> 1167 1168 PR fortran/93337 1169 * class.c (gfc_find_derived_vtab): Punt if name is not set. 1170 11712020-07-02 Mark Eggleston <markeggleston@gcc.gnu.org> 1172 1173 PR fortran/52279 1174 * check.c (gfc_invalid_boz): Change array declaration for 1175 hint into a pointer. 1176 11772020-07-02 Steven G. Kargl <kargl@gcc.gnu.org> 1178 Mark Eggleston <markeggleston@gcc.gnu.org> 1179 1180 PR fortran/95584 1181 * interface.c (generic_correspondence): Only use the pointer 1182 to a symbol if exists. 1183 11842020-07-01 David Edelsohn <dje.gcc@gmail.com> 1185 1186 * check.c (gfc_invalid_boz): Fix bootstrap. Revert 1187 Mark hint for translation using _(). 1188 11892020-07-01 Mark Eggleston <markeggleston@gcc.gnu.org> 1190 1191 PR fortran/52279 1192 * arith.c (reduce_binary_aa): Mark for translation the string 1193 parameter to gfc_check_conformance with G_(). 1194 * check.c (gfc_invalid_boz): Mark hint for translation using 1195 _(). (gfc_check_achar): Mark for translation the message 1196 parameter to gfc_invalid_boz using G_(). (gfc_check_char): 1197 Mark for translation the message parameter to gfc_invalid_boz 1198 using G_(). (gfc_check_complex): Mark for translation the 1199 message parameter to gfc_invalid_boz using G_(). 1200 (gfc_check_float): Mark for translation the message 1201 parameter to gfc_invalid_boz using G_(). (check_rest): Mark 1202 for translation the string parameter to gfc_check_conformance 1203 with _(). (gfc_check_minloc_maxloc): Mark for translation 1204 the string parameter to gfc_check_conformance with _(). 1205 (gfc_check_findloc): Mark for translation the string parameter 1206 to gfc_check_conformance with _(). (check_reduction): Mark 1207 for translation the string parameter to gfc_check_conformance 1208 with _(). (gfc_check_pack): Mark for translation the string 1209 parameter to gfc_check_conformance with _(). 1210 * decl.c (match_old_style_init): Mark for translation the 1211 message parameter to gfc_invalid_boz using G_(). 1212 * expr.c (gfc_check_assign): Mark for translation the string 1213 parameter to gfc_check_conformance with _(). 1214 * intrinsic.c (check_specific): Mark for translation the string 1215 parameter to gfc_check_conformance with _(). 1216 (gfc_check_intrinsic_standard): Mark symstd_msg strings for 1217 translation using G_(). No need to mark symstd_msg for 1218 translation in call to gfc_warning or when setting symstd. 1219 * io.c (check_open_constraints): Mark strings for translation 1220 using G_() in all calls to warn_or_error. (match_io_element): 1221 Mark for translation the message parameter to gfc_invalid_boz 1222 using G_(). 1223 * primary.c (match_boz_constant): Mark for translation the 1224 message parameter to gfc_invalid_boz using G_(). 1225 * resolve.c (resolve_elemental_actual): Mark for translation 1226 the string parameter to gfc_check_conformance with _(). 1227 (resolve_operator): Mark for translation the string parameter 1228 to gfc_check_conformance with _(). Mark translation strings 1229 assigned to msg using G_() for use in a call to cfg_warning. 1230 12312020-07-01 Steven G. Kargl <kargl@gcc.gnu.org> 1232 Mark Eggleston <markeggleston@gcc.gnu.org> 1233 1234 PR fortran/95446 1235 * resolve.c (resolve_elemental_actual): Add code to check for 1236 non-optional argument of the same rank. Revise warning message 1237 to refer to the Fortran 2018 standard. 1238 12392020-07-01 Steven G. Kargl <kargl@gcc.gnu.org> 1240 Mark Eggleston <markeggleston@gcc.gnu.org> 1241 1242 PR fortran/95829 1243 * decl.c (gfc_match_decl_type_spec): Compare with "* ) " instead 1244 of "*)". 1245 12462020-06-30 Harald Anlauf <anlauf@gmx.de> 1247 1248 PR fortran/88379 1249 * resolve.c (resolve_assoc_var): Avoid NULL pointer dereference. 1250 12512020-06-30 Thomas Koenig <tkoenig@gcc.gnu.org> 1252 1253 PR fortran/95355 1254 * gfortran.h (gfc_typename): Add optional argument for_hash. 1255 * misc.c (gfc_typename): When for_hash is true, just retur 1256 CHARACTER(kind). 1257 * class.c (gfc_intrinsic_hash_value): Call gfc_typename with 1258 for_hash = true. 1259 12602020-06-29 Harald Anlauf <anlauf@gmx.de> 1261 1262 PR fortran/95978 1263 * decl.c (gfc_match_data): Avoid NULL pointer dereference. 1264 12652020-06-29 Thomas Koenig <tkoenig@gcc.gnu.org> 1266 1267 PR fortran/95743 1268 * trans-decl.c (gfc_generate_function_code): Do not generate 1269 recursion check for compiler-generated procedures. 1270 12712020-06-29 Harald Anlauf <anlauf@gmx.de> 1272 1273 PR fortran/71706 1274 * trans-stmt.c (gfc_trans_sync): Do proper kind conversion in 1275 bounds-checking code. 1276 12772020-06-28 Harald Anlauf <anlauf@gmx.de> 1278 1279 PR fortran/95340 1280 * match.c (gfc_match_select_rank): Do not dereference NULL pointer. 1281 12822020-06-28 Harald Anlauf <anlauf@gmx.de> 1283 1284 PR fortran/95880 1285 * symbol.c (gfc_add_type): If sym->ns->proc_name is set, use it, 1286 otherwise fall back to sym->name. 1287 12882020-06-27 Harald Anlauf <anlauf@gmx.de> 1289 1290 PR fortran/95881 1291 * resolve.c (resolve_symbol): Avoid NULL pointer dereference. 1292 12932020-06-25 Harald Anlauf <anlauf@gmx.de> 1294 1295 PR fortran/95828 1296 * match.c (select_rank_set_tmp): Enlarge internal buffer used in 1297 generating a mangled name. 1298 * resolve.c (resolve_select_rank): Likewise. 1299 13002020-06-25 Harald Anlauf <anlauf@gmx.de> 1301 1302 PR fortran/95826 1303 * decl.c (gfc_match_decl_type_spec): Replace a fixed size 1304 buffer by a pointer and reallocate if necessary. 1305 13062020-06-25 Tobias Burnus <tobias@codesourcery.com> 1307 1308 PR fortran/95837 1309 * resolve.c (gfc_resolve_substring_charlen): Remove 1310 bogus ts.kind setting for the expression. 1311 13122020-06-25 Tobias Burnus <tobias@codesourcery.com> 1313 Kwok Cheung Yeung <kcy@codesourery.com> 1314 1315 PR fortran/95869 1316 * trans-openmp.c (gfc_trans_omp_target): Use correct scoping block. 1317 13182020-06-25 Kwok Cheung Yeung <kcy@codesourcery.com> 1319 1320 * trans-openmp.c (gfc_split_omp_clauses): Add if clause 1321 to target and simd sub-constructs. 1322 13232020-06-24 Harald Anlauf <anlauf@gmx.de> 1324 1325 PR fortran/95827 1326 * iresolve.c (gfc_get_string): Enlarge internal buffer used in 1327 generating the mangled name. 1328 13292020-06-23 Thomas Koenig <tkoenig@gcc.gnu.org> 1330 1331 PR fortran/95812 1332 * dependency.c (ref_same_as_full_array): Handle case of AR_FULL 1333 vs. AR_FULL. 1334 13352020-06-23 Steven G. Kargl <kargl@gcc.gnu.org> 1336 Mark Eggleston <markeggleston@gcc.gnu.org> 1337 1338 PR fortran/95586 1339 * decl.c (gfc_match_implicit): Only perform else branch if 1340 the type spect is not BT_DERIVED. 1341 13422020-06-22 Steven G. Kargl <kargl@gcc.gnu.org> 1343 Mark Eggleston <markeggleston@gcc.gnu.org> 1344 1345 PR fortran/95708 1346 * intrinsic.c (add_functions): Replace CLASS_INQUIRY with 1347 CLASS_TRANSFORMATIONAL for intrinsic num_images. 1348 (make_generic): Replace ACTUAL_NO with ACTUAL_YES for 1349 intrinsic team_number. 1350 * resolve.c (resolve_fl_procedure): Check pointer ts.u.derived 1351 exists before using it. 1352 13532020-06-22 Steven G. Kargl <kargl@gcc.gnu.org> 1354 Mark Eggleston <markeggleston@gcc.gnu.org> 1355 1356 PR fortran/95585 1357 * check.c (gfc_check_reshape): Add check for a value when 1358 the symbol has an attribute flavor FL_PARAMETER. 1359 13602020-06-22 Mark Eggleston <markeggleston@gcc.gnu.org> 1361 1362 PR fortran/42693 1363 * arith.c (gfc_arith_error): Enclose strings in G_() instead 1364 of _(). 1365 13662020-06-20 Harald Anlauf <anlauf@gmx.de> 1367 1368 PR fortran/95707 1369 * gfortran.h (gfc_common_head): Enlarge buffer. 1370 * trans-common.c (gfc_sym_mangled_common_id): Enlarge temporary 1371 buffers, and add check on length on mangled name to prevent 1372 overflow. 1373 13742020-06-20 Harald Anlauf <anlauf@gmx.de> 1375 1376 PR fortran/95688 1377 * iresolve.c (gfc_get_string): Enlarge static buffer size. 1378 13792020-06-20 Harald Anlauf <anlauf@gmx.de> 1380 1381 PR fortran/95687 1382 * class.c (get_unique_type_string): Return a string with dynamic 1383 length. 1384 (get_unique_hashed_string, gfc_hash_value): Use dynamic result 1385 from get_unique_type_string instead of static buffer. 1386 13872020-06-20 Harald Anlauf <anlauf@gmx.de> 1388 1389 PR fortran/95689 1390 * interface.c (check_sym_interfaces): Enlarge temporary buffer, 1391 and add check on length on mangled name to prevent overflow. 1392 13932020-06-20 Harald Anlauf <anlauf@gmx.de> 1394 1395 PR fortran/95587 1396 * match.c (gfc_match_equivalence): Check constraints on 1397 EQUIVALENCE objects also for CLASS variables. 1398 13992020-06-18 Tobias Burnus <tobias@codesourcery.com> 1400 1401 * openmp.c (resolve_omp_clauses): Reject vars with 1402 allocatable components in OpenMP map clauses. 1403 14042020-06-16 Tobias Burnus <tobias@codesourcery.com> 1405 1406 * parse.c (decode_oacc_directive): Permit 'acc routine' also 1407 inside pure procedures. 1408 * openmp.c (gfc_match_oacc_routine): Inside pure procedures 1409 do not permit gang, worker or vector clauses. 1410 14112020-06-16 Tobias Burnus <tobias@codesourcery.com> 1412 1413 * parse.c (decode_omp_directive): Remove "or ELEMENTAL" 1414 from "in PURE" error message also for -fopenmp-simd. 1415 14162020-06-16 Tobias Burnus <tobias@codesourcery.com> 1417 1418 * parse.c (decode_omp_directive): Remove "or ELEMENTAL" 1419 from "in PURE" error message. 1420 14212020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org> 1422 1423 PR fortran/42122 1424 * dump-parse-tree.c (gfc_dump_global_symbols): If the symroot is 1425 empty, just output "empty". 1426 14272020-06-14 Harald Anlauf <anlauf@gmx.de> 1428 1429 PR fortran/95088 1430 * class.c (get_unique_type_string): Replace use of fixed size 1431 buffer by internally passing a pointer to strings. 1432 14332020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org> 1434 1435 * check.c (gfc_check_random_seed): Always use locations 1436 from get and put arguments for error messages. 1437 14382020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org> 1439 1440 PR fortran/94109 1441 * class.c (finalize_component): Return early if finalization has 1442 already happened for expression and component within namespace. 1443 * gfortran.h (gfc_was_finalized): New type. 1444 (gfc_namespace): Add member was_finalzed. 1445 (gfc_expr): Remove finalized. 1446 * symbol.c (gfc_free_namespace): Free was_finalized. 1447 14482020-06-11 Harald Anlauf <anlauf@gmx.de> 1449 Steven G. Kargl <kargl@gcc.gnu.org> 1450 1451 PR fortran/95611 1452 * decl.c (access_attr_decl): Use correct symbol in error message. 1453 14542020-06-11 Steven G. Kargl <kargl@gcc.gnu.org> 1455 Harald Anlauf <anlauf@gmx.de> 1456 1457 PR fortran/95544 1458 * check.c (invalid_null_arg): Rename to gfc_invalid_null_arg. 1459 (gfc_check_associated, gfc_check_kind, gfc_check_merge) 1460 (gfc_check_shape, gfc_check_size, gfc_check_spread) 1461 (gfc_check_transfer): Adjust. 1462 (gfc_check_len_lentrim, gfc_check_trim): Check for NULL() argument. 1463 * gfortran.h: Declare gfc_invalid_null_arg (). 1464 * intrinsic.c (check_arglist): Check for NULL() argument. 1465 14662020-06-11 Harald Anlauf <anlauf@gmx.de> 1467 1468 PR fortran/95503 1469 * expr.c (gfc_check_pointer_assign): Skip contiguity check of rhs 1470 of pointer assignment if lhs cannot be simply contiguous. 1471 14722020-06-11 José Rui Faustino de Sousa <jrfsousa@gmail.com> 1473 1474 PR fortran/95331 1475 * trans-array.c (gfc_conv_array_ref): For class array dummy 1476 arguments use the transformed descriptor in sym->backend_decl 1477 instead of the original descriptor. 1478 14792020-06-11 José Rui Faustino de Sousa <jrfsousa@gmail.com> 1480 1481 PR fortran/52351 1482 PR fortran/85868 1483 * trans-array.c (gfc_conv_expr_descriptor): Enable the 1484 creation of a new descriptor with the correct one based 1485 indexing for array sections. Rework array descriptor 1486 indexing offset calculation. 1487 14882020-06-11 José Rui Faustino de Sousa <jrfsousa@gmail.com> 1489 1490 PR fortran/94022 1491 * trans-expr.c (gfc_conv_procedure_call): In the case of 1492 assumed-size arrays ensure that the reference is to a full array. 1493 14942020-06-07 Harald Anlauf <anlauf@gmx.de> 1495 1496 PR fortran/95091 1497 * class.c (gfc_hash_value): Add cast. 1498 14992020-06-07 Harald Anlauf <anlauf@gmx.de> 1500 1501 PR fortran/95091 1502 * class.c (get_unique_type_string, gfc_hash_value): Enlarge 1503 buffers, and check whether the strings returned by 1504 get_unique_type_string() fit. 1505 15062020-06-05 Harald Anlauf <anlauf@gmx.de> 1507 1508 PR fortran/95530 1509 PR fortran/95537 1510 * decl.c (gfc_match_decl_type_spec): Enlarge buffer, and enhance 1511 string copy to detect buffer overflow. 1512 * gfortran.h (gfc_common_head): Enlarge buffer. 1513 * trans-common.c (finish_equivalences): Enhance string copy to 1514 detect buffer overflow. 1515 15162020-06-05 Tom Tromey <tromey@adacore.com> 1517 1518 PR fortran/95509 1519 * misc.c (gfc_closest_fuzzy_match): Update cutoff value 1520 computation. 1521 15222020-06-04 Steven G. Kargl <kargl@gcc.gnu.org> 1523 Harald Anlauf <anlauf@gmx.de> 1524 1525 PR fortran/95500 1526 * trans-expr.c (gfc_conv_expr_reference): Do not dereference NULL 1527 pointer. 1528 15292020-06-03 José Rui Faustino de Sousa <jrfsousa@gmail.com> 1530 1531 PR fortran/95214 1532 PR fortran/66833 1533 PR fortran/67938 1534 * trans-expr.c (gfc_maybe_dereference_var): Add assumed-rank to 1535 character dummy arguments list of possible attributes. 1536 15372020-06-03 Tobias Burnus <tobias@codesourcery.com> 1538 1539 * f95-lang.c (LANG_HOOKS_OMP_PREDETERMINED_MAPPING): Redefine. 1540 * trans-openmp.c (gfc_omp_predetermined_mapping): New. 1541 * trans.h (gfc_omp_predetermined_mapping): Declare. 1542 15432020-05-31 Thomas Koenig <tkoenig@gcc.gnu.org> 1544 1545 PR fortran/94361 1546 * class.c (finalize_component): Use expr->finalized instead of 1547 comp->finalized. 1548 * gfortran.h (gfc_component): Remove finalized member. 1549 (gfc_expr): Add it here instead. 1550 15512020-05-30 Harald Anlauf <anlauf@gmx.de> 1552 1553 PR fortran/95373 1554 * primary.c (is_inquiry_ref): Move validity check of inquiry 1555 references against selected Fortran standard from here... 1556 (gfc_match_varspec) ...to here. 1557 15582020-05-30 Harald Anlauf <anlauf@gmx.de> 1559 1560 PR fortran/95090 1561 * class.c (get_unique_type_string): Use buffer overrun check. 1562 15632020-05-29 Harald Anlauf <anlauf@gmx.de> 1564 1565 PR fortran/95090 1566 * class.c (get_unique_type_string): Enlarge temporary for 1567 name-mangling. Use strncpy to prevent buffer overrun. 1568 (get_unique_hashed_string): Enlarge temporary. 1569 (gfc_hash_value): Enlarge temporary for name-mangling. 1570 15712020-05-28 Harald Anlauf <anlauf@gmx.de> 1572 1573 PR fortran/95373 1574 * primary.c (is_inquiry_ref): Check validity of inquiry 1575 references against selected Fortran standard. 1576 15772020-05-28 Steven G. Kargl <kargl@gcc.gnu.org> 1578 Mark Eggleston <markeggleston@gcc.gnu.org> 1579 Mark Eggleston <markeggleston@gcc.gnu.org> 1580 1581 PR fortran/94397 1582 * match.c (gfc_match_type_spec): New variable ok initialised 1583 to true. Set ok with the return value of gfc_reduce_init_expr 1584 called only if the expression is not EXPR_CONSTANT and is not 1585 EXPR_VARIABLE. Add !ok to the check for type not being integer 1586 or the rank being greater than zero. 1587 15882020-05-27 Harald Anlauf <anlauf@gmx.de> 1589 1590 PR fortran/95090 1591 * iresolve.c (gfc_get_string): Enlarge temporary for 1592 name-mangling. 1593 15942020-05-27 Tobias Burnus <tobias@codesourcery.com> 1595 Mark Eggleston <markeggleston@gnu.gcc.org> 1596 1597 PR fortran/50392 1598 * trans-decl.c (gfc_get_symbol_decl): Remove unnecessary block 1599 delimiters. Add auxiliary variables if a label is assigned to 1600 a return variable. (gfc_gat_fake_result): If the symbol has an 1601 assign attribute set declaration from the symbol's backend 1602 declaration. 1603 16042020-05-26 Harald Anlauf <anlauf@gmx.de> 1605 1606 PR fortran/95089 1607 * trans-types.c (gfc_get_derived_type): Enlarge temporary to hold 1608 mangled name "_caf_symbol". 1609 16102020-05-26 Alexandre Oliva <oliva@adacore.com> 1611 1612 * options.c (gfc_get_option_string): Drop auxbase, add 1613 dumpbase_ext. 1614 16152020-05-24 Harald Anlauf <anlauf@gmx.de> 1616 1617 PR fortran/95106 1618 * trans-common.c (gfc_sym_mangled_common_id): Enlarge temporaries 1619 for name-mangling. 1620 16212020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org> 1622 1623 PR libfortran/95191 1624 * libgfortran.h (libgfortran_error_codes): Add 1625 LIBERROR_BAD_WAIT_ID. 1626 16272020-05-20 Mark Eggleston <markeggleston@gcc.gnu.org> 1628 1629 PR fortran/39695 1630 * resolve.c (resolve_fl_procedure): Set name depending on 1631 whether the result attribute is set. For PROCEDURE/RESULT 1632 conflict use the name in sym->ns->proc_name->name. 1633 * symbol.c (gfc_add_type): Add check for function and result 1634 attributes use sym->ns->proc_name->name if both are set. 1635 Where the symbol cannot have a type use the name in 1636 sym->ns->proc_name->name. 1637 16382020-05-18 Harald Anlauf <anlauf@gmx.de> 1639 1640 PR fortran/95053 1641 * arith.c (gfc_divide): Revert hunk introduced by patch for 1642 PR93499. 1643 * decl.c (variable_decl): Generate error for array shape not being 1644 an INTEGER constant. 1645 (gfc_get_pdt_instance): Generate error if KIND or LEN expressions 1646 in declaration of a PDT instance do not simplify to INTEGER 1647 constants. 1648 16492020-05-15 Tobias Burnus <tobias@codesourcery.com> 1650 1651 PR fortran/94690 1652 * openmp.c (resolve_omp_do): Permit more clauses for SIMD 1653 iteration variables. 1654 16552020-05-14 Jakub Jelinek <jakub@redhat.com> 1656 1657 * trans-openmp.c: Include function.h. 1658 (gfc_trans_omp_target): Set cfun->has_omp_target. 1659 16602020-05-13 Steven G. Kargl <kargl@gcc.gnu.org> 1661 1662 PR fortran/93497 1663 * decl.c (char_len_param_value): Check whether character 1664 length expression is of type EXPR_OP and if so simplify it. 1665 * resolve.c (resolve_charlen): Reject length if it has a 1666 rank. 1667 16682020-05-13 Tobias Burnus <tobias@codesourcery.com> 1669 1670 PR fortran/94690 1671 * openmp.c (OMP_DISTRIBUTE_CLAUSES): Add OMP_CLAUSE_LASTPRIVATE. 1672 (gfc_resolve_do_iterator): Skip the private handling for SIMD as 1673 that is handled by ME code. 1674 * trans-openmp.c (gfc_trans_omp_do): Don't add private/lastprivate 1675 for dovar_found == 0, unless !simple. 1676 16772020-05-11 Harald Anlauf <anlauf@gmx.de> 1678 1679 PR fortran/95053 1680 * arith.c (gfc_divide): Do not error out if operand 2 is 1681 non-numeric. Defer checks to later stage. 1682 16832020-05-11 Tobias Burnus <tobias@codesourcery.com> 1684 1685 PR fortran/94672 1686 * trans.h (gfc_conv_expr_present): Add use_saved_decl=false argument. 1687 * trans-expr.c (gfc_conv_expr_present): Likewise; use DECL directly 1688 and only if use_saved_decl is true, use the actual PARAM_DECL arg (saved 1689 descriptor). 1690 * trans-array.c (gfc_trans_dummy_array_bias): Set local 'arg.0' 1691 variable to NULL if 'arg' is not present. 1692 * trans-openmp.c (gfc_omp_check_optional_argument): Simplify by checking 1693 'arg.0' instead of the true PARM_DECL. 1694 (gfc_omp_finish_clause): Remove setting 'arg.0' to NULL. 1695 16962020-05-11 Janus Weil <janus@gcc.gnu.org> 1697 Dominique d'Humieres <dominiq@lps.ens.fr> 1698 1699 PR fortran/59107 1700 * gfortran.h: Rename field resolved as resolve_symbol_called 1701 and assign two 2 bits instead of 1. 1702 * interface.c (check_dtio_interface1): Use new field name. 1703 (gfc_find_typebound_dtio_proc): Use new field name. 1704 * resolve.c (gfc_resolve_intrinsic): Replace check of the formal 1705 field with resolve_symbol_called is at least 2, if it is not 1706 set the field to 2. (resolve_typebound_procedure): Use new field 1707 name. (resolve_symbol): Use new field name and check whether it 1708 is at least 1, if it is not set the field to 1. 1709 17102020-05-10 Harald Anlauf <anlauf@gmx.de> 1711 1712 PR fortran/93499 1713 * arith.c (gfc_divide): Catch division by zero. 1714 (eval_intrinsic_f3): Safeguard for NULL operands. 1715 17162020-05-05 Steve Kargl <kargl@gcc.gnu.org> 1717 Harald Anlauf <anlauf@gmx.de> 1718 1719 PR fortran/93366 1720 * check.c (gfc_check_associated, invalid_null_arg): Factorize 1721 check for presence of invalid NULL() argument. 1722 (gfc_check_kind, gfc_check_merge, gfc_check_shape) 1723 (gfc_check_sizeof, gfc_check_spread, gfc_check_transfer): Use this 1724 check for presence of invalid NULL() arguments. 1725 17262020-04-29 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> 1727 1728 PR fortran/94769 1729 * io.c (check_io_constraints): Initialize local variable num to 1730 -1 and assert that it receives a meaningful value by function 1731 compare_to_allowed_values. 1732 17332020-04-27 Thomas Koenig <tkoenig@gcc.gnu.org> 1734 1735 PR fortran/93956 1736 PR fortran/94788 1737 * expr.c (gfc_check_pointer_assign): Revert patch for PR 93956. 1738 * interface.c: Likewise. 1739 17402020-04-25 Thomas Koenig <tkoenig@gcc.gnu.org> 1741 1742 PR fortran/94578 1743 * trans-expr.c (arrayfunc_assign_needs_temporary): If the 1744 LHS is a subref pointer, we also need a temporary. 1745 17462020-04-23 Thomas Koenig <tkoenig@gcc.gnu.org> 1747 1748 PR fortran/93956 1749 * expr.c (gfc_check_pointer_assign): Also set subref_array_pointer 1750 when a function returns a pointer. 1751 * interface.c (gfc_set_subref_array_pointer_arg): New function. 1752 (gfc_procedure_use): Call it. 1753 17542020-04-22 Fritz Reese <foreese@gcc.gnu.org> 1755 1756 * trigd_fe.inc: Use mpfr to compute cosd(30) rather than a host- 1757 precision floating point literal based on an invalid macro. 1758 17592020-04-22 José Rui Faustino de Sousa <jrfsousa@gmail.com> 1760 1761 PR fortran/90350 1762 * simplify.c (simplify_bound): In the case of assumed-size arrays 1763 check if the reference is to a full array. 1764 17652020-04-22 Tobias Burnus <tobias@codesourcery.com> 1766 1767 PR fortran/94709 1768 * scanner.c (load_line): In fixed form, also treat 'C' as comment and 1769 'D'/'d' only with -fd-lines-as-comments. Treat '!$' with -fopenmp, 1770 '!$acc' with -fopenacc and '!GCC$' as non-comment to permit <tab> 1771 and truncation warnings. 1772 17732020-04-20 Thomas Koenig <tkoenig@gcc.gnu.org> 1774 1775 * dump-parse-tree.c (show_attr): Add numerous flags, some cleanup. 1776 17772020-04-20 Harald Anlauf <anlauf@gmx.de> 1778 1779 PR fortran/93364 1780 * array.c (gfc_set_array_spec): Check for sum of rank and corank 1781 not exceeding GFC_MAX_DIMENSIONS. 1782 17832020-04-20 Steve Kargl <kargl@gcc.gnu.org> 1784 Thomas Koenig <tkoenig@gcc.gnu.org> 1785 1786 PR fortran/91800 1787 * decl.c (variable_decl): Reject Hollerith constants as type 1788 initializer. 1789 17902020-04-19 Thomas Koenig <tkoenig@gcc.gnu.org> 1791 1792 PR fortran/93500 1793 * resolve.c (resolve_operator): If both operands are 1794 NULL, return false. 1795 * simplify.c (simplify_bound): If a division by zero 1796 was seen during bound simplification, free the 1797 corresponcing expression and return &gfc_bad_expr. 1798 17992020-04-17 Thomas Koenig <tkoenig@gcc.gnu.org> 1800 1801 PR fortran/94090 1802 * gfortran.dg (gfc_compare_interfaces): Add 1803 optional argument bad_result_characteristics. 1804 * interface.c (gfc_check_result_characteristics): Fix 1805 whitespace. 1806 (gfc_compare_interfaces): Handle new argument; return 1807 true if function return values are wrong. 1808 * resolve.c (resolve_global_procedure): Hard error if 1809 the return value of a function is wrong. 1810 18112020-04-15 Fritz Reese <foreese@gcc.gnu.org> 1812 Linus Koenig <link@sig-st.de> 1813 1814 PR fortran/94192 1815 * simplify.c (simplify_bound): Simplify condition for error check. 1816 18172020-04-14 Tobias Burnus <tobias@codesourcery.com> 1818 1819 * module.c (gfc_match_use): Fix name-conflict check for use-associating 1820 the same symbol again in a submodule. 1821 18222020-04-13 Linus Koenig <link@sig-st.de> 1823 1824 PR fortran/94192 1825 * resolve.c (resolve_fl_var_and_proc): Set flag "error" to 1 if 1826 pointer is found to not have an assumed rank or a deferred shape. 1827 * simplify.c (simplify_bound): If an error has been issued for a 1828 given pointer, one should not attempt to find its bounds. 1829 18302020-04-09 Fritz Reese <foreese@gcc.gnu.org> 1831 1832 PR fortran/87923 1833 * gfortran.h (gfc_resolve_open, gfc_resolve_close): Add 1834 locus parameter. 1835 (gfc_resolve_dt): Add code parameter. 1836 * io.c (async_io_dt, check_char_variable, is_char_type): Removed. 1837 (resolve_tag_format): Add locus to error message regarding 1838 zero-sized array in FORMAT tag. 1839 (check_open_constraints, check_close_constraints): New functions 1840 called at resolution time. 1841 (gfc_match_open, gfc_match_close, match_io): Move checks which don't 1842 affect the match result to new functions check_open_constraints, 1843 check_close_constraints, check_io_constraints. 1844 (gfc_resolve_open, gfc_resolve_close): Call new functions 1845 check_open_constraints, check_close_constraints after all tags have 1846 been independently resolved. Remove duplicate constraints which are 1847 already verified by resolve_tag. Explicitly pass locus to all error 1848 reports. 1849 (compare_to_allowed_values): Add locus parameter and provide 1850 explicit locus all error reports. 1851 (match_open_element, match_close_element, match_file_element, 1852 match_dt_element, match_inquire_element): Remove redundant special 1853 cases for ASYNCHRONOUS and IOMSG tags. 1854 (gfc_resolve_dt): Remove redundant special case for format 1855 expression. Call check_io_constraints, forwarding an I/O list as 1856 the io_code parameter if present. 1857 (check_io_constraints): Change return type to bool. Pass explicit 1858 locus to error reports. Move generic checks after tag-specific 1859 checks, since errors are no longer buffered. Move simplification of 1860 format string to match_io. Remove redundant checks which are 1861 verified by resolve_tag. Remove usage of async_io_dt flag and 1862 explicitly mark symbols used in asynchronous I/O with the 1863 asynchronous attribute. 1864 * resolve.c (resolve_transfer, resolve_fl_namelist): Remove checks 1865 for async_io_dt flag. This is now done in io.c. 1866 (check_io_constraints). 1867 (gfc_resolve_code): Pass code locus to gfc_resolve_open, 1868 gfc_resolve_close, gfc_resolve_dt. 1869 18702020-04-07 Fritz Reese <foreese@gcc.gnu.org> 1871 Steven G. Kargl <kargl@gcc.gnu.org> 1872 1873 PR fortran/93871 1874 * gfortran.h (GFC_ISYM_ACOSD, GFC_ISYM_ASIND, GFC_ISYM_ATAN2D, 1875 GFC_ISYM_ATAND, GFC_ISYM_COSD, GFC_ISYM_COTAND, GFC_ISYM_SIND, 1876 GFC_ISYM_TAND): New. 1877 * intrinsic.c (add_functions): Remove check for flag_dec_math. 1878 Give degree trig functions simplification and name resolution 1879 functions (e.g, gfc_simplify_atrigd () and gfc_resolve_atrigd ()). 1880 (do_simplify): Remove special casing of degree trig functions. 1881 * intrinsic.h (gfc_simplify_acosd, gfc_simplify_asind, 1882 gfc_simplify_atand, gfc_simplify_cosd, gfc_simplify_cotand, 1883 gfc_simplify_sind, gfc_simplify_tand, gfc_resolve_trigd2): Add new 1884 prototypes. 1885 (gfc_simplify_atrigd, gfc_simplify_trigd, gfc_resolve_cotan, 1886 resolve_atrigd): Remove prototypes of deleted functions. 1887 * iresolve.c (is_trig_resolved, copy_replace_function_shallow, 1888 gfc_resolve_cotan, get_radians, get_degrees, resolve_trig_call, 1889 gfc_resolve_atrigd, gfc_resolve_atan2d): Delete functions. 1890 (gfc_resolve_trigd, gfc_resolve_trigd2): Resolve to library functions. 1891 * simplify.c (rad2deg, deg2rad, gfc_simplify_acosd, gfc_simplify_asind, 1892 gfc_simplify_atand, gfc_simplify_atan2d, gfc_simplify_cosd, 1893 gfc_simplify_sind, gfc_simplify_tand, gfc_simplify_cotand): New 1894 functions. 1895 (gfc_simplify_atan2): Fix error message. 1896 (simplify_trig_call, gfc_simplify_trigd, gfc_simplify_atrigd, 1897 radians_f): Delete functions. 1898 * trans-intrinsic.c: Add LIB_FUNCTION decls for sind, cosd, tand. 1899 (rad2deg, gfc_conv_intrinsic_atrigd, gfc_conv_intrinsic_cotan, 1900 gfc_conv_intrinsic_cotand, gfc_conv_intrinsic_atan2d): New functions. 1901 (gfc_conv_intrinsic_function): Handle ACOSD, ASIND, ATAND, COTAN, 1902 COTAND, ATAN2D. 1903 * trigd_fe.inc: New file. Included by simplify.c to implement 1904 simplify_sind, simplify_cosd, simplify_tand with code common to the 1905 libgfortran implementation. 1906 19072020-04-06 Steven G. Kargl <kargl@gcc.gnu.org> 1908 1909 PR fortran/93686 1910 * decl.c (gfc_match_data): Handle data matching for derived type 1911 pointers. 1912 19132020-04-02 Tobias Burnus <tobias@codesourcery.com> 1914 1915 * gfortran.h (gfc_resolve_formal_arglist): Add prototype. 1916 * interface.c (check_dtio_interface1): Call it. 1917 * resolve.c (gfc_resolve_formal_arglist): Renamed from 1918 resolve_formal_arglist, removed static. 1919 (find_arglists, resolve_types): Update calls. 1920 19212020-04-02 Tobias Burnus <tobias@codesourcery.com> 1922 1923 PR fortran/93522 1924 * match.c (gfc_match_select_rank): Fix error cleanup. 1925 19262020-04-02 Steven G. Kargl <kargl@gcc.gnu.org> 1927 1928 PR fortran/93498 1929 * check.c (gfc_check_findloc): If the kinds of the arguments 1930 differ goto label "incompat". 1931 19322020-04-02 Steven G. Kargl <kargl@gcc.gnu.org> 1933 1934 PR fortran/94030 1935 * resolve.c (resolve_equivalence): Correct formatting 1936 around the label "identical_types". Instead of using 1937 gfc_resolve_array_spec use is_non_constants_shape_array 1938 to determine whether the array can be used in a in an 1939 equivalence statement. 1940 19412020-04-01 Mark Eggleston <mark.eggleston@codethink.com> 1942 1943 PR fortran/94386 1944 expr.c (simplify_parameter_variable): Restore code deleted 1945 in PR94246. 1946 19472020-03-28 Paul Thomas <pault@gcc.gnu.org> 1948 1949 PR fortran/94246 1950 * arith.c : Remove trailing white space. 1951 * expr.c (scalarize_intrinsic_call): Remove the error checking. 1952 Make a copy of the expression to be simplified and only replace 1953 the original if the simplification succeeds. 1954 19552020-03-28 Tobias Burnus <tobias@codesourcery.com> 1956 1957 PR fortran/94348 1958 * decl.c (gfc_match_submod_proc): Add result var to the 1959 proc's namespace. 1960 19612020-03-27 Tobias Burnus <tobias@codesourcery.com> 1962 1963 PR fortran/93957 1964 * trans-array.c (gfc_alloc_allocatable_for_assignment): Accept 1965 nonallocatable, nonpointer deferred-rank arrays. 1966 19672020-03-27 Tobias Burnus <tobias@codesourcery.com> 1968 1969 PR fortran/93363 1970 * resolve.c (resolve_assoc_var): Reject association to DT and 1971 function name. 1972 19732020-03-25 Steven G. Kargl <kargl@gcc.gnu.org> 1974 1975 PR fortran/93484 1976 * match.c (gfc_match_type_spec): Replace gfc_match_init_expr with 1977 gfc_match_expr. Return m if m is MATCH_NO or MATCH_ERROR. 1978 19792020-03-23 Mark Eggleston <mark.eggleston@codethink.com> 1980 Steven G. Kargl <kargl@gcc.gnu.org> 1981 1982 PR fortran/93600 1983 * expr.c (simplify_parameter_variable): Check whether the ref 1984 chain contains INQUIRY_LEN or INQUIRY_KIND and set inquiry 1985 boolean. When an empty array has been identified and a new 1986 new EXPR_ARRAY expression has been created only return that 1987 expression if inquiry is not set. This allows the new 1988 expression to drop through to be simplified into a 1989 EXPR_CONSTANT representing %kind or %len. 1990 * matc.c (gfc_match_assignment): If lvalue doesn't have a 1991 symtree free both lvalue and rvalue expressions and return 1992 an error. 1993 * resolv.c (gfc_resolve_ref): Ensure that code to handle 1994 INQUIRY_LEN is only performed for arrays with deferred types. 1995 19962020-03-18 Jakub Jelinek <jakub@redhat.com> 1997 1998 * class.c (generate_finalization_wrapper): Fix up duplicated word 1999 issue in a comment. 2000 * trans-types.c (gfc_get_nodesc_array_type): Likewise. 2001 20022020-03-17 Jakub Jelinek <jakub@redhat.com> 2003 2004 * array.c (gfc_check_iter_variable): Fix up duplicated word issue 2005 in a comment. 2006 * arith.c (gfc_arith_concat): Likewise. 2007 * resolve.c (gfc_resolve_ref): Likewise. 2008 * frontend-passes.c (matmul_lhs_realloc): Likewise. 2009 * module.c (gfc_match_submodule, load_needed): Likewise. 2010 * trans-expr.c (gfc_init_se): Likewise. 2011 20122020-03-15 Lewis Hyatt <lhyatt@gmail.com> 2013 2014 * lang.opt: Avoid redundancy in the help text. 2015 20162020-03-12 Tobias Burnus <tobias@codesourcery.com> 2017 2018 PR middle-end/94120 2019 * openmp.c (gfc_match_oacc_declare): Accept function-result 2020 variables; reject variables declared in a different scoping unit. 2021 20222020-03-08 Paul Thomas <pault@gcc.gnu.org> 2023 2024 PR fortran/93581 2025 * resolve.c (gfc_resolve_ref): Modify array refs to be elements 2026 if the ref chain ends in INQUIRY_LEN. 2027 * trans-array.c (gfc_get_dataptr_offset): Provide the offsets 2028 for INQUIRY_RE and INQUIRY_IM. 2029 20302020-03-05 Steven G. Kargl <kargl@gcc.gnu.org> 2031 2032 PR fortran/93792 2033 * decl.c (variable_decl): If param and initializer check 2034 for BOZ, if found, output an error, set m to MATCH_ERROR 2035 and goto cleanup. 2036 20372020-03-02 Andrew Benson <abensonca@gmail.com> 2038 2039 PR fortran/93486 2040 * module.c: Increase size of variables used to read module names 2041 when loading interfaces from module files to permit cases where 2042 the name is the concatenation of a module and submodule name. 2043 * gfortran.dg/pr93486.f90: New test. 2044 20452020-03-01 Paul Thomas <pault@gcc.gnu.org> 2046 2047 PR fortran/92976 2048 * match.c (select_type_set_tmp): If the selector array spec has 2049 explicit bounds, make the temporary's bounds deferred. 2050 20512020-03-01 Paul Thomas <pault@gcc.gnu.org> 2052 2053 PR fortran/92959 2054 * trans-intrinsic.c (gfc_conv_associated): Eliminate 2055 'nonzero_charlen' and move the chunk to evaluate zero character 2056 length until after the argument evaluation so that the string 2057 length can be used. 2058 20592020-02-28 Paul Thomas <pault@gcc.gnu.org> 2060 2061 PR fortran/92785 2062 * trans-expr.c (gfc_conv_intrinsic_to_class): Renormalise non- 2063 variable expressions to be unity lbound based. 2064 20652020-02-25 Steven G. Kargl <kargl@gcc.gnu.org> 2066 2067 * simplify.c (degrees_f): Remove unused code. 2068 20692020-02-25 Jakub Jelinek <jakub@redhat.com> 2070 2071 PR translation/93864 2072 * intrinsic.texi (CO_BROADCAST): Fix typo, paramter -> parameter. 2073 * trans-array.c (gfc_allocate_pdt_comp, gfc_deallocate_pdt_comp, 2074 gfc_check_pdt_dummy): Fix comment typo paramter -> parameter. 2075 20762020-02-24 Mark Eggleston <mark.eggleston@codethink.com> 2077 Steven G. Kargl <kargl@gcc.gnu.org> 2078 2079 PR fortran/93835 2080 * decl.c (gfc_match_data) : Check whether the data expression 2081 is a derived type and is a constructor. If a BOZ constant 2082 is encountered in the constructor output an error and return 2083 MATCH_ERROR. 2084 20852020-02-24 Steven G. Kargl <kargl@gcc.gnu.org> 2086 2087 PR fortran/93604 2088 * decl.c (gfc_match_data) : Check whether the data expression 2089 is a derived type and is a constructor. If a BOZ constant 2090 is encountered in the constructor output an error and return 2091 MATCH_ERROR. 2092 20932020-02-24 Tobias Burnus <tobias@codesourcery.com> 2094 2095 PR fortran/93552 2096 * match.c (match_exit_cycle): With OpenACC, check the kernels loop 2097 directive and tile clause as well. 2098 20992020-02-23 Thomas Koenig <tkoenig@gcc.gnu.org> 2100 2101 PR fortran/93889 2102 * interface.c (compare_parameter): Fix error message. 2103 21042020-02-23 Thomas Koenig <tkoenig@gcc.gnu.org> 2105 2106 PR fortran/93890 2107 * interface.c: Replace "can not" by "cannot" and remove trailing 2108 space. 2109 21102020-02-20 Tobias Burnus <tobias@codesourcery.com> 2111 2112 PR fortran/93825 2113 * openmp.c (resolve_oacc_loop_blocks): Move call to 2114 resolve_oacc_nested_loops from here ... 2115 (resolve_oacc_loop): ... to here. 2116 21172020-02-18 Mark Eggleston <markeggleston@gcc.gnu.org> 2118 2119 PR fortran/93714 2120 * expr.c (gfc_check_pointer_assign): Move check for 2121 matching character length to after checking the lvalue 2122 attributes for target or pointer. 2123 21242020-02-18 Steven G. Kargl <kargl@gcc.gnu.org> 2125 2126 PR fortran/93601 2127 * match.c (gfc_match_assignment) : Reject assignment if 2128 the lhs stype is BT_CLASS and the rhs type is BT_BOZ. 2129 21302020-02-18 Steven G. Kargl <kargl@gcc.gnu.org> 2131 2132 PR fortran/93603 2133 * match.c (gfc_match_associate) : If target expression 2134 has the type BT_BOZ output an error and goto 2135 assocListError. 2136 21372020-02-18 Steven G. Kargl <kargl@gcc.gnu.org> 2138 Mark Eggleston <markeggleston@gcc.gnu.org> 2139 2140 PR fortran/93580 2141 * primary.c (gfc_match_varspec): If the symbol following % 2142 is re or im and the primary expression type is not BT_COMPLEX 2143 issue an error. If the symbol is len and the primary 2144 expression type is not BT_CHARACTER is an error. 2145 21462020-02-10 Andrew Benson <abensonca@gmail.com> 2147 2148 PR fortran/83113 2149 * array.c: Do not attempt to set the array spec for a submodule 2150 function symbol (as it has already been set in the corresponding 2151 module procedure interface). 2152 * symbol.c: Do not reject duplicate POINTER, ALLOCATABLE, or 2153 DIMENSION attributes in declarations of a submodule function. 2154 * gfortran.h: Add a macro that tests for a module procedure in a 2155 submodule. 2156 * gfortran.dg/pr83113.f90: New test. 2157 21582020-02-03 Julian Brown <julian@codesourcery.com> 2159 Tobias Burnus <tobias@codesourcery.com> 2160 2161 * cpp.c (cpp_define_builtins): Update _OPENACC define to 201711. 2162 * intrinsic.texi: Update mentions of OpenACC version to 2.6. 2163 * gfortran.texi: Likewise. Remove experimental disclamer for OpenACC. 2164 * invoke.texi: Remove experimental disclamer for OpenACC. 2165 21662020-02-03 Tobias Burnus <tobias@codesourcery.com> 2167 2168 PR fortran/93541 2169 * intrinisic.texi (OpenMP Modules OMP_LIB and OMP_LIB_KINDS): 2170 Add undocumented parameters from omp_lib.f90.in. 2171 21722020-02-03 Tobias Burnus <tobias@codesourcery.com> 2173 2174 PR fortran/93427 2175 * resolve.c (resolve_assoc_var): Remove too strict check. 2176 * gfortran.dg/associate_51.f90: Update test case. 2177 21782020-02-01 Jakub Jelinek <jakub@redhat.com> 2179 2180 PR fortran/92305 2181 * trans-types.c (gfc_get_function_type): Also push boolean_type_node 2182 types for non-character scalar VALUE optional dummy arguments. 2183 * trans-decl.c (create_function_arglist): Skip those in 2184 hidden_typelist. Formatting fix. 2185 21862020-01-31 Tobias Burnus <tobias@codesourcery.com> 2187 2188 PR fortran/93462 2189 * frontend-passes.c (gfc_code_walker): For EXEC_OACC_ATOMIC, set 2190 in_omp_atomic to true prevent front-end optimization. 2191 21922020-01-30 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> 2193 2194 PR fortran/87103 2195 * expr.c (gfc_check_conformance): Check vsnprintf for truncation. 2196 * iresolve.c (gfc_get_string): Likewise. 2197 * symbol.c (gfc_new_symbol): Remove check for maximum symbol 2198 name length. Remove redundant 0 setting of new calloc()ed 2199 gfc_symbol. 2200 22012020-01-30 Paul Thomas <pault@gcc.gnu.org> 2202 Jakub Jelinek <jakub@redhat.com> 2203 2204 PR fortran/92123 2205 * trans-decl.c (gfc_get_symbol_decl): Call gfc_defer_symbol_init for 2206 CFI descs. 2207 (gfc_build_builtin_function_decls): Use ".w." instead of ".ww" or ".wR" 2208 for gfor_fndecl_{cfi_to_gfc,gfc_to_cfi}. 2209 (convert_CFI_desc): Handle references to CFI descriptors. 2210 22112020-01-29 Jakub Jelinek <jakub@redhat.com> 2212 2213 PR fortran/93463 2214 * openmp.c (oacc_code_to_statement): Handle 2215 EXEC_OACC_{ROUTINE,UPDATE,WAIT,CACHE,{ENTER,EXIT}_DATA,DECLARE}. 2216 22172020-01-28 Andrew Benson <abensonca@gmail.com> 2218 2219 PR fortran/93461 2220 * trans.h: Increase GFC_MAX_MANGLED_SYMBOL_LEN to 2221 GFC_MAX_SYMBOL_LEN*3+5 to allow for inclusion of submodule name, 2222 plus the "." between module and submodule names. 2223 * gfortran.dg/pr93461.f90: New test. 2224 22252020-01-28 Andrew Benson <abensonca@gmail.com> 2226 2227 PR fortran/93473 2228 * parse.c: Increase length of char variables to allow them to hold 2229 a concatenated module + submodule name. 2230 * gfortran.dg/pr93473.f90: New test. 2231 22322020-01-28 Julian Brown <julian@codesourcery.com> 2233 2234 PR fortran/93025 2235 * openmp.c (resolve_omp_clauses): Check array references for contiguity. 2236 22372020-01-28 Julian Brown <julian@codesourcery.com> 2238 2239 * gfortran.h (gfc_symbol): Add comp_mark bitfield. 2240 * openmp.c (resolve_omp_clauses): Disallow mixed component and 2241 full-derived-type accesses to the same variable within a single 2242 directive. 2243 22442020-01-28 Tobias Burnus <tobias@codesourcery.com> 2245 2246 PR fortran/93464 2247 * openmp.c (gfc_omp_check_optional_argument): Avoid ICE when 2248 DECL_LANG_SPECIFIC and GFC_DESCRIPTOR_TYPE_P but not 2249 GFC_DECL_SAVED_DESCRIPTOR as for local allocatable character vars. 2250 22512020-01-28 Tobias Burnus <tobias@codesourcery.com> 2252 2253 * gfortran.texi (Runtime): Remove tailing '.' in @menu. 2254 22552020-01-27 Tobias Burnus <tobias@codesourcery.com> 2256 2257 PR fortran/85781 2258 * trans-expr.c (gfc_conv_substring): Handle non-ARRAY_TYPE strings 2259 of Bind(C) procedures. 2260 22612020-01-22 Jakub Jelinek <jakub@redhat.com> 2262 2263 * parse.c (parse_omp_structured_block): Handle ST_OMP_TARGET_PARALLEL. 2264 * trans-openmp.c (gfc_trans_omp_target) 2265 <case EXEC_OMP_TARGET_PARALLEL>: Call pushlevel first. 2266 2267 PR fortran/93329 2268 * openmp.c (omp_code_to_statement): Handle remaining EXEC_OMP_* 2269 cases. 2270 22712020-01-21 Tobias Burnus <tobias@codesourcery.com> 2272 2273 PR fortran/93309 2274 * interface.c (gfc_procedure_use): Also check parent namespace for 2275 'implict none (external)'. 2276 * symbol.c (gfc_get_namespace): Don't set has_implicit_none_export 2277 to parent namespace's setting. 2278 22792020-01-19 Thomas König <tkoenig@gcc.gnu.org> 2280 2281 PR fortran/44960 2282 * primary.c (gfc_match_rvalue): Break after setting MATCH_ERROR. 2283 * resolve.c (resolve_function): Issue error when a 2284 function call contains a reference. 2285 22862020-01-17 Mark Eggleston <mark.eggleston@codethink.com> 2287 2288 PR fortran/93236 2289 * resolve.c (resolve_types): Declare boolean recursive and set with the 2290 value of the recursive attribute of namespace proc_name symbol 2291 structure if it exists. Call gfc_save_all if both flag_automatic and 2292 recursive are false or ns->save_all is true. 2293 22942020-01-16 Tobias Burnus <tobias@codesourcery.com> 2295 2296 PR fortran/93253 2297 * check.c (gfc_invalid_boz): Mention -fallow-invalid-boz 2298 in the error message. 2299 * gfortran.texi (BOZ literal constants): List another missing 2300 extension and refer to -fallow-invalid-boz. 2301 * lang.opt (fallow-invalid-boz): Also mention 'X' in the help text 2302 as it is not covered by the previous wording. 2303 * primary.c (match_boz_constant): Tweak wording such that it is 2304 clear how to fix the nonstandard use. 2305 23062020-01-09 Thomas Koenig <tkoenig@gcc.gnu.org> 2307 2308 PR fortran/65428 2309 * array.c (empty_constructor): New variable. 2310 (empty_ts): New variable. 2311 (expand_constructor): Save typespec in empty_ts. 2312 Unset empty_constructor if there is an element. 2313 (gfc_expand_constructor): Initialize empty_constructor 2314 and empty_ts. If there was no explicit constructor 2315 type and the constructor is empty, take the type from 2316 empty_ts. 2317 23182020-01-09 Tobias Burnus <tobias@codesourcery.com> 2319 2320 PR fortran/84135 2321 * array.c (gfc_set_array_spec): Fix shifting of codimensions 2322 when adding a dimension. 2323 * decl.c (merge_array_spec): Ditto. Fix using correct codimensions. 2324 23252020-01-07 Jakub Jelinek <jakub@redhat.com> 2326 2327 PR fortran/93162 2328 * trans-openmp.c (gfc_trans_omp_clauses): Check for REF_ARRAY type 2329 before testing u.ar.type == AR_FULL. 2330 23312020-01-04 Tobias Burnus <tobias@codesourcery.com> 2332 2333 PR fortran/91640 2334 * trans-expr.c (gfc_conv_procedure_call): Avoid copy-out for nonvariable 2335 arguments to contiguous dummy args. Avoid re-checking whether fsym is 2336 NULL. 2337 23382020-01-03 Tobias Burnus <tobias@codesourcery.com> 2339 2340 * trans-openmp.c (gfc_omp_check_optional_argument): Always return a 2341 Boolean expression; handle unallocated/disassociated actual arguments 2342 as absent if passed to nonallocatable/nonpointer dummy array arguments. 2343 (gfc_build_cond_assign): Change to assume a Boolean expr not a pointer. 2344 (gfc_omp_finish_clause, gfc_trans_omp_clauses): Assign NULL to generated 2345 array-data variable if the argument is absent. Simplify code as 2346 'present' is now a Boolean expression. 2347 23482020-01-03 Tobias Burnus <tobias@codesourcery.com> 2349 2350 PR fortran/92994 2351 * primary.c (gfc_match_rvalue): Add some flavor checks 2352 gfc_matching_procptr_assignment. 2353 * resolve.c (resolve_assoc_var): Add more checks for invalid targets. 2354 23552020-01-02 Tobias Burnus <tobias@codesourcery.com> 2356 2357 PR fortran/68020 2358 * array.c (gfc_match_array_spec): Fix implied-type matching 2359 for rank > 2. 2360 23612020-01-01 Thomas Koenig <tkoenig@gcc.gnu.org> 2362 2363 PR fortran/93113 2364 * dependency.c (gfc_dep_resolver): Handle REF_INQUIRY in switch 2365 for ref types. 2366 23672020-01-01 Jakub Jelinek <jakub@redhat.com> 2368 2369 Update copyright years. 2370 2371 * gfortranspec.c (lang_specific_driver): Update copyright notice 2372 dates. 2373 * gfc-internals.texi: Bump @copying's copyright year. 2374 * gfortran.texi: Ditto. 2375 * intrinsic.texi: Ditto. 2376 * invoke.texi: Ditto. 2377 2378Copyright (C) 2020 Free Software Foundation, Inc. 2379 2380Copying and distribution of this file, with or without modification, 2381are permitted in any medium without royalty provided the copyright 2382notice and this notice are preserved. 2383