+2020-06-16 Aldy Hernandez <aldyh@redhat.com>
+
+ PR tree-optimization/95649
+ * tree-ssa-propagate.c (propagate_into_phi_args): Do not propagate unless
+ value is a constant.
+
+2020-06-16 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
+
+ * config.in: Regenerate.
+ * config/s390/s390.c (print_operand): Emit vector alignment hints
+ for target z13, if AS accepts them. For other targets the logic
+ stays the same.
+ * config/s390/s390.h (TARGET_VECTOR_LOADSTORE_ALIGNMENT_HINTS): Define
+ macro.
+ * configure: Regenerate.
+ * configure.ac: Check HAVE_AS_VECTOR_LOADSTORE_ALIGNMENT_HINTS_ON_Z13.
+
+2020-06-16 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
+
+ * config/arm/arm_mve.h (__arm_vaddq_m_n_s8): Correct the intrinsic
+ arguments.
+ (__arm_vaddq_m_n_s32): Likewise.
+ (__arm_vaddq_m_n_s16): Likewise.
+ (__arm_vaddq_m_n_u8): Likewise.
+ (__arm_vaddq_m_n_u32): Likewise.
+ (__arm_vaddq_m_n_u16): Likewise.
+ (__arm_vaddq_m): Modify polymorphic variant.
+
+2020-06-16 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
+
+ * config/arm/mve.md (mve_uqrshll_sat<supf>_di): Correct the predicate
+ and constraint of all the operands.
+ (mve_sqrshrl_sat<supf>_di): Likewise.
+ (mve_uqrshl_si): Likewise.
+ (mve_sqrshr_si): Likewise.
+ (mve_uqshll_di): Likewise.
+ (mve_urshrl_di): Likewise.
+ (mve_uqshl_si): Likewise.
+ (mve_urshr_si): Likewise.
+ (mve_sqshl_si): Likewise.
+ (mve_srshr_si): Likewise.
+ (mve_srshrl_di): Likewise.
+ (mve_sqshll_di): Likewise.
+ * config/arm/predicates.md (arm_low_register_operand): Define.
+
+2020-06-16 Jakub Jelinek <jakub@redhat.com>
+
+ * tree.h (OMP_FOR_NON_RECTANGULAR): Define.
+ * gimplify.c (gimplify_omp_for): Diagnose schedule, ordered
+ or dist_schedule clause on non-rectangular loops. Handle
+ gimplification of non-rectangular lb/b expressions. When changing
+ iteration variable, adjust also non-rectangular lb/b expressions
+ referencing that.
+ * omp-general.h (struct omp_for_data_loop): Add m1, m2 and outer
+ members.
+ (struct omp_for_data): Add non_rect member.
+ * omp-general.c (omp_extract_for_data): Handle non-rectangular
+ loops. Fill in non_rect, m1, m2 and outer.
+ * omp-low.c (lower_omp_for): Handle non-rectangular lb/b expressions.
+ * omp-expand.c (expand_omp_for): Emit sorry_at for unsupported
+ non-rectangular loop cases and assert for cases that can't be
+ non-rectangular.
+ * tree-pretty-print.c (dump_mem_ref): Formatting fix.
+ (dump_omp_loop_non_rect_expr): New function.
+ (dump_generic_node): Handle non-rectangular OpenMP loops.
+ * tree-pretty-print.h (dump_omp_loop_non_rect_expr): Declare.
+ * gimple-pretty-print.c (dump_gimple_omp_for): Handle non-rectangular
+ OpenMP loops.
+
+2020-06-16 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/95690
+ * varasm.c (build_constant_desc): Remove set_mem_attributes call.
+
+2020-06-16 Kito Cheng <kito.cheng@sifive.com>
+
+ PR target/95683
+ * config/riscv/riscv.c (riscv_gpr_save_operation_p): Remove
+ assertion and turn it into a early exit check.
+
2020-06-15 Eric Botcazou <ebotcazou@gcc.gnu.org>
* gimplify.c (gimplify_init_constructor) <AGGREGATE_TYPE>: Declare
+2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sinfo.ads (Conversion_OK): Document use for 'Pos and 'Val.
+ * exp_attr.adb (Get_Integer_Type): New function returning a
+ small integer type appropriate for an enumeration type.
+ (Expand_N_Attribute_Reference) <Attribute_Enum_Rep>: Call it.
+ <Attribute_Pos>: For an enumeration type with a standard
+ representation, expand to a conversion with Conversion_OK.
+ <Attribute_Val>: Likewise.
+ * exp_ch4.adb (Expand_N_Type_Conversion): Do not expand when
+ the target is an enumeration type and Conversion_OK is set.
+
+2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch4.adb (Common_Type): Go to Underlying_Full_View, if any.
+
+2020-06-16 Richard Kenner <kenner@adacore.com>
+
+ * exp_unst.adb (Subp_Index): Change way we detect internal
+ protected subprograms.
+
+2020-06-16 Richard Kenner <kenner@adacore.com>
+
+ * comperr.adb (Compiler_Abort): Clarify message displayed to
+ customers.
+
+2020-06-16 Piotr Trojanek <trojanek@adacore.com>
+
+ * checks.adb, doc/gnat_ugn/the_gnat_compilation_model.rst,
+ einfo.ads, exp_ch5.adb, exp_ch7.adb, lib-xref.ads,
+ libgnat/g-spitbo.ads, make.adb, sem_aux.adb, sem_ch3.adb,
+ sem_ch4.adb, sem_ch5.adb, urealp.adb: Fix wrong casing.
+ * gnat_ugn.texi: Regenerate.
+
+2020-06-16 Piotr Trojanek <trojanek@adacore.com>
+
+ * einfo.adb, exp_spark.adb, exp_util.adb, sem_eval.adb: Replace
+ "Ekind ... in Object_Kind" with "Is_Object (...)".
+
+2020-06-16 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_warn.adb (Warn_On_Overlapping_Actuals): Fix typo in
+ comment.
+
+2020-06-16 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_util.adb (Evaluate_Name): Force evaluation of aggregates;
+ recursively evaluate expression of a qualified expression; fix
+ location of the comment for an attribute referenced and an
+ indexed component.
+
+2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * freeze.adb (Freeze_Expression): Use consistent style and
+ formatting in a couple of cases.
+
+2020-06-16 Steve Baird <baird@adacore.com>
+
+ * libgnat/a-nbnbin.ads, libgnat/a-nbnbre.ads: Uncomment the
+ commented-out Integer_Literal aspect specification for type
+ Big_Integer.
+
+2020-06-16 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.adb (BIP_Suffix_Kind, Check_BIP_Actuals,
+ Is_Build_In_Place_Entity): New subprograms.
+ (Make_Build_In_Place_Call_In_Allocator,
+ Make_Build_In_Place_Call_In_Anonymous_Context,
+ Make_Build_In_Place_Call_In_Assignment,
+ Make_Build_In_Place_Call_In_Object_Declaration): Add assertions.
+ (Needs_BIP_Task_Actuals): Add missing support for thunks.
+ (Expand_Actuals): Ensure that the BIP call has available an
+ activation chain and the _master variable.
+ * exp_ch9.adb (Find_Enclosing_Context): Initialize the list of
+ declarations of empty blocks when the _master variable must be
+ declared and the list was not available.
+
+2020-06-16 Bob Duff <duff@adacore.com>
+
+ * par-ch4.adb (P_Case_Expression): Move to be local.
+ (P_Declare_Expression): New parsing routine.
+ (P_Unparen_Cond_Expr_Etc): New name for
+ P_Unparen_Cond_Case_Quant_Expression which was missing one case
+ in its name (iterated component association), and we're adding a
+ new case (declare expression), so lets use "Etc" instead of
+ trying to pack all those things into the name. Add call to
+ P_Declare_Expression, and check for missing parens.
+ (P_Expression_If_OK, P_Expression_Or_Range_Attribute_If_OK): Add
+ Tok_Declare.
+ * par.adb (P_Basic_Declarative_Items): Add parameter
+ Declare_Expression so we can tailor the error message about
+ incorrect bodies.
+ (P_Case_Expression): Move to body.
+ * par-ch3.adb (P_Basic_Declarative_Items): Tailor the error
+ message about incorrect bodies.
+ * par-ch7.adb (P_Package): Pass Declare_Expression => False to
+ P_Basic_Declarative_Items.
+ * sem.ads (In_Declare_Expr): Counter used to determine whether
+ we are analyzing a declare_expression. Needed to give errors
+ about things that are not allowed in declare_expression, such as
+ the 'Access attribute.
+ * sem.adb (Do_Analyze): Save/restore In_Declare_Expr.
+ * sem_ch4.adb (Analyze_Expression_With_Actions): Give this node
+ its own scope. That seems better in general, but it is
+ necessary for declare_expressions. For example, an identifier
+ declared in a declare_expression should not clash with the same
+ identifier in an outer scope. If this is a declare_expression,
+ indicated by Comes_From_Source, then check legality rules, and
+ incr/decr In_Declare_Expr.
+ * sem_aggr.adb (Resolve_Aggregate): Allow an applicable index
+ constraint for a declare_expression, so if its expression is an
+ array aggregate, it can have "others => ...".
+ * sem_attr.adb (Analyze_Access_Attribute): Disallow these
+ attributes in declare_expressions. Add comment to make it clear
+ that Unrestricted_Access is included.
+ * sinfo.ads, sinfo.adb, atree.ads, atree.adb: Remove the
+ now-incorrect comment in sinfo.ads that says
+ N_Expression_With_Actions has no proper scope. Add 17-parameter
+ versions of Nkind_In. Remove the 16-parameter versions of
+ Nkind_In.
+
+2020-06-16 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_aux.ads, sem_aux.adb (Is_Record_Or_Limited_Type): New
+ function.
+ * exp_ch4.adb, sem_ch4.adb (Analyze_Membership_Op,
+ Expand_Set_Membership.Make_Cond): Choose between primitive and
+ predefined equality for membership tests.
+
+2020-06-16 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_warn.adb (Warn_On_Overlapping_Actuals): Simplify code and
+ implement AI12-0216 which clarifies the conditions under which
+ overlapping actuals in a call are illegal. If proper warnings
+ are enabled, GNAT also emits warnings in legal cases of
+ overlopping actuals.
+
+2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * freeze.adb (Freeze_Expression): Stop climbing the parent chain
+ at a N_{Case,If}_Expression node for a type or an entity that
+ does not come from source.
+
+2020-06-16 Steve Baird <baird@adacore.com>
+
+ * snames.ads-tmpl: Define names of the three new aspects.
+ * aspects.ads: Define the three new aspects.
+ * sem_util.ads, sem_util.adb, sem_dim.adb: Move the function
+ String_From_Numeric_Literal from being declared in the body of
+ package Sem_Dim to being declared in the visible part of package
+ Sem_Util.
+ * sem_ch13.ads, sem_ch13.adb: Declare new visible procedure
+ Validate_Literal_Aspect. This is where most of the legality
+ checking occurs for an aspect specification for one of the three
+ new aspects, as well as resolution of the subprogram named in
+ the aspect specification. Follow example of other aspects (e.g.,
+ Validate_Literal_Aspect is called in much the same way as
+ Validate_Iterable_Aspect in Analyze_Aspects_At_Freeze_Point; a
+ small amount of legality checking is performed in
+ Analyze_One_Aspect in much the same way as for Default_Value or
+ Default_Component_Value aspects). Most of the work is done in
+ Validate_Literal_Aspect.
+ * contracts.adb (Add_Contract_Item): Call
+ Validate_Literal_Aspect in much the same way that
+ Validate_Iterable_Aspect was already being called.
+ * sem_res.adb (Resolve): Rewrite a literal as a call if it is a
+ user-defined literal. This is where the dynamic semantics of
+ the 3 new aspects are implemented.
+ * sem_ch6.adb (Fully_Conformant_Expressions): Two numeric
+ literals that have different text but the same value (e.g.,
+ 12345 and 12_345) do not conform if they are user-defined
+ literals. Introduce a new function
+ User_Defined_Numeric_Literal_Mismatch to avoid duplication in
+ making this check.
+ * sem_type.adb (Has_Compatible_Type): A numeric literal can be
+ compatible with a non-numeric type (and a string literal can be
+ compatible with a non-string type) if it can be interpreted as a
+ user-defined literal.
+
+2020-06-16 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_aggr.adb (Resolve_Extension_Aggregate): Fix implementation
+ of AI05-0115 by checking the correct type.
+
+2020-06-16 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Specification): Generate error
+ message for functions returning interfaces.
+
+2020-06-16 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_ch13.adb (Membership_Entry): Relax assertion to also
+ recognize qualified identifiers.
+
+2020-06-16 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_util.adb (Evaluate_Name): Force evaluation of operators.
+
+2020-06-16 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_ch4.adb (Analyze_Membership_Op): Reset entity of equality
+ nodes for membership tests with singletons.
+ (Analyze_User_Defined_Binary_Op): Always perform the analysis
+ since nodes coming from the expander also may refer to non
+ standard operators as part of membership expansion.
+ * exp_ch4.adb (Expand_Set_Membership.Make_Cond): Reset entity of
+ equality node.
+ * sem_type.ads: Fix typo in comment.
+
+2020-06-16 Ghjuvan Lacambre <lacambre@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): Add
+ Check_Not_Incomplete_Type call.
+
+2020-06-16 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch6.adb: Add closing paren in a comment.
+ * sem_util.adb: Correct comment typo (aggreate => aggregate).
+
+2020-06-16 Javier Miranda <miranda@adacore.com>
+
+ * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
+ Code cleanup.
+
+2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * freeze.adb (In_Expanded_Body): Remove unreachable code.
+ (Freeze_Expression): Rename a couple of local variables.
+ In the case of an expanded body, also freeze locally the
+ entities declared in a nested block.
+
+2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch4.adb (Transform_Object_Operation): Document that it
+ may be partially destructive for the parent of the node.
+ (Try_Object_Operation): Undo the changes made above on failure.
+
+2020-06-16 Javier Miranda <miranda@adacore.com>
+
+ * restrict.adb (Global_No_Tasking): Adding
+ Targparm.Restrictions_On_Target Fixes regressions with zfp.
+
+2020-06-16 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb: (Freeze_Expression, In_Expanded_Body): Treat the
+ generated body of an expression function like other bodies
+ generated during expansion (e.g. stream subprograms) so that
+ those bodies are not treated as freezing points. Handle properly
+ other global references in such completions.
+
+2020-06-16 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_ch8.adb (Analyze_Object_Renaming): Remove trivially
+ useless initialization of Is_Object_Reference.
+ * sem_util.adb (Is_Object_Reference): Simplify detection of
+ binary and unary operators; literally implement rules about
+ aggregates and qualified expressions; recognize string literals
+ as object references.
+
+2020-06-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch12.adb (Validate_Derived_Type_Instance): Reword error
+ message for 12.5.1(8) subclause and add secondary message if
+ the incompatibility comes from the predicates.
+ * sem_ch3.adb (Check_Constraining_Discriminant): New procedure
+ to give the error required by the 3.7(15) subclause. Mention
+ "statically" in the error message and add secondary message
+ if the incompatibility comes from the predicates.
+ (Build_Derived_Concurrent_Type): Call it when a new discriminant
+ constrains an old one.
+ (Build_Derived_Record_Type): Likewise.
+ * sem_eval.ads (Predicates_Compatible): Declare.
+ * sem_eval.adb (Predicates_Compatible): New function to implement
+ the compatibility of predicates specified by the 4.9.1 clause.
+ (Subtypes_Statically_Compatible): Call it.
+
2020-06-15 Eric Botcazou <ebotcazou@adacore.com>
* sem_eval.ads (Predicates_Match): Fix description.
+2020-06-16 Jakub Jelinek <jakub@redhat.com>
+
+ * c-common.h (c_omp_check_loop_iv_exprs): Add an int argument.
+ * c-omp.c (struct c_omp_check_loop_iv_data): Add maybe_nonrect and
+ idx members.
+ (c_omp_is_loop_iterator): New function.
+ (c_omp_check_loop_iv_r): Use it. Add support for silent scanning
+ if outer loop iterator is present. Perform duplicate checking through
+ hash_set in the function rather than expecting caller to do that.
+ Pass NULL instead of d->ppset to walk_tree_1.
+ (c_omp_check_nonrect_loop_iv): New function.
+ (c_omp_check_loop_iv): Use it. Fill in new members, allow
+ non-rectangular loop forms, diagnose multiple associated loops with
+ the same iterator. Pass NULL instead of &pset to walk_tree_1.
+ (c_omp_check_loop_iv_exprs): Likewise.
+
2020-06-10 Martin Liska <mliska@suse.cz>
PR tree-optimization/92860
+2020-06-16 Jakub Jelinek <jakub@redhat.com>
+
+ * c-parser.c (c_parser_expr_no_commas): Save, clear and restore
+ c_in_omp_for.
+ (c_parser_omp_for_loop): Set c_in_omp_for around some calls to avoid
+ premature c_fully_fold. Defer explicit c_fully_fold calls to after
+ c_finish_omp_for.
+ * c-tree.h (c_in_omp_for): Declare.
+ * c-typeck.c (c_in_omp_for): Define.
+ (build_modify_expr): Avoid c_fully_fold if c_in_omp_for.
+ (digest_init): Likewise.
+ (build_binary_op): Likewise.
+
+2020-06-16 Jakub Jelinek <jakub@redhat.com>
+
+ * c-parser.c (c_parser_omp_clause_schedule): Reject modifier separated
+ from kind by comma rather than colon.
+
2020-06-05 Mark Wielaard <mark@klomp.org>
* c-decl.c (implicit_decl_warning): When warned and olddecl is
+2020-06-16 Marek Polacek <polacek@redhat.com>
+
+ PR c++/95369
+ * call.c (add_list_candidates): Return if a designated initializer
+ is used with a non-aggregate.
+ (implicit_conversion_error): Give an error for the case above.
+
+2020-06-16 Marek Polacek <polacek@redhat.com>
+
+ PR c++/95560
+ * name-lookup.c (check_local_shadow): Check if types are
+ non-null before calling same_type_p.
+
+2020-06-16 Jakub Jelinek <jakub@redhat.com>
+
+ * semantics.c (handle_omp_for_class_iterator): Adjust
+ c_omp_check_loop_iv_exprs caller.
+ (finish_omp_for): Likewise. Don't call fold_build_cleanup_point_expr
+ before calling c_finish_omp_for and c_omp_check_loop_iv, move it
+ after those calls.
+ * pt.c (tsubst_omp_for_iterator): Handle non-rectangular loops.
+
+2020-06-16 Jakub Jelinek <jakub@redhat.com>
+
+ * parser.c (cp_parser_omp_clause_schedule): Reject modifier separated
+ from kind by comma rather than colon.
+
+2020-06-16 Patrick Palka <ppalka@redhat.com>
+
+ * pt.c (perform_instantiation_time_access_checks): No need to
+ tsubst into decl.
+ * semantics.c (enforce_access): Verify that decl is not
+ dependent.
+
+2020-06-16 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/41437
+ PR c++/47346
+ * cp-tree.h (qualified_typedef_usage_s): Delete.
+ (qualified_typedef_usage_t): Delete.
+ (deferred_access_check): Move up in file.
+ (tree_template_info::typedefs_needing_access_checking): Delete.
+ (tree_template_info::deferred_access_checks): New field.
+ (TI_TYPEDEFS_NEEDING_ACCESS_CHECKING): Rename to ...
+ (TI_DEFERRED_ACCESS_CHECKS): ... this, and adjust accordingly.
+ * pt.c (perform_typedefs_access_check): Rename to ...
+ (perform_instantiation_time_access_checks): ... this, and adjust
+ accordingly. Remove unnecessary tree tests.
+ (instantiate_class_template_1): Adjust accordingly.
+ (instantiate_decl): Likewise.
+ * semantics.c (enforce_access): Likewise.
+
+2020-06-16 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/41437
+ PR c++/47346
+ * call.c (enforce_access): Move to semantics.c.
+ * cp-tree.h (enforce_access): Delete.
+ (get_types_needing_access_check): Delete.
+ (add_typedef_to_current_template_for_access_check): Delete.
+ * decl.c (make_typename_type): Adjust accordingly. Use
+ check_accessibility_of_qualified_id instead of directly using
+ perform_or_defer_access_check.
+ * parser.c (cp_parser_template_declaration_after_parameters):
+ Don't push a dk_no_check access state when parsing a template.
+ * pt.c (get_types_needing_access_check): Delete.
+ (append_type_to_template_for_access_check_1): Delete.
+ (perform_typedefs_access_check): Adjust. If type_decl is a
+ FIELD_DECL, also check its DECL_CONTEXT for dependence. Use
+ tsubst_copy instead of tsubst to substitute into type_decl so
+ that we substitute into the DECL_CONTEXT of a FIELD_DECL.
+ (append_type_to_template_for_access_check): Delete.
+ * search.c (accessible_p): Remove the processing_template_decl
+ early exit.
+ * semantics.c (enforce_access): Moved from call.c. If we're
+ parsing a template and the access check failed, add the check to
+ TI_TYPEDEFS_NEEDING_ACCESS_CHECKING.
+ (perform_or_defer_access_check): Adjust comment.
+ (add_typedef_to_current_template_for_access_check): Delete.
+ (check_accessibility_of_qualified_id): Adjust accordingly.
+ Exit early if the scope is dependent.
+
2020-06-11 Patrick Palka <ppalka@redhat.com>
PR c++/93467
+2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-attribs.cc (handle_noreturn_attribute): Remove names of unused
+ function parameters.
+ (handle_leaf_attribute): Likewise.
+ (handle_const_attribute): Likewise.
+ (handle_malloc_attribute): Likewise.
+ (handle_pure_attribute): Likewise.
+ (handle_novops_attribute): Likewise.
+ (handle_nonnull_attribute): Likewise.
+ (handle_nothrow_attribute): Likewise.
+ (handle_type_generic_attribute): Likewise.
+ (handle_transaction_pure_attribute): Likewise.
+ (handle_returns_twice_attribute): Likewise.
+ (handle_fnspec_attribute): Likewise.
+ (handle_always_inline_attribute): Likewise.
+ (d_handle_noinline_attribute): Likewise.
+ (d_handle_forceinline_attribute): Likewise.
+ (d_handle_flatten_attribute): Likewise.
+ (d_handle_noclone_attribute): Likewise.
+ (d_handle_section_attribute): Likewise.
+ (d_handle_alias_attribute): Likewise.
+ (d_handle_weak_attribute): Likewise.
+
+2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-attribs.cc: Update code formatting in a consistant style.
+ * d-builtins.cc: Likewise.
+ * d-codegen.cc: Likewise.
+ * d-compiler.cc: Likewise.
+ * d-convert.cc: Likewise.
+ * d-diagnostic.cc: Likewise.
+ * d-frontend.cc: Likewise.
+ * d-lang.cc: Likewise.
+ * d-longdouble.cc: Likewise.
+ * d-port.cc: Likewise.
+ * d-spec.cc: Likewise.
+ * d-tree.h: Likewise.
+ * decl.cc: Likewise.
+ * expr.cc: Likewise.
+ * longdouble.h: Likewise.
+ * modules.cc: Likewise.
+ * toir.cc: Likewise.
+ * typeinfo.cc: Likewise.
+
+2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-builtins.cc: Update quotation formatting of comments.
+ * d-codegen.cc: Likewise.
+ * d-lang.cc: Likewise.
+ * decl.cc: Likewise.
+ * expr.cc: Likewise.
+ * imports.cc: Likewise.
+ * runtime.cc: Likewise.
+ * toir.cc: Likewise.
+ * typeinfo.cc: Likewise.
+ * types.cc: Likewise.
+
+2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-diagnostic.cc (expand_d_format): Replace OutBuffer with obstack.
+ (d_diagnostic_report_diagnostic): Don't free xformat.
+ * d-lang.cc (struct d_option_data): Change deps_target type from
+ OutBuffer to vec <const char *>.
+ (deps_add_target): Update to push each target to deps_target.
+ (deps_write_string): New function.
+ (deps_write): Change buffer type to obstack* and remove colmax.
+ (d_init_options): Update initialization of deps_target.
+ (d_parse_file): Replace OutBuffer with obstack.
+
+2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-lang.cc (d_parse_file): Replace uses of File with FILE.
+
+2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-codegen.cc (build_array_bounds_call): New function.
+ (build_bounds_condition): Use build_array_bounds_call.
+ * d-lang.cc (d_init_options): Explicitly set default check action to
+ CHECKACTION_D.
+ (d_post_options): Set check action to CHECKACTION_C if the flag
+ -fno-druntime was seen.
+ * d-tree.h (build_array_bounds_call): Declare.
+ * expr.cc (ExprVisitor::visit (AssertExp *)): Use
+ build_array_bounds_call.
+
+2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-attribs.cc (build_attributes): Use toStringExp instead of cast.
+ * toir.cc (IRVisitor::visit): Likewise.
+
+2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-attribs.cc (build_attributes): Use isXxxxExp helpers instead of
+ explicit casts.
+ * d-codegen.cc (d_build_call): Likewise.
+ * d-compiler.cc (Compiler::paintAsType): Likewise.
+ * decl.cc (ExprVisitor::visit): Likewise.
+ (layout_class_initializer): Likewise.
+ * expr.cc (ExprVisitor::lvalue_p): Likewise
+ (ExprVisitor::visit): Likewise.
+ * types.cc (layout_aggregate_members): Likewise.
+
+2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-frontend.cc (eval_builtin): Use toTypeFunction instead of cast.
+ * decl.cc (DeclVisitor::visit): Likewise.
+ * toir.cc (IRVisitor::visit): Likewise.
+ * typeinfo.cc (TypeInfoVisitor::visit): Likewise.
+
+2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-builtins.cc (d_eval_constant_expression): Use isTypeXxxx helpers
+ instead of explicit casts.
+ (d_build_builtins_module): Likewise.
+ * d-codegen.cc (get_array_length): Likewise.
+ (identity_compare_p): Likewise.
+ (lower_struct_comparison): Likewise.
+ (build_array_from_val): Likewise.
+ (array_bounds_check): Likewise.
+ (get_function_type): Likewise.
+ (d_build_call): Likewise.
+ * d-compiler.cc (Compiler::paintAsType): Likewise.
+ * d-convert.cc (convert_expr): Likewise.
+ (convert_for_assignment): Likewise.
+ * d-lang.cc (d_classify_record): Likewise.
+ (d_build_eh_runtime_type): Likewise.
+ * decl.cc (DeclVisitor::visit): Likewise.
+ * expr.cc (ExprVisitor::needs_postblit): Likewise.
+ (ExprVisitor::needs_dtor): Likewise.
+ (ExprVisitor::visit): Likewise.
+ * imports.cc (ImportVisitor::visit): Likewise.
+ * typeinfo.cc (get_typeinfo_kind): Likewise.
+ (TypeInfoVisitor::visit): Likewise.
+ (TypeDeclInfoVisitor::visit): Likewise.
+ * types.cc (merge_aggregate_types): Likewise.
+ (TypeVisitor::visit): Likewise.
+
2020-06-14 Iain Buclaw <ibuclaw@gdcproject.org>
* expr.cc (ExprVisitor::visit (AssocArrayLiteralExp *)): Fix line
+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
+2020-06-16 Jonathan Wakely <jwakely@redhat.com>
+
+ * g++.dg/torture/pr95493-1.C: New test.
+
+2020-06-16 Aldy Hernandez <aldyh@redhat.com>
+
+ * g++.dg/tree-ssa/pr95649.C: New test.
+ * gcc.dg/tree-ssa/pr95649.c: New test.
+
+2020-06-16 Tobias Burnus <tobias@codesourcery.com>
+
+ * gfortran.dg/goacc/pure-elemental-procedures-2.f90: New test.
+
+2020-06-16 Tobias Burnus <tobias@codesourcery.com>
+
+ * gfortran.dg/gomp/pr79154-simd.f90: New test.
+
+2020-06-16 Marek Polacek <polacek@redhat.com>
+
+ PR c++/95369
+ * g++.dg/cpp2a/desig11.C: Adjust dg-error.
+ * g++.dg/cpp2a/desig16.C: New test.
+
+2020-06-16 Marek Polacek <polacek@redhat.com>
+
+ PR c++/95560
+ * g++.dg/warn/Wshadow-local-3.C: New test.
+
+2020-06-16 Jakub Jelinek <jakub@redhat.com>
+
+ * c-c++-common/asan/inline.c: Add -ffat-lto-objects to dg-options.
+ * c-c++-common/asan/inline-kernel.c: Likewise.
+ * c-c++-common/ubsan/inline.c: Likewise.
+
+2020-06-16 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
+
+ * gcc.target/arm/mve/intrinsics/mve_vaddq_m.c: New test.
+
+2020-06-16 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
+
+ * gcc.target/arm/mve/intrinsics/mve_scalar_shifts1.c: New test.
+ * gcc.target/arm/mve/intrinsics/mve_scalar_shifts2.c: Likewise.
+ * gcc.target/arm/mve/intrinsics/mve_scalar_shifts3.c: Likewise.
+ * gcc.target/arm/mve/intrinsics/mve_scalar_shifts4.c: Likewise.
+
+2020-06-16 Jakub Jelinek <jakub@redhat.com>
+
+ * c-c++-common/gomp/loop-6.c: New test.
+ * gcc.dg/gomp/loop-1.c: Don't expect diagnostics on valid
+ non-rectangular loops.
+ * gcc.dg/gomp/loop-2.c: New test.
+ * g++.dg/gomp/loop-1.C: Don't expect diagnostics on valid
+ non-rectangular loops.
+ * g++.dg/gomp/loop-2.C: Likewise.
+ * g++.dg/gomp/loop-5.C: New test.
+ * g++.dg/gomp/loop-6.C: New test.
+
+2020-06-16 Jakub Jelinek <jakub@redhat.com>
+
+ * c-c++-common/gomp/schedule-modifiers-2.c: New test.
+
+2020-06-16 Tobias Burnus <tobias@codesourcery.com>
+
+ PR middle-end/95622
+ * lib/target-supports.exp (check_effective_target_offloading_enabled):
+ New.
+ * c-c++-common/goacc/kernels-alias-ipa-pta-2.c: Use it for xfail.
+ * c-c++-common/goacc/kernels-alias-ipa-pta-4.c: Likewise.
+ * c-c++-common/goacc/kernels-alias-ipa-pta.c: Likewise.
+
+2020-06-16 Tobias Burnus <tobias@codesourcery.com>
+
+ * gfortran.dg/gomp/pr79154-1.f90: Update dg-*;
+ add an impure elemental example.
+ * gfortran.dg/gomp/pr79154-2.f90: Likewise.
+
+2020-06-16 Patrick Palka <ppalka@redhat.com>
+
+ PR c++/41437
+ PR c++/47346
+ * g++.dg/cpp2a/concepts-using2.C: Adjust.
+ * g++.dg/lto/20081219_1.C: Adjust.
+ * g++.dg/lto/20091002-1_0.C: Adjust.
+ * g++.dg/lto/pr65475c_0.C: Adjust.
+ * g++.dg/opt/dump1.C: Adjust.
+ * g++.dg/other/pr53574.C: Adjust.
+ * g++.dg/template/access30.C: New test.
+ * g++.dg/template/access31.C: New test.
+ * g++.dg/wrappers/wrapper-around-type-pack-expansion.C: Adjust.
+
+2020-06-16 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/95690
+ * gfortran.dg/pr95690.f90: New testcase.
+
+2020-06-16 Thomas Schwinge <thomas@codesourcery.com>
+
+ PR tree-optimization/94988
+ * gcc.dg/graphite/pr80906.c: Un-XFAIL.
+
+2020-06-16 Thomas Schwinge <thomas@codesourcery.com>
+
+ * gcc.dg/lto/pr52634_0.c: Further adjust 'dg-lto-options'.
+
+2020-06-16 Kito Cheng <kito.cheng@sifive.com>
+
+ PR target/95683
+ * gcc.target/riscv/pr95683.c: New.
+
2020-06-15 Eric Botcazou <ebotcazou@gcc.gnu.org>
* gnat.dg/aggr30.ads, gnat.dg/aggr30.adb: New test.
+2020-06-16 Tobias Burnus <tobias@codesourcery.com>
+
+ * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
+
2020-06-08 Tobias Burnus <tobias@codesourcery.com>
PR lto/94848
+2020-06-16 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/95282
+ * include/bits/atomic_base.h (__atomic_impl::load): Use the _Val
+ alias instead of deducing _Tp as an unqualified type.
+ (__atomic_impl::exchange): Use the _Val alias to remove volatile
+ from the reinterpret_cast result type.
+
+2020-06-16 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/atomic (atomic): Add static assertions.
+ * testsuite/29_atomics/atomic/requirements/types_neg.cc: New test.
+
+2020-06-16 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/94003
+ * testsuite/20_util/is_constructible/94003.cc: New test.
+
2020-06-15 Jonathan Wakely <jwakely@redhat.com>
* include/bits/char_traits.h (__cpp_lib_constexpr_char_traits):