diff options
author | Jakub Jelinek <jakub@redhat.com> | 2021-01-01 17:30:04 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2021-01-01 17:30:04 +0100 |
commit | 618e665a0f406a7b35f449a54b322d49f8eb62af (patch) | |
tree | fbaf9137843a45cc983da75671ba3109040e2689 /gcc/fortran | |
parent | 6e9269627832853dc3bb91b141295563e89c0341 (diff) | |
download | gcc-618e665a0f406a7b35f449a54b322d49f8eb62af.zip gcc-618e665a0f406a7b35f449a54b322d49f8eb62af.tar.gz gcc-618e665a0f406a7b35f449a54b322d49f8eb62af.tar.bz2 |
Rotate ChangeLog files - step 2 - remove 2020 entries from ChangeLog files.
Can't be committed together with the previous one due to the ChangeLog vs.
other files restrictions.
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 2378 |
1 files changed, 1 insertions, 2377 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 66e39f5..21e8799 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,2381 +1,5 @@ -2020-12-29 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/97612 - * primary.c (build_actual_constructor): Missing allocatable - components are set unallocated using EXPR_NULL. Then missing - components are tested for a default initializer. - -2020-12-29 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/93833 - * trans-array.c (get_array_ctor_var_strlen): If the character - length backend_decl cannot be found, convert the expression and - use the string length. Clear up some minor white space issues - in the rest of the file. - -2020-12-27 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/97694 - PR fortran/97723 - * check.c (allocatable_check): Select rank temporaries are - permitted even though they are treated as associate variables. - * resolve.c (gfc_resolve_code): Break on select rank as well as - select type so that the block os resolved. - * trans-stmt.c (trans_associate_var): Class associate variables - that are optional dummies must use the backend_decl. - -2020-12-26 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/98022 - * data.c (gfc_assign_data_value): Throw an error for inquiry - references. Follow with corrected code that would provide the - expected result and provides clean error recovery. - -2020-12-26 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/83118 - * trans-array.c (gfc_alloc_allocatable_for_assignment): Make - sure that class expressions are captured for dummy arguments by - use of gfc_get_class_from_gfc_expr otherwise the wrong vptr is - used. - * trans-expr.c (gfc_get_class_from_gfc_expr): New function. - (gfc_get_class_from_expr): If a constant expression is - encountered, return NULL_TREE; - (gfc_trans_assignment_1): Deallocate rhs allocatable components - after passing derived type function results to class lhs. - * trans.h : Add prototype for gfc_get_class_from_gfc_expr. - -2020-12-25 Harald Anlauf <anlauf@gmx.de> - - * data.c (gfc_assign_data_value): Restrict use of - create_character_initializer to constant initializers. - * trans-expr.c (gfc_conv_initializer): Ensure that character - initializer is constant, otherwise fall through to get the same - error handling as for non-character cases. - -2020-12-20 Thomas Koenig <tkoenig@gcc.gnu.org> - - * trans.c (create_var_debug_raw): Set DECL_ARTIFICIAL - on variables. - -2020-12-18 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/83118 - PR fortran/96012 - * resolve.c (resolve_ordinary_assign): Generate a vtable if - necessary for scalar non-polymorphic rhs's to unlimited lhs's. - * trans-array.c (get_class_info_from_ss): New function. - (gfc_trans_allocate_array_storage): Defer obtaining class - element type until all sources of class exprs are tried. Use - class API rather than TREE_OPERAND. Look for class expressions - in ss->info by calling get_class_info_from_ss. After, obtain - the element size for class descriptors. Where the element type - is unknown, cast the data as character(len=size) to overcome - unlimited polymorphic problems. - (gfc_conv_ss_descriptor): Do not fix class variable refs. - (build_class_array_ref, structure_alloc_comps): Replace code - replicating the new function gfc_resize_class_size_with_len. - (gfc_alloc_allocatable_for_assignment): Obtain element size - for lhs in cases of deferred characters and class enitities. - Move code for the element size of rhs to start of block. Clean - up extraction of class parameters throughout this function. - After the shape check test whether or not the lhs and rhs - element sizes are the same. Use earlier evaluation of - 'cond_null'. Reallocation of lhs only to happen if size changes - or element size changes. - * trans-expr.c (gfc_resize_class_size_with_len): New function. - (gfc_get_class_from_expr): If a constant expression is - encountered, return NULL_TREE; - (trans_scalar_class_assign): New function. - (gfc_conv_procedure_call): Ensure the vtable is present for - passing a non-class actual to an unlimited formal. - (trans_class_vptr_len_assignment): For expressions of type - BT_CLASS, extract the class expression if necessary. Use a - statement block outside the loop body. Ensure that 'rhs' is - of the correct type. Obtain rhs vptr in all circumstances. - (gfc_trans_scalar_assign): Call trans_scalar_class_assign to - make maximum use of the vptr copy in place of assignment. - (trans_class_assignment): Actually do reallocation if needed. - (gfc_trans_assignment_1): Simplify some of the logic with - 'realloc_flag'. Set 'vptr_copy' for all array assignments to - unlimited polymorphic lhs. - * trans.c (gfc_build_array_ref): Call gfc_resize_class_size_ - with_len to correct span for unlimited polymorphic decls. - * trans.h : Add prototype for gfc_resize_class_size_with_len. - -2020-12-17 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/92587 - * match.c (gfc_match_assignment): Move gfc_find_vtab call from here ... - * resolve.c (gfc_resolve_code): ... to here. - -2020-12-17 Harald Anlauf <anlauf@gmx.de> - - PR fortran/98307 - * trans-stmt.c (check_forall_dependencies): Extend dependency - check to allocatable components of derived types. - -2020-12-16 Harald Anlauf <anlauf@gmx.de> - - PR fortran/98284 - * resolve.c (check_data_variable): Reject DATA elements with the - ALLOCATABLE attribute. - -2020-12-15 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/90207 - * invoke.texi: Document -fdebug-aux-vars. - * lang.opt: Add -fdebug-aux-vars. - * trans.c (MAX_PREFIX_LEN): New macro. - (create_var_debug_raw): New function. - (gfc_create_var_np): Call create_var_debug_raw if - flag_debug_aux_vars is set. - -2020-12-13 Thomas Koenig <tkoenig@gcc.gnu.org> - - * dump-parse-tree.c (show_array_ref): Also show coarrays. - (debug): Implement for array reference. - -2020-12-12 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/98022 - * data.c (gfc_assign_data_value): Handle inquiry references in - the data statement object list. - -2020-12-08 Tobias Burnus <tobias@codesourcery.com> - - * dump-parse-tree.c (show_omp_clauses, show_omp_node, - show_code_node): Handle OMP SCAN. - * gfortran.h (enum gfc_statement): Add ST_OMP_SCAN. - (enum): Add OMP_LIST_SCAN_IN and OMP_LIST_SCAN_EX. - (enum gfc_exec_op): Add EXEC_OMP_SCAN. - * match.h (gfc_match_omp_scan): New prototype. - * openmp.c (gfc_match_omp_scan): New. - (gfc_match_omp_taskgroup): Cleanup. - (resolve_omp_clauses, gfc_resolve_omp_do_blocks, - omp_code_to_statement, gfc_resolve_omp_directive): Handle 'omp scan'. - * parse.c (decode_omp_directive, next_statement, - gfc_ascii_statement): Likewise. - * resolve.c (gfc_resolve_code): Handle EXEC_OMP_SCAN. - * st.c (gfc_free_statement): Likewise. - * trans-openmp.c (gfc_trans_omp_clauses, gfc_trans_omp_do, - gfc_split_omp_clauses): Handle 'omp scan'. - -2020-12-05 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/98016 - * resolve.c (resolve_symbol): Set formal_arg_flag before - resolving an array spec and restore value afterwards. - -2020-12-03 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95342 - * decl.c (gfc_match_function_decl): Avoid NULL pointer dereference. - (gfc_match_subroutine): Likewise. - -2020-11-30 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/98011 - * scanner.c (skip_free_comments, skip_fixed_comments): If only - -fopenacc but not -fopenmp is used, ignore OpenMP's conditional - compilation sentinels. Fix indentation, use 'else if' for readability. - -2020-11-30 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/98010 - PR fortran/98013 - * options.c (gfc_post_options): Also imply recursive with - -fopenacc. - * trans-decl.c (gfc_generate_function_code): Simplify condition. - -2020-11-30 Tobias Burnus <tobias@codesourcery.com> - - * dump-parse-tree.c (show_expr): Use '==' not '=' for '.eq.'. - -2020-11-29 Harald Anlauf <anlauf@gmx.de> - - * expr.c (simplify_parameter_variable): Fix up character length - after copying an array-valued expression. - -2020-11-28 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/97454 - * trans-decl.c (gfc_get_extern_function_decl): Add argument - fnspec. - * trans-intrinsic.c (MAX_SPEC_ARG): Define. - (intrinsic_fnspec): New function. - (ADD_CHAR): Define. - (specific_intrinsic_symbol): Adjust comment. Pass - fn spec to gfc_get_extern_function_decl. - (gfc_conv_intrinsic_funcall): Add ANY, ALL, NORM2, PRODUCT - and SUM intrnisic. Add FIXME for cshift et al. - * trans-types.c (gfc_get_function_type): Add fnspec argument, - handle it. - * trans-types.h (gfc_get_function_type): Add optinal fnspec - argument. - * trans.h (gfc_get_extern_function_decl): Likewise. - -2020-11-25 Harald Anlauf <anlauf@gmx.de> - - PR fortran/85796 - * resolve.c (traverse_data_list): Fix copy&paste errors; catch - step=0 in implied do loop. - -2020-11-20 Jakub Jelinek <jakub@redhat.com> - - PR other/97911 - * Make-lang.in (fortran.serial): Change from goal to a variable. - (.PHONY): Drop fortran.serial and fortran.prev. - (f951$(exeext)): Depend on $(fortran.serial) rather than - fortran.serial. - -2020-11-18 Jakub Jelinek <jakub@redhat.com> - - * Make-lang.in (fortran.serial): New goal. - (.PHONY): Add fortran.serial fortran.prev. - (f951$(exeext)): Depend on fortran.prev. Call LINK_PROGRESS. - -2020-11-17 Harald Anlauf <anlauf@gmx.de> - - * gfortran.texi: Fix description of GFC_RTCHECK_* to match actual - code. - -2020-11-16 Harald Anlauf <anlauf@gmx.de> - - * trans-intrinsic.c (gfc_conv_intrinsic_size): Generate runtime - checking code for status of argument. - -2020-11-13 Gergö Barany <gergo@codesourcery.com> - Thomas Schwinge <thomas@codesourcery.com> - - * lang.opt (fopenacc-kernels): Add. - -2020-11-12 Jakub Jelinek <jakub@redhat.com> - - * f95-lang.c (ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LIST): - Define. - (gfc_init_builtin_functions): Add alloc_size and warn_unused_result - attributes to __builtin_GOMP_alloc. - * types.def (BT_PTRMODE): New primitive type. - (BT_FN_VOID_PTR_PTRMODE, BT_FN_PTR_SIZE_SIZE_PTRMODE): New function - types. - -2020-11-12 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/97782 - * trans-openmp.c (gfc_trans_oacc_construct, gfc_trans_omp_parallel_do, - gfc_trans_omp_parallel_do_simd, gfc_trans_omp_parallel_sections, - gfc_trans_omp_parallel_workshare, gfc_trans_omp_sections - gfc_trans_omp_single, gfc_trans_omp_task, gfc_trans_omp_teams - gfc_trans_omp_target, gfc_trans_omp_target_data, - gfc_trans_omp_workshare): Use code->loc instead of input_location - when building the OMP_/OACC_ construct. - -2020-11-11 Jakub Jelinek <jakub@redhat.com> - - PR fortran/97768 - * misc.c (gfc_typename): Use ex->value.character.length only if - ex->expr_type == EXPR_CONSTANT. If ex->ts.deferred, print : instead - of length. If ex->ts.u.cl && ex->ts.u.cl->length == NULL, print * - instead of length. Otherwise if character length is non-constant, - print just CHARACTER or CHARACTER(KIND=N). - -2020-11-10 Tobias Burnus <tobias@codesourcery.com> - - * dump-parse-tree.c (show_omp_clauses): Handle new reduction enums. - * gfortran.h (OMP_LIST_REDUCTION_INSCAN, OMP_LIST_REDUCTION_TASK, - OMP_LIST_IN_REDUCTION, OMP_LIST_TASK_REDUCTION): Add enums. - * openmp.c (enum omp_mask1): Add OMP_CLAUSE_IN_REDUCTION - and OMP_CLAUSE_TASK_REDUCTION. - (gfc_match_omp_clause_reduction): Extend reduction handling; - moved from ... - (gfc_match_omp_clauses): ... here. Add calls to it. - (OMP_TASK_CLAUSES, OMP_TARGET_CLAUSES, OMP_TASKLOOP_CLAUSES): - Add OMP_CLAUSE_IN_REDUCTION. - (gfc_match_omp_taskgroup): Add task_reduction matching. - (resolve_omp_clauses): Update for new reduction clause changes; - remove removed nonmonotonic-schedule restrictions. - (gfc_resolve_omp_parallel_blocks): Add new enums to switch. - * trans-openmp.c (gfc_omp_clause_default_ctor, - gfc_trans_omp_reduction_list, gfc_trans_omp_clauses, - gfc_split_omp_clauses): Handle updated reduction clause. - -2020-11-10 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/95847 - * trans-decl.c (gfc_get_symbol_decl): Do not (re)set the location - of an external procedure. - (build_entry_thunks, generate_coarray_init, create_main_function, - gfc_generate_function_code): Use fndecl's location in BIND_EXPR. - -2020-11-09 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/90111 - * parse.c (case_decl): Move ST_OACC_ROUTINE and ST_OACC_DECLARE to ... - (case_omp_decl): ... here. - (verify_st_order): Update comment. - -2020-11-06 Thomas Schwinge <thomas@codesourcery.com> - - * openmp.c (oacc_is_parallel, resolve_oacc_params_in_parallel): - Remove. - (resolve_oacc_loop_blocks): Don't call the former. - -2020-11-06 Tobias Burnus <tobias@codesourcery.com> - - * openmp.c (gfc_match_oacc_atomic): No longer accept 'update capture'. - -2020-11-06 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/97652 - * module.c (mio_symbol): Fix symbol name for pdt_type. - -2020-11-03 Nathan Sidwell <nathan@acm.org> - - * cpp.c (gfc_cpp_add_dep): Only add dependency if we're recording - them. - (gfc_cpp_init): Likewise for target. - -2020-11-03 Tobias Burnus <tobias@codesourcery.com> - - * decl.c (ext_attr_list): Add EXT_ATTR_DEPRECATED. - * gfortran.h (ext_attr_id_t): Ditto. - * gfortran.texi (GCC$ ATTRIBUTES): Document it. - * resolve.c (resolve_variable, resolve_function, - resolve_call, resolve_values): Show -Wdeprecated-declarations warning. - * trans-decl.c (add_attributes_to_decl): Skip those - with no middle_end_name. - -2020-11-03 Thomas Schwinge <thomas@codesourcery.com> - - PR fortran/92793 - * trans-openmp.c (gfc_trans_omp_clauses): More precise location - information for OpenACC 'gang', 'worker', 'vector' clauses with - argument. - -2020-11-02 Thomas Schwinge <thomas@codesourcery.com> - - PR fortran/92793 - * trans.c (gfc_set_backend_locus): Use 'gfc_get_location'. - (gfc_restore_backend_locus): Adjust. - -2020-11-02 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/97655 - * openmp.c (gfc_match_omp_atomic): Fix mem-order handling; - reject specifying update + capture together. - -2020-10-30 Tobias Burnus <tobias@codesourcery.com> - - * dump-parse-tree.c (show_omp_clauses): Handle atomic clauses. - (show_omp_node): Call it for atomic. - * gfortran.h (enum gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_UNSET, - remove GFC_OMP_ATOMIC_SEQ_CST and GFC_OMP_ATOMIC_ACQ_REL. - (enum gfc_omp_memorder): Replace OMP_MEMORDER_LAST by - OMP_MEMORDER_UNSET, add OMP_MEMORDER_SEQ_CST/OMP_MEMORDER_RELAXED. - (gfc_omp_clauses): Add capture and atomic_op. - (gfc_code): remove omp_atomic. - * openmp.c (enum omp_mask1): Add atomic, capture, memorder clauses. - (gfc_match_omp_clauses): Match them. - (OMP_ATOMIC_CLAUSES): Add. - (gfc_match_omp_flush): Update for 'last' to 'unset' change. - (gfc_match_omp_oacc_atomic): Removed and placed content .. - (gfc_match_omp_atomic): ... here. Update for OpenMP 5 clauses. - (gfc_match_oacc_atomic): Match directly here. - (resolve_omp_atomic, gfc_resolve_omp_directive): Update. - * parse.c (parse_omp_oacc_atomic): Update for struct gfc_code changes. - * resolve.c (gfc_resolve_blocks): Update assert. - * st.c (gfc_free_statement): Also call for EXEC_O{ACC,MP}_ATOMIC. - * trans-openmp.c (gfc_trans_omp_atomic): Update. - (gfc_trans_omp_flush): Update for 'last' to 'unset' change. - -2020-10-30 Jan Hubicka <jh@suse.cz> - - * trans-types.c: Include alias.h - (gfc_get_array_type_bounds): Set typeless storage. - -2020-10-27 Harald Anlauf <anlauf@gmx.de> - - * resolve.c (gfc_impure_variable): A dummy argument with the VALUE - attribute may be redefined without making a procedure impure. - -2020-10-27 Richard Biener <rguenther@suse.de> - - * trans-array.c (gfc_get_descriptor_field): New helper. - (gfc_conv_descriptor_data_get): Use it - drop strange - REFERENCE_TYPE handling and make sure we don't trigger it. - (gfc_conv_descriptor_data_addr): Use gfc_get_descriptor_field. - (gfc_conv_descriptor_data_set): Likewise. - (gfc_conv_descriptor_offset): Likewise. - (gfc_conv_descriptor_dtype): Likewise. - (gfc_conv_descriptor_span): Likewise. - (gfc_get_descriptor_dimension): Likewise. - (gfc_conv_descriptor_token): Likewise. - (gfc_conv_descriptor_subfield): New helper. - (gfc_conv_descriptor_stride): Use it. - (gfc_conv_descriptor_lbound): Likewise. - (gfc_conv_descriptor_ubound): Likewise. - -2020-10-25 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/97454 - * gfortran.h (gfc_symbol): Add pass_as_value flag. - (gfc_copy_formal_args_intr): Add optional argument - copy_type. - (gfc_get_intrinsic_function_symbol): Add prototype. - (gfc_find_intrinsic_symbol): Add prototype. - * intrinsic.c (gfc_get_intrinsic_function_symbol): New function. - (gfc_find_intrinsic_symbol): New function. - * symbol.c (gfc_copy_formal_args_intr): Add argument. Handle case - where the type needs to be copied from the actual argument. - * trans-intrinsic.c (remove_empty_actual_arguments): New function. - (specific_intrinsic_symbol): New function. - (gfc_conv_intrinsic_funcall): Use it. - (strip_kind_from_actual): Adjust so that the expression pointer - is set to NULL. - (gfc_conv_intrinsic_minmaxloc): Likewise. - (gfc_conv_intrinsic_minmaxval): Adjust removal of dim. - * trans-types.c (gfc_sym_type): If sym->pass_as_value is set, do - not pass by reference. - -2020-10-22 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.h (enum gfc_omp_memorder): Add. - (gfc_omp_clauses): Use it. - * openmp.c (gfc_match_omp_flush): Match memorder clauses. - * trans-openmp.c (gfc_trans_omp_flush): Handle them. - (gfc_trans_omp_directive): Update call. - -2020-10-21 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/45516 - * class.c: Add _deallocate to the vtable documentation - comment. - -2020-10-16 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95979 - * expr.c (gfc_check_init_expr): Fix check of return code from - gfc_intrinsic_func_interface. - * intrinsic.c (gfc_intrinsic_func_interface): Add further attempt - of simplification of elemental intrinsics with array arguments. - * iresolve.c (gfc_resolve_index_func): Keep optional KIND argument - for simplification of elemental use of INDEX. - -2020-10-15 Andre Vehreschild <vehre@gcc.gnu.org> - - * trans-decl.c (gfc_build_builtin_function_decls): Fix the coarray fndecls. - -2020-10-14 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/97390 - * scanner.c (load_line): Fix line-truncation warning for !$acc - and !gcc$ in free-form source code. - -2020-10-14 Steven G. Kargl <kargl@gcc.gnu.org> - Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/95614 - * decl.c (gfc_get_common): Use gfc_match_common_name instead - of match_common_name. - * decl.c (gfc_bind_idents): Use gfc_match_common_name instead - of match_common_name. - * match.c : Rename match_common_name to gfc_match_common_name. - * match.c (gfc_match_common): Use gfc_match_common_name instead - of match_common_name. - * match.h : Rename match_common_name to gfc_match_common_name. - * resolve.c (resolve_common_vars): Check each symbol in a - common block has a global symbol. If there is a global symbol - issue an error if the symbol type is a module or a program. - -2020-10-12 Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/96099 - * decl.c (gfc_match_implicit): Check for numeric and logical - types. - -2020-10-07 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/47469 - * trans-expr.c (arrayfunc_assign_needs_temporary): Tidy detection - of pointer and allocatable functions. - -2020-10-04 Harald Anlauf <anlauf@gmx.de> - - PR fortran/97272 - * trans-intrinsic.c (strip_kind_from_actual): Helper function for - removal of KIND argument. - (gfc_conv_intrinsic_minmaxloc): Ignore KIND argument here, as it - is treated elsewhere. - -2020-10-02 Jan Hubicka <hubicka@ucw.cz> - - * trans-decl.c (gfc_build_library_function_decl_with_spec): Verify - fnspec. - (gfc_build_intrinsic_function_decls): Update fnspecs. - (gfc_build_builtin_function_decls): Update fnspecs. - * trans-io.c (gfc_build_io_library_fndecls): Update fnspecs. - * trans-types.c (create_fn_spec): Update fnspecs. - -2020-09-30 Jan Hubicka <jh@suse.cz> - - * trans-decl.c (gfc_build_intrinsic_function_decls): Add traling dots - to spec strings so they match the number of parameters; do not use - R and W for non-pointer parameters. Drop pointless specifier on - caf_stop_numeric and caf_get_team. - -2020-09-30 Jan Hubicka <hubicka@ucw.cz> - - * trans-io.c (gfc_build_io_library_fndecls): Add trailing dots so - length of spec string matches number of arguments. - -2020-09-30 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/97242 - * expr.c (gfc_is_not_contiguous): Fix check. - (gfc_check_pointer_assign): Use it. - -2020-09-30 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/97045 - * trans-array.c (gfc_conv_array_ref): Make sure that the class - decl is passed to build_array_ref in the case of unlimited - polymorphic entities. - * trans-expr.c (gfc_conv_derived_to_class): Ensure that array - refs do not preceed the _len component. Free the _len expr. - * trans-stmt.c (trans_associate_var): Reset 'need_len_assign' - for polymorphic scalars. - * trans.c (gfc_build_array_ref): When the vptr size is used for - span, multiply by the _len field of unlimited polymorphic - entities, when non-zero. - -2020-09-30 Tom de Vries <tdevries@suse.de> - - * f95-lang.c (gfc_init_builtin_functions): Update - targetm.libc_has_function call. - -2020-09-28 Mark Eggleston <markeggleston@gcc.gnu.org> - - Revert: - 2020-09-27 Steven G. Kargl <kargl@gcc.gnu.org> - Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/95614 - * decl.c (gfc_get_common): Use gfc_match_common_name instead - of match_common_name. - * decl.c (gfc_bind_idents): Use gfc_match_common_name instead - of match_common_name. - * match.c : Rename match_common_name to gfc_match_common_name. - * match.c (gfc_match_common): Use gfc_match_common_name instead - of match_common_name. - * match.h : Rename match_common_name to gfc_match_common_name. - * resolve.c (resolve_common_vars): Check each symbol in a - common block has a global symbol. If there is a global symbol - issue an error if the symbol type is known as is not a common - block name. - -2020-09-27 Steven G. Kargl <kargl@gcc.gnu.org> - Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/95614 - * decl.c (gfc_get_common): Use gfc_match_common_name instead - of match_common_name. - * decl.c (gfc_bind_idents): Use gfc_match_common_name instead - of match_common_name. - * match.c : Rename match_common_name to gfc_match_common_name. - * match.c (gfc_match_common): Use gfc_match_common_name instead - of match_common_name. - * match.h : Rename match_common_name to gfc_match_common_name. - * resolve.c (resolve_common_vars): Check each symbol in a - common block has a global symbol. If there is a global symbol - issue an error if the symbol type is known as is not a common - block name. - -2020-09-24 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/96495 - * trans-expr.c (gfc_conv_procedure_call): Take the deallocation - of allocatable result components of a scalar result outside the - scalarization loop. Find and use the stored result. - -2020-09-21 Harald Anlauf <anlauf@gmx.de> - Paul Thomas <pault@gcc.gnu.org> - - * iresolve.c (gfc_resolve_mvbits): Remove unneeded conversion of - FROMPOS, LEN and TOPOS arguments to fit a C int. - * trans-intrinsic.c (gfc_conv_intrinsic_mvbits): Add inline - expansion of MVBITS intrinsic elemental subroutine and add code - for runtime argument checking. - (gfc_conv_intrinsic_subroutine): Recognise MVBITS intrinsic, but - defer handling to gfc_trans_call. - * trans-stmt.c (replace_ss): - (gfc_trans_call): Adjust to handle inline expansion, scalarization - of intrinsic subroutine MVBITS in gfc_conv_intrinsic_mvbits. - * trans.h (gfc_conv_intrinsic_mvbits): Add prototype for - gfc_conv_intrinsic_mvbits. - -2020-09-19 Sandra Loosemore <sandra@codesourcery.com> - - * interface.c (gfc_compare_actual_formal): Add assertion after - main processing loop to silence maybe-uninitialized error. - -2020-09-19 Harald Anlauf <anlauf@gmx.de> - - * symbol.c (gfc_check_conflict): Allow ELEMENTAL RECURSIVE - procedure prefix for -std=f2018. - -2020-09-17 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/96041 - PR fortran/93423 - * decl.c (gfc_match_submod_proc): Avoid later double-free - in the error case. - -2020-09-16 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/97061 - * trans-openmp.c (gfc_trans_omp_do): Handle simd with (last)private. - -2020-09-15 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/96668 - * trans.h (gfc_omp_finish_clause): Add bool openacc arg. - * trans-openmp.c (gfc_omp_finish_clause): Ditto. Use - GOMP_MAP_ALWAYS_POINTER with PSET for pointers. - (gfc_trans_omp_clauses): Like the latter and also if the always - modifier is used. - -2020-09-09 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/95109 - PR fortran/94690 - * resolve.c (gfc_resolve_code): Also call - gfc_resolve_omp_parallel_blocks for 'distribute parallel do (simd)'. - * openmp.c (gfc_resolve_omp_parallel_blocks): Handle it. - (gfc_resolve_do_iterator): Remove special code for SIMD, which is - not needed. - * trans-openmp.c (gfc_trans_omp_target): For TARGET_PARALLEL_DO_SIMD, - call simd not do processing function. - -2020-09-08 Thomas Koenig <tkoenig@gcc.gnu.org> - - * intrinsic.texi: Fix description of FINDLOC result. - -2020-09-07 Harald Anlauf <anlauf@gmx.de> - - * trans-intrinsic.c (build_round_expr): Use temporary with - appropriate kind for conversion before rounding to nearest - integer when the result precision is 128 bits. - -2020-09-07 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/96896 - * resolve.c (get_temp_from_expr): Also reset proc_pointer + - use_assoc attribute. - (resolve_ptr_fcn_assign): Use information from the LHS. - -2020-09-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * trans-types.c (gfc_get_derived_type): Fix argument types. - -2020-09-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * resolve.c (resolve_select_type): Provide a formal arg list. - -2020-09-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * trans-types.c (gfc_get_ppc_type): Add comment. - -2020-09-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - * trans-types.c (gfc_get_ppc_type): Fix function arg types. - -2020-09-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> - - PR fortran/96947 - * trans-stmt.c (gfc_trans_fail_image): caf_fail_image - expects no argument. - -2020-09-02 Jakub Jelinek <jakub@redhat.com> - - PR fortran/96859 - * check.c (gfc_boz2real, gfc_boz2int): When clearing first two bits, - change also '2' to '0' and '3' to '1' rather than just handling '4' - through '7'. - -2020-09-01 Steven G. Kargl <kargl@gcc.gnu.org> - Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/95398 - * resolve.c (resolve_select_type): Add check for BT_CLASS - type before using the CLASS_DATA macro which will have a - NULL pointer to derive components if it isn't BT_CLASS. - -2020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/96728 - * module.c (module_peek_char): Peek ahead function. - (parse_integer): Add code for parsing signed integers. - (parse_atom): Add code to handle signed integers. - (peek_atom): Add code to handle signed integers. - -2020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/96727 - * expr.c (gfc_check_init_expr): Add default error message for the AS_ASSUMED_RANK case. - -2020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/96726 - * expr.c (check_references): Change different relational operator - to less-than operator to avoid infinite loop. - -2020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/95352 - * simplify.c (simplify_bound_dim): Add check for NULL pointer - before trying to access structure member. - -2020-08-30 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/94110 - * interface.c (gfc_compare_actual_formal): Add code to also raise - the actual argument cannot be an assumed-size array error when the - dummy arguments are deferred-shape or assumed-rank pointer. - -2020-08-28 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/94672 - * trans-array.c (gfc_trans_g77_array): Check against the parm decl and - set the nonparm decl used for the is-present check to NULL if absent. - -2020-08-28 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/96624 - * simplify.c (gfc_simplify_reshape): Detect zero shape and - clear index if found. - -2020-08-27 Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/95882 - * decl.c (char_len_param_value): Check gfc_seen_div0 and - if it is set return MATCH_ERROR. - -2020-08-27 Martin Liska <mliska@suse.cz> - - * trans-openmp.c (gfc_trans_omp_do): Set exact argument of a vector - growth function to true. - -2020-08-26 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.h (enum gfc_omp_device_type): New. - (symbol_attribute, gfc_omp_clauses, gfc_common_head): Use it. - * module.c (enum ab_attribute): Add AB_OMP_DEVICE_TYPE_HOST, - AB_OMP_DEVICE_TYPE_NOHOST and AB_OMP_DEVICE_TYPE_ANY. - (attr_bits, mio_symbol_attribute): Handle it. - (load_commons, write_common_0): Handle omp_device_type flag. - * openmp.c (enum omp_mask1): Add OMP_CLAUSE_DEVICE_TYPE - (OMP_DECLARE_TARGET_CLAUSES): Likewise. - (gfc_match_omp_clauses): Match 'device_type'. - (gfc_match_omp_declare_target): Handle it. - * trans-common.c (build_common_decl): Write device-type clause. - * trans-decl.c (add_attributes_to_decl): Likewise. - -2020-08-23 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/96737 - * trans-types.c (gfc_get_derived_type): Derived types that are - used in submodules are not compatible with TYPE_CANONICAL from - any of the global namespaces. - -2020-08-20 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/96100 - PR fortran/96101 - * trans-array.c (get_array_charlen): Tidy up the evaluation of - the string length for array constructors. Avoid trailing array - references. Ensure string lengths of deferred length components - are set. For parentheses operator apply string length to both - the primary expression and the enclosed expression. - -2020-08-20 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/94958 - * trans-array.c (gfc_bcast_alloc_comp): Use the correct variable. - -2020-08-20 Tobias Burnus <tobias@codesourcery.com> - - * openmp.c (gfc_match_omp_clauses): Re-order 'if' clause pasing - to avoid creating spurious symbols. - -2020-08-18 Harald Anlauf <anlauf@gmx.de> - - * check.c (check_rest): Reject MIN/MAX character arguments of - different kind. - * simplify.c (min_max_choose): The simplification result shall - have the highest kind value of the arguments. - * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Choose type and - kind of intermediate by looking at all arguments, not the result. - -2020-08-17 Martin Liska <mliska@suse.cz> - - * openmp.c (resolve_omp_clauses): Add static assert - for OMP_LIST_NUM and size of clause_names array. - Remove check that is always true. - -2020-08-17 Martin Liska <mliska@suse.cz> - - * openmp.c (resolve_omp_clauses): Add NONTEMPORAL to clause - names. - -2020-08-13 Andre Vehreschild <vehre@gcc.gnu.org> - - PR fortran/93671 - * trans-array.c (structure_alloc_comps): Keep caf-mode when applying to - components; get the caf_token correctly for allocated scalar components. - -2020-08-13 Matthew Krupcale <mkrupcale@matthewkrupcale.com> - - PR fortran/96595 - * invoke.texi: Fix typos. - -2020-08-12 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.h: Add OMP_LIST_NONTEMPORAL. - * dump-parse-tree.c (show_omp_clauses): Dump it - * openmp.c (enum omp_mask1): Add OMP_CLAUSE_NOTEMPORAL. - (OMP_SIMD_CLAUSES): Add it. - (gfc_match_omp_clauses): Match nontemporal clause. - * trans-openmp.c (gfc_trans_omp_clauses): Process - nontemporal clause. - -2020-08-10 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/96556 - * frontend-passes.c (doloop_contained_function_call): - Do not dereference a NULL pointer for value.function.esym. - -2020-08-10 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/96312 - * trans-expr.c (fcncall_realloc_result): Only compare shapes if - lhs was allocated.. - -2020-08-10 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/96102 - * resolve.c (check_host_association): Replace the gcc_assert - with an error for internal procedures. - -2020-08-05 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/96469 - * frontend-passes.c (doloop_contained_function_call): New - function. - (doloop_contained_procedure_code): New function. - (CHECK_INQ): Macro for inquire checks. - (doloop_code): Invoke doloop_contained_procedure_code and - doloop_contained_function_call if appropriate. - (do_intent): Likewise. - -2020-08-04 Tobias Burnus <tobias@codesourcery.com> - - * openmp.c (resolve_omp_do): Detect not perfectly - nested loop with innermost collapse. - -2020-08-04 Tobias Burnus <tobias@codesourcery.com> - - * trans-openmp.c (gfc_trans_omp_do): Fix 'lastprivate(conditional:'. - -2020-08-03 Julian Brown <julian@codesourcery.com> - Thomas Schwinge <thomas@codesourcery.com> - - * trans-openmp.c (gfc_trans_omp_clauses): Don't create present/release - mappings for array descriptors. - -2020-08-03 Martin Jambor <mjambor@suse.cz> - - * f95-lang.c (gfc_init_builtin_functions): Remove processing of - hsa-builtins.def. - -2020-08-03 Tobias Burnus <tobias@codesourcery.com> - - * gfc-internals.texi: Fix typos. - * gfortran.texi: Likewise. - * intrinsic.texi: Likewise. - * invoke.texi: Likewise. - -2020-08-02 Paul Thomas <pault@gcc.gnu.org> - - PR target/96320 - * interface.c (gfc_check_dummy_characteristics): If a module - procedure arrives with assumed shape in the interface and - deferred shape in the procedure itself, update the latter and - copy the lower bounds. - -2020-08-02 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/96325 - * primary.c (gfc_match_varspec): In the case that a component - reference is added to an intrinsic type component, emit the - error message in this function. - -2020-07-29 Tobias Burnus <tobias@codesourcery.com> - - * dump-parse-tree.c (show_omp_clauses): Handle order(concurrent). - * gfortran.h (struct gfc_omp_clauses): Add order_concurrent. - * openmp.c (enum omp_mask1, OMP_DO_CLAUSES, OMP_SIMD_CLAUSES): - Add OMP_CLAUSE_ORDER. - * trans-openmp.c (gfc_trans_omp_clauses, gfc_split_omp_clauses): - Handle order(concurrent) clause. - -2020-07-29 Tobias Burnus <tobias@codesourcery.com> - - * openmp.c (resolve_omp_clauses): Permit 'omp target data' without - map if use_device_{addr,ptr} is present. - -2020-07-29 Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/96319 - * intrinsic.c (gfc_convert_type_warn): Add check for - LOGICAL type so that warnings are not output. - -2020-07-29 Tobias Burnus <tobias@codesourcery.com> - - * module.c (mio_symbol_attribute): Fix indent of previous - commit. - -2020-07-29 Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/53298 - * trans-array.c (gfc_walk_array_ref): If ref->ss.end is set - call gfc_get_scalar_ss. - -2020-07-29 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.h (enum gfc_statement): Add ST_OMP_REQUIRES. - (enum gfc_omp_requires_kind): New. - (enum gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_ACQ_REL. - (struct gfc_namespace): Add omp_requires and omp_target_seen. - (gfc_omp_requires_add_clause, - (gfc_check_omp_requires): New. - * match.h (gfc_match_omp_requires): New. - * module.c (enum ab_attribute, attr_bits): Add omp requires clauses. - (mio_symbol_attribute): Read/write them. - * openmp.c (gfc_check_omp_requires, (gfc_omp_requires_add_clause, - gfc_match_omp_requires): New. - (gfc_match_omp_oacc_atomic): Use requires's default mem-order. - * parse.c (decode_omp_directive): Match requires, set omp_target_seen. - (gfc_ascii_statement): Handle ST_OMP_REQUIRES. - * trans-openmp.c (gfc_trans_omp_atomic): Handle GFC_OMP_ATOMIC_ACQ_REL. - -2020-07-27 Tobias Burnus <tobias@codesourcery.com> - - * openmp.c (gfc_resolve_omp_directive): Remove NULL check - for clauses in EXEC_OMP_CRITICAL as it no longer can be NULL. - -2020-07-23 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.h (gfc_omp_namelist): Add lastprivate_conditional. - * openmp.c (gfc_match_omp_clauses): Handle 'conditional:' - modifier of 'lastprivate'. - * trans-openmp.c (gfc_omp_clause_default_ctor): Don't assert - on OMP_CLAUSE__CONDTEMP_ and other OMP_*TEMP_. - (gfc_trans_omp_variable_list): Handle lastprivate_conditional. - -2020-07-23 Tobias Burnus <tobias@codesourcery.com> - - * intrinsic.texi (OMP_LIB_KINDS): Add omp_depend_kind. - -2020-07-23 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.texi (Standards): Update URL; state that OpenMP 4.5 - is supported and 5.0 is partially. - * intrinsic.texi (OpenMP Modules): Refer also to OpenMP 5.0; - (OMP_LIB): Add missing derived type and new named constants. - -2020-07-22 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.h (enum gfc_omp_if_kind): Add OMP_IF_CANCEL and OMP_IF_SIMD. - * openmp.c (OMP_SIMD_CLAUSES): Add OMP_CLAUSE_IF. - (gfc_match_omp_clauses, resolve_omp_clauses): Handle 'if (simd/cancel:'. - * dump-parse-tree.c (show_omp_clauses): Likewise. - * trans-openmp.c (gfc_trans_omp_clauses, gfc_trans_omp_cancel, - (gfc_split_omp_clauses): Likewise. - -2020-07-22 Tobias Burnus <tobias@codesourcery.com> - - * openmp.c (gfc_match_omp_critical): Fix handling hints; permit - hint clause without named critical. - (resolve_omp_clauses): Require nonnegative constant integer - for the hint clause. - (gfc_resolve_omp_directive): Check for no name but - nonzero value for hint clause. - * parse.c (parse_omp_structured_block): Fix same-name check - for critical. - * trans-openmp.c (gfc_trans_omp_critical): Handle hint clause properly. - -2020-07-21 Harald Anlauf <anlauf@gmx.de> - - PR fortran/89574 - * trans-decl.c (gfc_get_extern_function_decl): Check whether a - symbol belongs to a different module. - -2020-07-19 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/96220 - * dump-parse-tree.c (get_c_type_name): Always use the entries from - c_interop_kinds_table to find the correct C type. - -2020-07-19 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/96018 - * frontend-passes.c (gfc_check_externals): Adjust formatting. - (implicit_pure_call): New function. - (implicit_pure_expr): New function. - (gfc_fix_implicit_pure): New function. - * gfortran.h (gfc_fix_implicit_pure): New prototype. - * parse.c (translate_all_program_units): Call gfc_fix_implicit_pure. - -2020-07-18 David Edelsohn <dje.gcc@gmail.com> - - * check.c (gfc_invalid_boz): Mark hint for translation using _(). - -2020-07-16 Julian Brown <julian@codesourcery.com> - Thomas Schwinge <thomas@codesourcery.com> - - * trans-openmp.c (gfc_trans_omp_clauses): Rework OpenACC - attach/detach handling for arrays with descriptors. - -2020-07-14 Steven G. Kargl <kargl@gcc.gnu.org> - Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/95612 - * expr.c (gfc_check_pointer_assigb): Output an error if - rvalue is a zero sized array or output an error if rvalue - doesn't have a symbol tree. - -2020-07-14 Tobias Burnus <tobias@codesourcery.com> - - * openmp.c (gfc_match_omp_clauses): Match also derived-type - component refs in OMP_CLAUSE_MAP. - (resolve_omp_clauses): Resolve those. - * trans-openmp.c (gfc_trans_omp_array_section, gfc_trans_omp_clauses): - Handle OpenMP structure-element mapping. - (gfc_trans_oacc_construct, gfc_trans_oacc_executable_directive, - (gfc_trans_oacc_combined_directive, gfc_trans_oacc_declare): Update - add openacc=true in gfc_trans_omp_clauses call. - -2020-07-14 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/67311 - * trans-openmp.c (gfc_has_alloc_comps): Return false also for - pointers to arrays. - -2020-07-14 Steven G. Kargl <kargl@gcc.gnu.org> - Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/96038 - * decl.c (add_init_expr_sym): For a symbol that is a - parameter accept an initialisation if it does not have a - value otherwise output a error and reject. - -2020-07-13 Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/45337 - * resolve.c (resolve_fl_variable): Remove type and intent - checks from the check for dummy. - -2020-07-13 Steven G. Kargl <kargl@gcc.gnu.org> - Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/95981 - * check.c (dim_rank_check): Allow NULL references in call to - gfc_find_array_ref and return false if no reference is found. - -2020-07-11 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/96073 - * frontend-passes.c (check_externals_procedure): Add locus - information for new_sym. - * interface.c (gfc_check_dummy_characteristics): Do not warn - about INTENT for artificially generated variables. - -2020-07-10 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95980 - * class.c (gfc_add_component_ref, gfc_build_class_symbol): - Add checks for NULL pointer dereference. - * primary.c (gfc_variable_attr): Likewise. - * resolve.c (resolve_variable, resolve_assoc_var) - (resolve_fl_var_and_proc, resolve_fl_variable_derived) - (resolve_symbol): Likewise. - -2020-07-10 Harald Anlauf <anlauf@gmx.de> - - PR fortran/96086 - * match.c (gfc_match_select_rank): Catch NULL pointer - dereference. - * resolve.c (resolve_assoc_var): Catch NULL pointer dereference - that may occur after an illegal declaration. - -2020-07-09 Julian Brown <julian@codesourcery.com> - - * trans-openmp.c (gfc_trans_omp_clauses): Use 'inner' not 'decl' for - derived type members which themselves have derived types. - -2020-07-08 Harald Anlauf <anlauf@gmx.de> - - PR fortran/96085 - * resolve.c (gfc_resolve_code): Check whether assign target is a - parameter. - -2020-07-06 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95980 - * match.c (copy_ts_from_selector_to_associate, build_class_sym): - Distinguish between unlimited polymorphic and ordinary variables - to avoid NULL pointer dereference. - * resolve.c (resolve_select_type): - Distinguish between unlimited polymorphic and ordinary variables - to avoid NULL pointer dereference. - -2020-07-06 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95709 - * resolve.c (gfc_resolve_code): Check for valid arguments to - assigned GOTO. - -2020-07-05 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/27318 - * frontend-passes.c (check_against_globals): New function. - (gfc_check_externals): Split; also invoke check_against_globals - via gfc_traverse_ns. - (gfc_check_externals0): Recursive part formerly in - gfc_check_externals. - * resolve.c (resolve_global_procedure): Set sym->error on - interface mismatch. - * symbol.c (ambiguous_symbol): Check for, and set sym->error. - -2020-07-02 Harald Anlauf <anlauf@gmx.de> - - PR fortran/93423 - * resolve.c (resolve_symbol): Avoid NULL pointer dereference. - -2020-07-02 Harald Anlauf <anlauf@gmx.de> - - PR fortran/93337 - * class.c (gfc_find_derived_vtab): Punt if name is not set. - -2020-07-02 Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/52279 - * check.c (gfc_invalid_boz): Change array declaration for - hint into a pointer. - -2020-07-02 Steven G. Kargl <kargl@gcc.gnu.org> - Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/95584 - * interface.c (generic_correspondence): Only use the pointer - to a symbol if exists. - -2020-07-01 David Edelsohn <dje.gcc@gmail.com> - - * check.c (gfc_invalid_boz): Fix bootstrap. Revert - Mark hint for translation using _(). - -2020-07-01 Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/52279 - * arith.c (reduce_binary_aa): Mark for translation the string - parameter to gfc_check_conformance with G_(). - * check.c (gfc_invalid_boz): Mark hint for translation using - _(). (gfc_check_achar): Mark for translation the message - parameter to gfc_invalid_boz using G_(). (gfc_check_char): - Mark for translation the message parameter to gfc_invalid_boz - using G_(). (gfc_check_complex): Mark for translation the - message parameter to gfc_invalid_boz using G_(). - (gfc_check_float): Mark for translation the message - parameter to gfc_invalid_boz using G_(). (check_rest): Mark - for translation the string parameter to gfc_check_conformance - with _(). (gfc_check_minloc_maxloc): Mark for translation - the string parameter to gfc_check_conformance with _(). - (gfc_check_findloc): Mark for translation the string parameter - to gfc_check_conformance with _(). (check_reduction): Mark - for translation the string parameter to gfc_check_conformance - with _(). (gfc_check_pack): Mark for translation the string - parameter to gfc_check_conformance with _(). - * decl.c (match_old_style_init): Mark for translation the - message parameter to gfc_invalid_boz using G_(). - * expr.c (gfc_check_assign): Mark for translation the string - parameter to gfc_check_conformance with _(). - * intrinsic.c (check_specific): Mark for translation the string - parameter to gfc_check_conformance with _(). - (gfc_check_intrinsic_standard): Mark symstd_msg strings for - translation using G_(). No need to mark symstd_msg for - translation in call to gfc_warning or when setting symstd. - * io.c (check_open_constraints): Mark strings for translation - using G_() in all calls to warn_or_error. (match_io_element): - Mark for translation the message parameter to gfc_invalid_boz - using G_(). - * primary.c (match_boz_constant): Mark for translation the - message parameter to gfc_invalid_boz using G_(). - * resolve.c (resolve_elemental_actual): Mark for translation - the string parameter to gfc_check_conformance with _(). - (resolve_operator): Mark for translation the string parameter - to gfc_check_conformance with _(). Mark translation strings - assigned to msg using G_() for use in a call to cfg_warning. - -2020-07-01 Steven G. Kargl <kargl@gcc.gnu.org> - Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/95446 - * resolve.c (resolve_elemental_actual): Add code to check for - non-optional argument of the same rank. Revise warning message - to refer to the Fortran 2018 standard. - -2020-07-01 Steven G. Kargl <kargl@gcc.gnu.org> - Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/95829 - * decl.c (gfc_match_decl_type_spec): Compare with "* ) " instead - of "*)". - -2020-06-30 Harald Anlauf <anlauf@gmx.de> - - PR fortran/88379 - * resolve.c (resolve_assoc_var): Avoid NULL pointer dereference. - -2020-06-30 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/95355 - * gfortran.h (gfc_typename): Add optional argument for_hash. - * misc.c (gfc_typename): When for_hash is true, just retur - CHARACTER(kind). - * class.c (gfc_intrinsic_hash_value): Call gfc_typename with - for_hash = true. - -2020-06-29 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95978 - * decl.c (gfc_match_data): Avoid NULL pointer dereference. - -2020-06-29 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/95743 - * trans-decl.c (gfc_generate_function_code): Do not generate - recursion check for compiler-generated procedures. - -2020-06-29 Harald Anlauf <anlauf@gmx.de> - - PR fortran/71706 - * trans-stmt.c (gfc_trans_sync): Do proper kind conversion in - bounds-checking code. - -2020-06-28 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95340 - * match.c (gfc_match_select_rank): Do not dereference NULL pointer. - -2020-06-28 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95880 - * symbol.c (gfc_add_type): If sym->ns->proc_name is set, use it, - otherwise fall back to sym->name. - -2020-06-27 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95881 - * resolve.c (resolve_symbol): Avoid NULL pointer dereference. - -2020-06-25 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95828 - * match.c (select_rank_set_tmp): Enlarge internal buffer used in - generating a mangled name. - * resolve.c (resolve_select_rank): Likewise. - -2020-06-25 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95826 - * decl.c (gfc_match_decl_type_spec): Replace a fixed size - buffer by a pointer and reallocate if necessary. - -2020-06-25 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/95837 - * resolve.c (gfc_resolve_substring_charlen): Remove - bogus ts.kind setting for the expression. - -2020-06-25 Tobias Burnus <tobias@codesourcery.com> - Kwok Cheung Yeung <kcy@codesourery.com> - - PR fortran/95869 - * trans-openmp.c (gfc_trans_omp_target): Use correct scoping block. - -2020-06-25 Kwok Cheung Yeung <kcy@codesourcery.com> - - * trans-openmp.c (gfc_split_omp_clauses): Add if clause - to target and simd sub-constructs. - -2020-06-24 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95827 - * iresolve.c (gfc_get_string): Enlarge internal buffer used in - generating the mangled name. - -2020-06-23 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/95812 - * dependency.c (ref_same_as_full_array): Handle case of AR_FULL - vs. AR_FULL. - -2020-06-23 Steven G. Kargl <kargl@gcc.gnu.org> - Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/95586 - * decl.c (gfc_match_implicit): Only perform else branch if - the type spect is not BT_DERIVED. - -2020-06-22 Steven G. Kargl <kargl@gcc.gnu.org> - Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/95708 - * intrinsic.c (add_functions): Replace CLASS_INQUIRY with - CLASS_TRANSFORMATIONAL for intrinsic num_images. - (make_generic): Replace ACTUAL_NO with ACTUAL_YES for - intrinsic team_number. - * resolve.c (resolve_fl_procedure): Check pointer ts.u.derived - exists before using it. - -2020-06-22 Steven G. Kargl <kargl@gcc.gnu.org> - Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/95585 - * check.c (gfc_check_reshape): Add check for a value when - the symbol has an attribute flavor FL_PARAMETER. - -2020-06-22 Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/42693 - * arith.c (gfc_arith_error): Enclose strings in G_() instead - of _(). - -2020-06-20 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95707 - * gfortran.h (gfc_common_head): Enlarge buffer. - * trans-common.c (gfc_sym_mangled_common_id): Enlarge temporary - buffers, and add check on length on mangled name to prevent - overflow. - -2020-06-20 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95688 - * iresolve.c (gfc_get_string): Enlarge static buffer size. - -2020-06-20 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95687 - * class.c (get_unique_type_string): Return a string with dynamic - length. - (get_unique_hashed_string, gfc_hash_value): Use dynamic result - from get_unique_type_string instead of static buffer. - -2020-06-20 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95689 - * interface.c (check_sym_interfaces): Enlarge temporary buffer, - and add check on length on mangled name to prevent overflow. - -2020-06-20 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95587 - * match.c (gfc_match_equivalence): Check constraints on - EQUIVALENCE objects also for CLASS variables. - -2020-06-18 Tobias Burnus <tobias@codesourcery.com> - - * openmp.c (resolve_omp_clauses): Reject vars with - allocatable components in OpenMP map clauses. - -2020-06-16 Tobias Burnus <tobias@codesourcery.com> - - * parse.c (decode_oacc_directive): Permit 'acc routine' also - inside pure procedures. - * openmp.c (gfc_match_oacc_routine): Inside pure procedures - do not permit gang, worker or vector clauses. - -2020-06-16 Tobias Burnus <tobias@codesourcery.com> - - * parse.c (decode_omp_directive): Remove "or ELEMENTAL" - from "in PURE" error message also for -fopenmp-simd. - -2020-06-16 Tobias Burnus <tobias@codesourcery.com> - - * parse.c (decode_omp_directive): Remove "or ELEMENTAL" - from "in PURE" error message. - -2020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/42122 - * dump-parse-tree.c (gfc_dump_global_symbols): If the symroot is - empty, just output "empty". - -2020-06-14 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95088 - * class.c (get_unique_type_string): Replace use of fixed size - buffer by internally passing a pointer to strings. - -2020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org> - - * check.c (gfc_check_random_seed): Always use locations - from get and put arguments for error messages. - -2020-06-14 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/94109 - * class.c (finalize_component): Return early if finalization has - already happened for expression and component within namespace. - * gfortran.h (gfc_was_finalized): New type. - (gfc_namespace): Add member was_finalzed. - (gfc_expr): Remove finalized. - * symbol.c (gfc_free_namespace): Free was_finalized. - -2020-06-11 Harald Anlauf <anlauf@gmx.de> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/95611 - * decl.c (access_attr_decl): Use correct symbol in error message. - -2020-06-11 Steven G. Kargl <kargl@gcc.gnu.org> - Harald Anlauf <anlauf@gmx.de> - - PR fortran/95544 - * check.c (invalid_null_arg): Rename to gfc_invalid_null_arg. - (gfc_check_associated, gfc_check_kind, gfc_check_merge) - (gfc_check_shape, gfc_check_size, gfc_check_spread) - (gfc_check_transfer): Adjust. - (gfc_check_len_lentrim, gfc_check_trim): Check for NULL() argument. - * gfortran.h: Declare gfc_invalid_null_arg (). - * intrinsic.c (check_arglist): Check for NULL() argument. - -2020-06-11 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95503 - * expr.c (gfc_check_pointer_assign): Skip contiguity check of rhs - of pointer assignment if lhs cannot be simply contiguous. - -2020-06-11 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/95331 - * trans-array.c (gfc_conv_array_ref): For class array dummy - arguments use the transformed descriptor in sym->backend_decl - instead of the original descriptor. - -2020-06-11 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/52351 - PR fortran/85868 - * trans-array.c (gfc_conv_expr_descriptor): Enable the - creation of a new descriptor with the correct one based - indexing for array sections. Rework array descriptor - indexing offset calculation. - -2020-06-11 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/94022 - * trans-expr.c (gfc_conv_procedure_call): In the case of - assumed-size arrays ensure that the reference is to a full array. - -2020-06-07 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95091 - * class.c (gfc_hash_value): Add cast. - -2020-06-07 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95091 - * class.c (get_unique_type_string, gfc_hash_value): Enlarge - buffers, and check whether the strings returned by - get_unique_type_string() fit. - -2020-06-05 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95530 - PR fortran/95537 - * decl.c (gfc_match_decl_type_spec): Enlarge buffer, and enhance - string copy to detect buffer overflow. - * gfortran.h (gfc_common_head): Enlarge buffer. - * trans-common.c (finish_equivalences): Enhance string copy to - detect buffer overflow. - -2020-06-05 Tom Tromey <tromey@adacore.com> - - PR fortran/95509 - * misc.c (gfc_closest_fuzzy_match): Update cutoff value - computation. - -2020-06-04 Steven G. Kargl <kargl@gcc.gnu.org> - Harald Anlauf <anlauf@gmx.de> - - PR fortran/95500 - * trans-expr.c (gfc_conv_expr_reference): Do not dereference NULL - pointer. - -2020-06-03 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/95214 - PR fortran/66833 - PR fortran/67938 - * trans-expr.c (gfc_maybe_dereference_var): Add assumed-rank to - character dummy arguments list of possible attributes. - -2020-06-03 Tobias Burnus <tobias@codesourcery.com> - - * f95-lang.c (LANG_HOOKS_OMP_PREDETERMINED_MAPPING): Redefine. - * trans-openmp.c (gfc_omp_predetermined_mapping): New. - * trans.h (gfc_omp_predetermined_mapping): Declare. - -2020-05-31 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/94361 - * class.c (finalize_component): Use expr->finalized instead of - comp->finalized. - * gfortran.h (gfc_component): Remove finalized member. - (gfc_expr): Add it here instead. - -2020-05-30 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95373 - * primary.c (is_inquiry_ref): Move validity check of inquiry - references against selected Fortran standard from here... - (gfc_match_varspec) ...to here. - -2020-05-30 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95090 - * class.c (get_unique_type_string): Use buffer overrun check. - -2020-05-29 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95090 - * class.c (get_unique_type_string): Enlarge temporary for - name-mangling. Use strncpy to prevent buffer overrun. - (get_unique_hashed_string): Enlarge temporary. - (gfc_hash_value): Enlarge temporary for name-mangling. - -2020-05-28 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95373 - * primary.c (is_inquiry_ref): Check validity of inquiry - references against selected Fortran standard. - -2020-05-28 Steven G. Kargl <kargl@gcc.gnu.org> - Mark Eggleston <markeggleston@gcc.gnu.org> - Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/94397 - * match.c (gfc_match_type_spec): New variable ok initialised - to true. Set ok with the return value of gfc_reduce_init_expr - called only if the expression is not EXPR_CONSTANT and is not - EXPR_VARIABLE. Add !ok to the check for type not being integer - or the rank being greater than zero. - -2020-05-27 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95090 - * iresolve.c (gfc_get_string): Enlarge temporary for - name-mangling. - -2020-05-27 Tobias Burnus <tobias@codesourcery.com> - Mark Eggleston <markeggleston@gnu.gcc.org> - - PR fortran/50392 - * trans-decl.c (gfc_get_symbol_decl): Remove unnecessary block - delimiters. Add auxiliary variables if a label is assigned to - a return variable. (gfc_gat_fake_result): If the symbol has an - assign attribute set declaration from the symbol's backend - declaration. - -2020-05-26 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95089 - * trans-types.c (gfc_get_derived_type): Enlarge temporary to hold - mangled name "_caf_symbol". - -2020-05-26 Alexandre Oliva <oliva@adacore.com> - - * options.c (gfc_get_option_string): Drop auxbase, add - dumpbase_ext. - -2020-05-24 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95106 - * trans-common.c (gfc_sym_mangled_common_id): Enlarge temporaries - for name-mangling. - -2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR libfortran/95191 - * libgfortran.h (libgfortran_error_codes): Add - LIBERROR_BAD_WAIT_ID. - -2020-05-20 Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/39695 - * resolve.c (resolve_fl_procedure): Set name depending on - whether the result attribute is set. For PROCEDURE/RESULT - conflict use the name in sym->ns->proc_name->name. - * symbol.c (gfc_add_type): Add check for function and result - attributes use sym->ns->proc_name->name if both are set. - Where the symbol cannot have a type use the name in - sym->ns->proc_name->name. - -2020-05-18 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95053 - * arith.c (gfc_divide): Revert hunk introduced by patch for - PR93499. - * decl.c (variable_decl): Generate error for array shape not being - an INTEGER constant. - (gfc_get_pdt_instance): Generate error if KIND or LEN expressions - in declaration of a PDT instance do not simplify to INTEGER - constants. - -2020-05-15 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/94690 - * openmp.c (resolve_omp_do): Permit more clauses for SIMD - iteration variables. - -2020-05-14 Jakub Jelinek <jakub@redhat.com> - - * trans-openmp.c: Include function.h. - (gfc_trans_omp_target): Set cfun->has_omp_target. - -2020-05-13 Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/93497 - * decl.c (char_len_param_value): Check whether character - length expression is of type EXPR_OP and if so simplify it. - * resolve.c (resolve_charlen): Reject length if it has a - rank. - -2020-05-13 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/94690 - * openmp.c (OMP_DISTRIBUTE_CLAUSES): Add OMP_CLAUSE_LASTPRIVATE. - (gfc_resolve_do_iterator): Skip the private handling for SIMD as - that is handled by ME code. - * trans-openmp.c (gfc_trans_omp_do): Don't add private/lastprivate - for dovar_found == 0, unless !simple. - -2020-05-11 Harald Anlauf <anlauf@gmx.de> - - PR fortran/95053 - * arith.c (gfc_divide): Do not error out if operand 2 is - non-numeric. Defer checks to later stage. - -2020-05-11 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/94672 - * trans.h (gfc_conv_expr_present): Add use_saved_decl=false argument. - * trans-expr.c (gfc_conv_expr_present): Likewise; use DECL directly - and only if use_saved_decl is true, use the actual PARAM_DECL arg (saved - descriptor). - * trans-array.c (gfc_trans_dummy_array_bias): Set local 'arg.0' - variable to NULL if 'arg' is not present. - * trans-openmp.c (gfc_omp_check_optional_argument): Simplify by checking - 'arg.0' instead of the true PARM_DECL. - (gfc_omp_finish_clause): Remove setting 'arg.0' to NULL. - -2020-05-11 Janus Weil <janus@gcc.gnu.org> - Dominique d'Humieres <dominiq@lps.ens.fr> - - PR fortran/59107 - * gfortran.h: Rename field resolved as resolve_symbol_called - and assign two 2 bits instead of 1. - * interface.c (check_dtio_interface1): Use new field name. - (gfc_find_typebound_dtio_proc): Use new field name. - * resolve.c (gfc_resolve_intrinsic): Replace check of the formal - field with resolve_symbol_called is at least 2, if it is not - set the field to 2. (resolve_typebound_procedure): Use new field - name. (resolve_symbol): Use new field name and check whether it - is at least 1, if it is not set the field to 1. - -2020-05-10 Harald Anlauf <anlauf@gmx.de> - - PR fortran/93499 - * arith.c (gfc_divide): Catch division by zero. - (eval_intrinsic_f3): Safeguard for NULL operands. - -2020-05-05 Steve Kargl <kargl@gcc.gnu.org> - Harald Anlauf <anlauf@gmx.de> - - PR fortran/93366 - * check.c (gfc_check_associated, invalid_null_arg): Factorize - check for presence of invalid NULL() argument. - (gfc_check_kind, gfc_check_merge, gfc_check_shape) - (gfc_check_sizeof, gfc_check_spread, gfc_check_transfer): Use this - check for presence of invalid NULL() arguments. - -2020-04-29 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com> - - PR fortran/94769 - * io.c (check_io_constraints): Initialize local variable num to - -1 and assert that it receives a meaningful value by function - compare_to_allowed_values. - -2020-04-27 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/93956 - PR fortran/94788 - * expr.c (gfc_check_pointer_assign): Revert patch for PR 93956. - * interface.c: Likewise. - -2020-04-25 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/94578 - * trans-expr.c (arrayfunc_assign_needs_temporary): If the - LHS is a subref pointer, we also need a temporary. - -2020-04-23 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/93956 - * expr.c (gfc_check_pointer_assign): Also set subref_array_pointer - when a function returns a pointer. - * interface.c (gfc_set_subref_array_pointer_arg): New function. - (gfc_procedure_use): Call it. - -2020-04-22 Fritz Reese <foreese@gcc.gnu.org> - - * trigd_fe.inc: Use mpfr to compute cosd(30) rather than a host- - precision floating point literal based on an invalid macro. - -2020-04-22 José Rui Faustino de Sousa <jrfsousa@gmail.com> - - PR fortran/90350 - * simplify.c (simplify_bound): In the case of assumed-size arrays - check if the reference is to a full array. - -2020-04-22 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/94709 - * scanner.c (load_line): In fixed form, also treat 'C' as comment and - 'D'/'d' only with -fd-lines-as-comments. Treat '!$' with -fopenmp, - '!$acc' with -fopenacc and '!GCC$' as non-comment to permit <tab> - and truncation warnings. - -2020-04-20 Thomas Koenig <tkoenig@gcc.gnu.org> - - * dump-parse-tree.c (show_attr): Add numerous flags, some cleanup. - -2020-04-20 Harald Anlauf <anlauf@gmx.de> - - PR fortran/93364 - * array.c (gfc_set_array_spec): Check for sum of rank and corank - not exceeding GFC_MAX_DIMENSIONS. - -2020-04-20 Steve Kargl <kargl@gcc.gnu.org> - Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/91800 - * decl.c (variable_decl): Reject Hollerith constants as type - initializer. - -2020-04-19 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/93500 - * resolve.c (resolve_operator): If both operands are - NULL, return false. - * simplify.c (simplify_bound): If a division by zero - was seen during bound simplification, free the - corresponcing expression and return &gfc_bad_expr. - -2020-04-17 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/94090 - * gfortran.dg (gfc_compare_interfaces): Add - optional argument bad_result_characteristics. - * interface.c (gfc_check_result_characteristics): Fix - whitespace. - (gfc_compare_interfaces): Handle new argument; return - true if function return values are wrong. - * resolve.c (resolve_global_procedure): Hard error if - the return value of a function is wrong. - -2020-04-15 Fritz Reese <foreese@gcc.gnu.org> - Linus Koenig <link@sig-st.de> - - PR fortran/94192 - * simplify.c (simplify_bound): Simplify condition for error check. - -2020-04-14 Tobias Burnus <tobias@codesourcery.com> - - * module.c (gfc_match_use): Fix name-conflict check for use-associating - the same symbol again in a submodule. - -2020-04-13 Linus Koenig <link@sig-st.de> - - PR fortran/94192 - * resolve.c (resolve_fl_var_and_proc): Set flag "error" to 1 if - pointer is found to not have an assumed rank or a deferred shape. - * simplify.c (simplify_bound): If an error has been issued for a - given pointer, one should not attempt to find its bounds. - -2020-04-09 Fritz Reese <foreese@gcc.gnu.org> - - PR fortran/87923 - * gfortran.h (gfc_resolve_open, gfc_resolve_close): Add - locus parameter. - (gfc_resolve_dt): Add code parameter. - * io.c (async_io_dt, check_char_variable, is_char_type): Removed. - (resolve_tag_format): Add locus to error message regarding - zero-sized array in FORMAT tag. - (check_open_constraints, check_close_constraints): New functions - called at resolution time. - (gfc_match_open, gfc_match_close, match_io): Move checks which don't - affect the match result to new functions check_open_constraints, - check_close_constraints, check_io_constraints. - (gfc_resolve_open, gfc_resolve_close): Call new functions - check_open_constraints, check_close_constraints after all tags have - been independently resolved. Remove duplicate constraints which are - already verified by resolve_tag. Explicitly pass locus to all error - reports. - (compare_to_allowed_values): Add locus parameter and provide - explicit locus all error reports. - (match_open_element, match_close_element, match_file_element, - match_dt_element, match_inquire_element): Remove redundant special - cases for ASYNCHRONOUS and IOMSG tags. - (gfc_resolve_dt): Remove redundant special case for format - expression. Call check_io_constraints, forwarding an I/O list as - the io_code parameter if present. - (check_io_constraints): Change return type to bool. Pass explicit - locus to error reports. Move generic checks after tag-specific - checks, since errors are no longer buffered. Move simplification of - format string to match_io. Remove redundant checks which are - verified by resolve_tag. Remove usage of async_io_dt flag and - explicitly mark symbols used in asynchronous I/O with the - asynchronous attribute. - * resolve.c (resolve_transfer, resolve_fl_namelist): Remove checks - for async_io_dt flag. This is now done in io.c. - (check_io_constraints). - (gfc_resolve_code): Pass code locus to gfc_resolve_open, - gfc_resolve_close, gfc_resolve_dt. - -2020-04-07 Fritz Reese <foreese@gcc.gnu.org> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/93871 - * gfortran.h (GFC_ISYM_ACOSD, GFC_ISYM_ASIND, GFC_ISYM_ATAN2D, - GFC_ISYM_ATAND, GFC_ISYM_COSD, GFC_ISYM_COTAND, GFC_ISYM_SIND, - GFC_ISYM_TAND): New. - * intrinsic.c (add_functions): Remove check for flag_dec_math. - Give degree trig functions simplification and name resolution - functions (e.g, gfc_simplify_atrigd () and gfc_resolve_atrigd ()). - (do_simplify): Remove special casing of degree trig functions. - * intrinsic.h (gfc_simplify_acosd, gfc_simplify_asind, - gfc_simplify_atand, gfc_simplify_cosd, gfc_simplify_cotand, - gfc_simplify_sind, gfc_simplify_tand, gfc_resolve_trigd2): Add new - prototypes. - (gfc_simplify_atrigd, gfc_simplify_trigd, gfc_resolve_cotan, - resolve_atrigd): Remove prototypes of deleted functions. - * iresolve.c (is_trig_resolved, copy_replace_function_shallow, - gfc_resolve_cotan, get_radians, get_degrees, resolve_trig_call, - gfc_resolve_atrigd, gfc_resolve_atan2d): Delete functions. - (gfc_resolve_trigd, gfc_resolve_trigd2): Resolve to library functions. - * simplify.c (rad2deg, deg2rad, gfc_simplify_acosd, gfc_simplify_asind, - gfc_simplify_atand, gfc_simplify_atan2d, gfc_simplify_cosd, - gfc_simplify_sind, gfc_simplify_tand, gfc_simplify_cotand): New - functions. - (gfc_simplify_atan2): Fix error message. - (simplify_trig_call, gfc_simplify_trigd, gfc_simplify_atrigd, - radians_f): Delete functions. - * trans-intrinsic.c: Add LIB_FUNCTION decls for sind, cosd, tand. - (rad2deg, gfc_conv_intrinsic_atrigd, gfc_conv_intrinsic_cotan, - gfc_conv_intrinsic_cotand, gfc_conv_intrinsic_atan2d): New functions. - (gfc_conv_intrinsic_function): Handle ACOSD, ASIND, ATAND, COTAN, - COTAND, ATAN2D. - * trigd_fe.inc: New file. Included by simplify.c to implement - simplify_sind, simplify_cosd, simplify_tand with code common to the - libgfortran implementation. - -2020-04-06 Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/93686 - * decl.c (gfc_match_data): Handle data matching for derived type - pointers. - -2020-04-02 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.h (gfc_resolve_formal_arglist): Add prototype. - * interface.c (check_dtio_interface1): Call it. - * resolve.c (gfc_resolve_formal_arglist): Renamed from - resolve_formal_arglist, removed static. - (find_arglists, resolve_types): Update calls. - -2020-04-02 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/93522 - * match.c (gfc_match_select_rank): Fix error cleanup. - -2020-04-02 Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/93498 - * check.c (gfc_check_findloc): If the kinds of the arguments - differ goto label "incompat". - -2020-04-02 Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/94030 - * resolve.c (resolve_equivalence): Correct formatting - around the label "identical_types". Instead of using - gfc_resolve_array_spec use is_non_constants_shape_array - to determine whether the array can be used in a in an - equivalence statement. - -2020-04-01 Mark Eggleston <mark.eggleston@codethink.com> - - PR fortran/94386 - expr.c (simplify_parameter_variable): Restore code deleted - in PR94246. - -2020-03-28 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/94246 - * arith.c : Remove trailing white space. - * expr.c (scalarize_intrinsic_call): Remove the error checking. - Make a copy of the expression to be simplified and only replace - the original if the simplification succeeds. - -2020-03-28 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/94348 - * decl.c (gfc_match_submod_proc): Add result var to the - proc's namespace. - -2020-03-27 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/93957 - * trans-array.c (gfc_alloc_allocatable_for_assignment): Accept - nonallocatable, nonpointer deferred-rank arrays. - -2020-03-27 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/93363 - * resolve.c (resolve_assoc_var): Reject association to DT and - function name. - -2020-03-25 Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/93484 - * match.c (gfc_match_type_spec): Replace gfc_match_init_expr with - gfc_match_expr. Return m if m is MATCH_NO or MATCH_ERROR. - -2020-03-23 Mark Eggleston <mark.eggleston@codethink.com> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/93600 - * expr.c (simplify_parameter_variable): Check whether the ref - chain contains INQUIRY_LEN or INQUIRY_KIND and set inquiry - boolean. When an empty array has been identified and a new - new EXPR_ARRAY expression has been created only return that - expression if inquiry is not set. This allows the new - expression to drop through to be simplified into a - EXPR_CONSTANT representing %kind or %len. - * matc.c (gfc_match_assignment): If lvalue doesn't have a - symtree free both lvalue and rvalue expressions and return - an error. - * resolv.c (gfc_resolve_ref): Ensure that code to handle - INQUIRY_LEN is only performed for arrays with deferred types. - -2020-03-18 Jakub Jelinek <jakub@redhat.com> - - * class.c (generate_finalization_wrapper): Fix up duplicated word - issue in a comment. - * trans-types.c (gfc_get_nodesc_array_type): Likewise. - -2020-03-17 Jakub Jelinek <jakub@redhat.com> - - * array.c (gfc_check_iter_variable): Fix up duplicated word issue - in a comment. - * arith.c (gfc_arith_concat): Likewise. - * resolve.c (gfc_resolve_ref): Likewise. - * frontend-passes.c (matmul_lhs_realloc): Likewise. - * module.c (gfc_match_submodule, load_needed): Likewise. - * trans-expr.c (gfc_init_se): Likewise. - -2020-03-15 Lewis Hyatt <lhyatt@gmail.com> - - * lang.opt: Avoid redundancy in the help text. - -2020-03-12 Tobias Burnus <tobias@codesourcery.com> - - PR middle-end/94120 - * openmp.c (gfc_match_oacc_declare): Accept function-result - variables; reject variables declared in a different scoping unit. - -2020-03-08 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/93581 - * resolve.c (gfc_resolve_ref): Modify array refs to be elements - if the ref chain ends in INQUIRY_LEN. - * trans-array.c (gfc_get_dataptr_offset): Provide the offsets - for INQUIRY_RE and INQUIRY_IM. - -2020-03-05 Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/93792 - * decl.c (variable_decl): If param and initializer check - for BOZ, if found, output an error, set m to MATCH_ERROR - and goto cleanup. - -2020-03-02 Andrew Benson <abensonca@gmail.com> - - PR fortran/93486 - * module.c: Increase size of variables used to read module names - when loading interfaces from module files to permit cases where - the name is the concatenation of a module and submodule name. - * gfortran.dg/pr93486.f90: New test. - -2020-03-01 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/92976 - * match.c (select_type_set_tmp): If the selector array spec has - explicit bounds, make the temporary's bounds deferred. - -2020-03-01 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/92959 - * trans-intrinsic.c (gfc_conv_associated): Eliminate - 'nonzero_charlen' and move the chunk to evaluate zero character - length until after the argument evaluation so that the string - length can be used. - -2020-02-28 Paul Thomas <pault@gcc.gnu.org> - - PR fortran/92785 - * trans-expr.c (gfc_conv_intrinsic_to_class): Renormalise non- - variable expressions to be unity lbound based. - -2020-02-25 Steven G. Kargl <kargl@gcc.gnu.org> - - * simplify.c (degrees_f): Remove unused code. - -2020-02-25 Jakub Jelinek <jakub@redhat.com> - - PR translation/93864 - * intrinsic.texi (CO_BROADCAST): Fix typo, paramter -> parameter. - * trans-array.c (gfc_allocate_pdt_comp, gfc_deallocate_pdt_comp, - gfc_check_pdt_dummy): Fix comment typo paramter -> parameter. - -2020-02-24 Mark Eggleston <mark.eggleston@codethink.com> - Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/93835 - * decl.c (gfc_match_data) : Check whether the data expression - is a derived type and is a constructor. If a BOZ constant - is encountered in the constructor output an error and return - MATCH_ERROR. - -2020-02-24 Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/93604 - * decl.c (gfc_match_data) : Check whether the data expression - is a derived type and is a constructor. If a BOZ constant - is encountered in the constructor output an error and return - MATCH_ERROR. - -2020-02-24 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/93552 - * match.c (match_exit_cycle): With OpenACC, check the kernels loop - directive and tile clause as well. - -2020-02-23 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/93889 - * interface.c (compare_parameter): Fix error message. - -2020-02-23 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/93890 - * interface.c: Replace "can not" by "cannot" and remove trailing - space. - -2020-02-20 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/93825 - * openmp.c (resolve_oacc_loop_blocks): Move call to - resolve_oacc_nested_loops from here ... - (resolve_oacc_loop): ... to here. - -2020-02-18 Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/93714 - * expr.c (gfc_check_pointer_assign): Move check for - matching character length to after checking the lvalue - attributes for target or pointer. - -2020-02-18 Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/93601 - * match.c (gfc_match_assignment) : Reject assignment if - the lhs stype is BT_CLASS and the rhs type is BT_BOZ. - -2020-02-18 Steven G. Kargl <kargl@gcc.gnu.org> - - PR fortran/93603 - * match.c (gfc_match_associate) : If target expression - has the type BT_BOZ output an error and goto - assocListError. - -2020-02-18 Steven G. Kargl <kargl@gcc.gnu.org> - Mark Eggleston <markeggleston@gcc.gnu.org> - - PR fortran/93580 - * primary.c (gfc_match_varspec): If the symbol following % - is re or im and the primary expression type is not BT_COMPLEX - issue an error. If the symbol is len and the primary - expression type is not BT_CHARACTER is an error. - -2020-02-10 Andrew Benson <abensonca@gmail.com> - - PR fortran/83113 - * array.c: Do not attempt to set the array spec for a submodule - function symbol (as it has already been set in the corresponding - module procedure interface). - * symbol.c: Do not reject duplicate POINTER, ALLOCATABLE, or - DIMENSION attributes in declarations of a submodule function. - * gfortran.h: Add a macro that tests for a module procedure in a - submodule. - * gfortran.dg/pr83113.f90: New test. - -2020-02-03 Julian Brown <julian@codesourcery.com> - Tobias Burnus <tobias@codesourcery.com> - - * cpp.c (cpp_define_builtins): Update _OPENACC define to 201711. - * intrinsic.texi: Update mentions of OpenACC version to 2.6. - * gfortran.texi: Likewise. Remove experimental disclamer for OpenACC. - * invoke.texi: Remove experimental disclamer for OpenACC. - -2020-02-03 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/93541 - * intrinisic.texi (OpenMP Modules OMP_LIB and OMP_LIB_KINDS): - Add undocumented parameters from omp_lib.f90.in. - -2020-02-03 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/93427 - * resolve.c (resolve_assoc_var): Remove too strict check. - * gfortran.dg/associate_51.f90: Update test case. - -2020-02-01 Jakub Jelinek <jakub@redhat.com> - - PR fortran/92305 - * trans-types.c (gfc_get_function_type): Also push boolean_type_node - types for non-character scalar VALUE optional dummy arguments. - * trans-decl.c (create_function_arglist): Skip those in - hidden_typelist. Formatting fix. - -2020-01-31 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/93462 - * frontend-passes.c (gfc_code_walker): For EXEC_OACC_ATOMIC, set - in_omp_atomic to true prevent front-end optimization. - -2020-01-30 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> - - PR fortran/87103 - * expr.c (gfc_check_conformance): Check vsnprintf for truncation. - * iresolve.c (gfc_get_string): Likewise. - * symbol.c (gfc_new_symbol): Remove check for maximum symbol - name length. Remove redundant 0 setting of new calloc()ed - gfc_symbol. - -2020-01-30 Paul Thomas <pault@gcc.gnu.org> - Jakub Jelinek <jakub@redhat.com> - - PR fortran/92123 - * trans-decl.c (gfc_get_symbol_decl): Call gfc_defer_symbol_init for - CFI descs. - (gfc_build_builtin_function_decls): Use ".w." instead of ".ww" or ".wR" - for gfor_fndecl_{cfi_to_gfc,gfc_to_cfi}. - (convert_CFI_desc): Handle references to CFI descriptors. - -2020-01-29 Jakub Jelinek <jakub@redhat.com> - - PR fortran/93463 - * openmp.c (oacc_code_to_statement): Handle - EXEC_OACC_{ROUTINE,UPDATE,WAIT,CACHE,{ENTER,EXIT}_DATA,DECLARE}. - -2020-01-28 Andrew Benson <abensonca@gmail.com> - - PR fortran/93461 - * trans.h: Increase GFC_MAX_MANGLED_SYMBOL_LEN to - GFC_MAX_SYMBOL_LEN*3+5 to allow for inclusion of submodule name, - plus the "." between module and submodule names. - * gfortran.dg/pr93461.f90: New test. - -2020-01-28 Andrew Benson <abensonca@gmail.com> - - PR fortran/93473 - * parse.c: Increase length of char variables to allow them to hold - a concatenated module + submodule name. - * gfortran.dg/pr93473.f90: New test. - -2020-01-28 Julian Brown <julian@codesourcery.com> - - PR fortran/93025 - * openmp.c (resolve_omp_clauses): Check array references for contiguity. - -2020-01-28 Julian Brown <julian@codesourcery.com> - - * gfortran.h (gfc_symbol): Add comp_mark bitfield. - * openmp.c (resolve_omp_clauses): Disallow mixed component and - full-derived-type accesses to the same variable within a single - directive. - -2020-01-28 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/93464 - * openmp.c (gfc_omp_check_optional_argument): Avoid ICE when - DECL_LANG_SPECIFIC and GFC_DESCRIPTOR_TYPE_P but not - GFC_DECL_SAVED_DESCRIPTOR as for local allocatable character vars. - -2020-01-28 Tobias Burnus <tobias@codesourcery.com> - - * gfortran.texi (Runtime): Remove tailing '.' in @menu. - -2020-01-27 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/85781 - * trans-expr.c (gfc_conv_substring): Handle non-ARRAY_TYPE strings - of Bind(C) procedures. - -2020-01-22 Jakub Jelinek <jakub@redhat.com> - - * parse.c (parse_omp_structured_block): Handle ST_OMP_TARGET_PARALLEL. - * trans-openmp.c (gfc_trans_omp_target) - <case EXEC_OMP_TARGET_PARALLEL>: Call pushlevel first. - - PR fortran/93329 - * openmp.c (omp_code_to_statement): Handle remaining EXEC_OMP_* - cases. - -2020-01-21 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/93309 - * interface.c (gfc_procedure_use): Also check parent namespace for - 'implict none (external)'. - * symbol.c (gfc_get_namespace): Don't set has_implicit_none_export - to parent namespace's setting. - -2020-01-19 Thomas König <tkoenig@gcc.gnu.org> - - PR fortran/44960 - * primary.c (gfc_match_rvalue): Break after setting MATCH_ERROR. - * resolve.c (resolve_function): Issue error when a - function call contains a reference. - -2020-01-17 Mark Eggleston <mark.eggleston@codethink.com> - - PR fortran/93236 - * resolve.c (resolve_types): Declare boolean recursive and set with the - value of the recursive attribute of namespace proc_name symbol - structure if it exists. Call gfc_save_all if both flag_automatic and - recursive are false or ns->save_all is true. - -2020-01-16 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/93253 - * check.c (gfc_invalid_boz): Mention -fallow-invalid-boz - in the error message. - * gfortran.texi (BOZ literal constants): List another missing - extension and refer to -fallow-invalid-boz. - * lang.opt (fallow-invalid-boz): Also mention 'X' in the help text - as it is not covered by the previous wording. - * primary.c (match_boz_constant): Tweak wording such that it is - clear how to fix the nonstandard use. - -2020-01-09 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/65428 - * array.c (empty_constructor): New variable. - (empty_ts): New variable. - (expand_constructor): Save typespec in empty_ts. - Unset empty_constructor if there is an element. - (gfc_expand_constructor): Initialize empty_constructor - and empty_ts. If there was no explicit constructor - type and the constructor is empty, take the type from - empty_ts. - -2020-01-09 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/84135 - * array.c (gfc_set_array_spec): Fix shifting of codimensions - when adding a dimension. - * decl.c (merge_array_spec): Ditto. Fix using correct codimensions. - -2020-01-07 Jakub Jelinek <jakub@redhat.com> - - PR fortran/93162 - * trans-openmp.c (gfc_trans_omp_clauses): Check for REF_ARRAY type - before testing u.ar.type == AR_FULL. - -2020-01-04 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/91640 - * trans-expr.c (gfc_conv_procedure_call): Avoid copy-out for nonvariable - arguments to contiguous dummy args. Avoid re-checking whether fsym is - NULL. - -2020-01-03 Tobias Burnus <tobias@codesourcery.com> - - * trans-openmp.c (gfc_omp_check_optional_argument): Always return a - Boolean expression; handle unallocated/disassociated actual arguments - as absent if passed to nonallocatable/nonpointer dummy array arguments. - (gfc_build_cond_assign): Change to assume a Boolean expr not a pointer. - (gfc_omp_finish_clause, gfc_trans_omp_clauses): Assign NULL to generated - array-data variable if the argument is absent. Simplify code as - 'present' is now a Boolean expression. - -2020-01-03 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/92994 - * primary.c (gfc_match_rvalue): Add some flavor checks - gfc_matching_procptr_assignment. - * resolve.c (resolve_assoc_var): Add more checks for invalid targets. - -2020-01-02 Tobias Burnus <tobias@codesourcery.com> - - PR fortran/68020 - * array.c (gfc_match_array_spec): Fix implied-type matching - for rank > 2. - -2020-01-01 Thomas Koenig <tkoenig@gcc.gnu.org> - - PR fortran/93113 - * dependency.c (gfc_dep_resolver): Handle REF_INQUIRY in switch - for ref types. - -2020-01-01 Jakub Jelinek <jakub@redhat.com> - - Update copyright years. - - * gfortranspec.c (lang_specific_driver): Update copyright notice - dates. - * gfc-internals.texi: Bump @copying's copyright year. - * gfortran.texi: Ditto. - * intrinsic.texi: Ditto. - * invoke.texi: Ditto. -Copyright (C) 2020 Free Software Foundation, Inc. +Copyright (C) 2021 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright |