+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