aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2021-01-01 17:26:04 +0100
committerJakub Jelinek <jakub@redhat.com>2021-01-01 17:27:52 +0100
commit6e9269627832853dc3bb91b141295563e89c0341 (patch)
treefd55926ef36e65808c54f6acf6c1ae367c16cf1f /gcc/fortran
parent43dcbb07d29128321f9ffbde2b34635819bb5ac0 (diff)
downloadgcc-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-20202382
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.