diff options
author | Jakub Jelinek <jakub@redhat.com> | 2021-01-01 17:26:04 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2021-01-01 17:27:52 +0100 |
commit | 6e9269627832853dc3bb91b141295563e89c0341 (patch) | |
tree | fd55926ef36e65808c54f6acf6c1ae367c16cf1f /gcc/fortran | |
parent | 43dcbb07d29128321f9ffbde2b34635819bb5ac0 (diff) | |
download | gcc-6e9269627832853dc3bb91b141295563e89c0341.zip gcc-6e9269627832853dc3bb91b141295563e89c0341.tar.gz gcc-6e9269627832853dc3bb91b141295563e89c0341.tar.bz2 |
Rotate ChangeLog files - part 1 - add ChangeLog-2020.
2021-01-01 Jakub Jelinek <jakub@redhat.com>
gcc/
* ChangeLog-2020: Rotate ChangeLog. New file.
gcc/ada/
* ChangeLog-2020: Rotate ChangeLog. New file.
gcc/cp/
* ChangeLog-2020: Rotate ChangeLog. New file.
gcc/d/
* ChangeLog-2020: Rotate ChangeLog. New file.
gcc/fortran/
* ChangeLog-2020: Rotate ChangeLog. New file.
gcc/testsuite/
* ChangeLog-2020: Rotate ChangeLog. New file.
libgfortran/
* ChangeLog-2020: Rotate ChangeLog. New file.
libstdc++-v3/
* ChangeLog-2020: Rotate ChangeLog. New file.
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog-2020 | 2382 |
1 files changed, 2382 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog-2020 b/gcc/fortran/ChangeLog-2020 new file mode 100644 index 0000000..66e39f5 --- /dev/null +++ b/gcc/fortran/ChangeLog-2020 @@ -0,0 +1,2382 @@ +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. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. |