+2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+
+ * gimplify.c (gimplify_adjust_omp_clauses): Remove
+ 'GOMP_MAP_STRUCT' mapping from OpenACC 'exit data' directives.
+
+2020-06-05 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/95539
+ * tree-vect-data-refs.c
+ (vect_slp_analyze_and_verify_instance_alignment): Use
+ SLP_TREE_REPRESENTATIVE for the data-ref check.
+ * tree-vect-stmts.c (vectorizable_load): Reset stmt_info
+ back to the first scalar stmt rather than the
+ SLP_TREE_REPRESENTATIVE to match previous behavior.
+
+2020-06-05 Felix Yang <felix.yang@huawei.com>
+
+ PR target/95254
+ * expr.c (emit_move_insn): Check src and dest of the copy to see
+ if one or both of them are subregs, try to remove the subregs when
+ innermode and outermode are equal in size and the mode change involves
+ an implicit round trip through memory.
+
+2020-06-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/95535
+ * config/i386/i386.md (*ctzsi2_zext, *clzsi2_lzcnt_zext): New
+ define_insn_and_split patterns.
+ (*ctzsi2_zext_falsedep, *clzsi2_lzcnt_zext_falsedep): New
+ define_insn patterns.
+
+2020-06-05 Jonathan Wakely <jwakely@redhat.com>
+
+ * alloc-pool.h (object_allocator::remove_raw): New.
+ * tree-ssa-math-opts.c (struct occurrence): Use NSMDI.
+ (occurrence::occurrence): Add.
+ (occurrence::~occurrence): Likewise.
+ (occurrence::new): Likewise.
+ (occurrence::delete): Likewise.
+ (occ_new): Remove.
+ (insert_bb): Use new occurence (...) instead of occ_new.
+ (register_division_in): Likewise.
+ (free_bb): Use delete occ instead of manually removing
+ from the pool.
+
+2020-06-05 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/95493
+ * cfgexpand.c (expand_debug_expr): Avoid calling
+ set_mem_attributes_minus_bitpos when we were expanding
+ an SSA name.
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Remove
+ ARRAY_REF special-casing, add CONSTRUCTOR to the set of
+ special-cases we do not want MEM_EXPRs for. Assert
+ we end up with reasonable MEM_EXPRs.
+
+2020-06-05 Lili Cui <lili.cui@intel.com>
+
+ PR target/95525
+ * config/i386/i386.h (PTA_WAITPKG): Change bitmask value.
+
2020-06-04 Martin Sebor <msebor@redhat.com>
PR middle-end/10138
+2020-06-05 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_prag.adb (Validate_Compile_Time_Warning_Or_Error): Use ??.
+
+2020-06-05 Arnaud Charlet <charlet@adacore.com>
+
+ * cstand.adb (Create_Standard): Update comments.
+
+2020-06-05 Arnaud Charlet <charlet@adacore.com>
+
+ * scng.adb (Scan): Fix typo to take into account all future
+ versions of Ada.
+ * sem_attr.ads (Attribute_Impl_Def): Add Attribute_Reduce for
+ now.
+ * sem_attr.adb (Analyze_Attribute): Only allow 'Reduce under
+ -gnatX.
+ * snames.ads-tmpl (Name_Reduce): Update comment.
+
+2020-06-05 Thomas Quinot <quinot@adacore.com>
+
+ * exp_disp.adb (Expand_Interface_Thunk): Add comment about
+ gnatcov reliance on specific name used for thunks.
+
+2020-06-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Subtype_Declaration): For scalar types,
+ and for subtype declarations without a constraint, subtype
+ inherits Atomic flag from base type.
+
+2020-06-05 Piotr Trojanek <trojanek@adacore.com>
+
+ * doc/gnat_rm/implementation_defined_attributes.rst (Enum_Rep):
+ Remove extra colon.
+ * gnat_rm.texi: Regenerate.
+
+2020-06-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * atree.adb (New_Copy): Clear Has_Dynamic_Range_Check on
+ subexpression nodes.
+ * checks.adb (Append_Range_Checks): Assert that the node
+ doesn't have the Has_Dynamic_Range_Check flag set.
+ (Insert_Range_Checks): Likewise.
+ * exp_ch3.adb (Expand_N_Subtype_Indication): Do not apply
+ range checks for a full type or object declaration.
+ * sem_ch3.ads: Move with and use clauses for Nlists to...
+ (Process_Range_Expr_In_Decl): Change default to No_List for
+ the Check_List parameter.
+ * sem_ch3.adb: ...here.
+ (Process_Range_Expr_In_Decl): Likewise. When the insertion
+ node is a declaration, only insert on the list if is present
+ when the declaration involves discriminants, and only insert
+ on the node when there is no list otherwise.
+
+2020-06-05 Piotr Trojanek <trojanek@adacore.com>
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): Create the
+ N_Aggregate node with its Expressions field set to No_List and
+ not to an empty list.
+
+2020-06-05 Dmitriy Anisimkov <anisimko@adacore.com>
+
+ * libgnat/s-os_lib.adb (Is_Dirsep): Moved from Build_Path to
+ package level to reuse.
+ (Normalize_Pathname.Final_Value): Reduce 2 'if' statements to
+ one.
+ (Normalize_Pathname.Fill_Directory): New procedure instead of
+ function Get_Directory. Remove slash to backslash conversion and
+ drive letter uppercasing on Windows.
+
+2020-06-05 Arnaud Charlet <charlet@adacore.com>
+
+ * sem.adb (Assert_Done): Relax check for main unit, as it was
+ overzealous in the case of the main unit itself.
+
+2020-06-05 Piotr Trojanek <trojanek@adacore.com>
+
+ * exp_ch3.adb, sem_ch8.adb, sem_util.adb: Use Is_Incomplete_Type
+ to make the code easier to read.
+
+2020-06-05 Piotr Trojanek <trojanek@adacore.com>
+
+ * einfo.adb: Minor reformatting.
+ * sem_util.adb (Has_Full_Default_Initialization,
+ Is_Partially_Initialized_Type, Caller_Known_Size_Record,
+ Large_Max_Size_Mutable): Iterate with
+ First_Component/Next_Component; rename Ent to Comp.
+
+2020-06-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Use
+ Expr_Rep_Value instead of Expr_Value to obtain the equivalent
+ integer value.
+ * sem_eval.ads (Expr_Value): Document more supported cases.
+ * sem_eval.adb (Expr_Rep_Value): Copy missing cases from
+ Exp_Value.
+
+2020-06-05 Bob Duff <duff@adacore.com>
+
+ * rtsfind.adb, rtsfind.ads: Move subtypes of RTU_Id into package
+ body, because they are not needed by clients. Change "Child_" to
+ "Descendant", because grandchildren and great grandchildren are
+ involved. Replace all the repetitive comments with a single
+ concise one. Change the parent subtypes to be more consistent;
+ use the most specific parent.
+
+2020-06-05 Piotr Trojanek <trojanek@adacore.com>
+
+ * rtsfind.ads, rtsfind.adb (Is_Text_IO_Special_Package): Moved
+ from the GNATprove backend to the frontend.
+
+2020-06-05 Yannick Moy <moy@adacore.com>
+
+ * sem_util.ads: Add comment about function only used in
+ CodePeer.
+
+2020-06-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch9.adb, (Analyze_Task_Body): After analying the task
+ body, indicate that all local variables have no delayed aspects.
+ This prevents improper later calls to
+ Check_Aspect_At_End_Of_Declarations, that would happen when the
+ constructed task_procedure body (generated during expansion) is
+ analyzed. The legality of aspect specifications that may appear
+ on local declarations has already been established, and it is in
+ general not possible to recheck them properly during expansion,
+ when visibility may not be fully established.
+
+2020-06-05 Piotr Trojanek <trojanek@adacore.com>
+
+ * libgnat/a-cofuve.ads (First): Add Global contract.
+
+2020-06-05 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_prag.adb (Set_Convention_From_Pragma): Set the convention
+ of anonymous access array components.
+
+2020-06-05 Arnaud Charlet <charlet@adacore.com>
+
+ * libgnat/a-calfor.ads, libgnat/a-catizo.ads,
+ libgnat/a-catizo.adb (Local_Time_Offset, Local_Image): New.
+ (UTC_Time_Offset): Now a renaming of Local_Time_Offset.
+
+2020-06-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch3.adb (Available_Full_View): New function returning
+ either the full or the underlying full view.
+ (Build_Full_Derivation): Add guard for the full view.
+ (Copy_And_Build): Retrieve the underlying full view, if any,
+ also if deriving a completion.
+ (Build_Derived_Private_Type): Use Available_Full_View throughout
+ to decide whether a full derivation must be done.
+
+2020-06-05 Bob Duff <duff@adacore.com>
+
+ * exp_attr.adb, exp_ch11.adb, exp_imgv.adb, exp_tss.ads,
+ par-ch4.adb, sem_attr.adb, sem_util.ads: Misc cleanup.
+
+2020-06-05 Arnaud Charlet <charlet@adacore.com>
+
+ * libgnat/a-nudira.ads, libgnat/a-nudira.adb (Random): New
+ function.
+
+2020-06-05 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_attr.ads (Attribute_Impl_Def): Remove Enum_Rep/Val.
+ * sem_attr.adb (Attribute_20): New, move Enum_Rep/Val here.
+ (Analyze_Attribute): Take Attribute_20 into account.
+
+2020-06-05 Arnaud Charlet <charlet@adacore.com>
+
+ * restrict.ads (Unit_Array): Add a-direct.
+
+2020-06-05 Arnaud Charlet <charlet@adacore.com>
+
+ * libgnat/s-stopoo.ads: Mark package Pure and leave room for
+ Nonblocking once this aspect is supported.
+
+2020-06-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference) <Valid_Scalars>:
+ Set the No_Truncation flag on the unchecked conversion built for
+ scalar types.
+
+2020-06-05 Bob Duff <duff@adacore.com>
+
+ * einfo.adb, einfo.ads, exp_util.adb: Remove Invariants_Ignored
+ flag.
+ * sem_prag.adb (Invariant): Instead of setting a flag to be
+ checked elsewhere, remove the pragma as soon as it is analyzed
+ and checked for legality.
+
+2020-06-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * checks.ads (Apply_Length_Check): Rename Ck_Node parameter to
+ Expr.
+ (Apply_Range_Check): Likewise.
+ (Get_Range_Checks): Likewise.
+ * checks.adb (Apply_Float_Conversion_Check): Likewise.
+ (Apply_Selected_Length_Checks): Likewise.
+ (Apply_Selected_Range_Checks): Likewise.
+ (Guard_Access): Likewise.
+ (Selected_Length_Checks): Likewise. Also avoid shadowing in
+ child procedures.
+ (Selected_Range_Checks): Likewise.
+
+2020-06-05 Arnaud Charlet <charlet@adacore.com>
+
+ * par-ch3.adb, par-ch4.adb, scng.adb, sem_aggr.adb,
+ sem_ch10.adb, sem_ch12.adb, sem_prag.adb: Update wording: change
+ Ada_2020 to Ada 2020 in comments and mention -gnat2020 instead
+ of -gnatX switch.
+
2020-06-04 Arnaud Charlet <charlet@adacore.com>
* libgnat/i-c.ads (long_long, unsigned_long_long): New
+2020-06-05 Jason Merrill <jason@redhat.com>
+
+ * c-pretty-print.c (pp_c_additive_expression): Handle negative
+ operand to POINTER_PLUS_EXPR.
+
2020-06-04 Martin Sebor <msebor@redhat.com>
PR middle-end/10138
+2020-06-05 Mark Wielaard <mark@klomp.org>
+
+ * c-decl.c (implicit_decl_warning): When warned and olddecl is
+ an undeclared builtin, then add a fixit header hint, if found.
+ (implicitly_declare): Add OPT_Wbuiltin_declaration_mismatch to
+ warning_at about implicit builtin declaration type mismatch.
+
2020-06-03 Mark Wielaard <mark@klomp.org>
* c-parser.c (struct c_parser): Add seen_string_literal
+2020-06-05 Marek Polacek <polacek@redhat.com>
+
+ PR c++/95369
+ * call.c (build_converted_constant_expr_internal): Allow
+ list-initialization.
+
+2020-06-05 Iain Sandoe <iain@sandoe.co.uk>
+
+ * cp-tree.def (CO_RETURN_EXPR): Correct the class
+ to use tcc_statement.
+
+2020-06-05 Jason Merrill <jason@redhat.com>
+
+ * error.c (dump_binary_op): Handle negative operand to
+ POINTER_PLUS_EXPR.
+
2020-06-04 Jason Merrill <jason@redhat.com>
PR c++/93310
+2020-06-05 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 740f3d1ea.
+ * d-lang.cc (d_handle_option): Use new fields to save debug and
+ version levels passed over command-line.
+ (d_post_options): Add them to front-end here.
+
+2020-06-05 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd f5638c7b8.
+ * d-builtins.cc (d_init_versions): Use new CHECKENABLE enum.
+ * d-codegen.cc (array_bounds_check): Likewise.
+ (build_frame_type): Likewise.
+ (get_frameinfo): Likewise.
+ * d-lang.cc (d_init_options): Likewise.
+ (d_init_options_struct): Don't initialize x_flag_bounds_check.
+ (d_handle_option): Use new CHECKENABLE enum.
+ (d_post_options): Likewise. Set flag_bounds_check here.
+ * expr.cc (ExprVisitor::visit(AssertExp *)): Use new CHECKENABLE enum.
+
+2020-06-05 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 56f0a65c4.
+ * d-builtins.cc (build_frontend_type): Remove static.
+ (d_build_builtins_module): Use target.va_listType() to get front-end
+ type for va_list.
+ (d_init_builtins): Move creation of va_list to Target::va_listType.
+ * d-codegen.cc (build_interface_binfo): Use new target global.
+ (build_vindex_ref): Likewise.
+ (identity_compare_p): Likewise.
+ * d-ctfloat.cc (CTFloat::parse): Likewise.
+ * d-lang.cc (d_init): Likewise.
+ * d-port.cc (Port::isFloat32LiteralOutOfRange): Likewise.
+ (Port::isFloat64LiteralOutOfRange): Likewise.
+ * d-target.cc (define_float_constants): Initialize constants through a
+ reference, instead of setting globals.
+ (Target::_init): Initialize new fields instead of setting globals.
+ (Target::va_listType): Build front-end type from va_list_type_node.
+ (Target::toCppMangle): Renamed to ...
+ (TargetCPP::toMangle): ... this.
+ (Target::cppTypeInfoMangle): Renamed to ...
+ (TargetCPP::typeInfoMangle): ... this.
+ (Target::cppTypeMangle): Renamed to ...
+ (TargetCPP::typeMangle): this.
+ (Target::cppParameterType): Renamed to ...
+ (TargetCPP::parameterType): ... this. Use target.va_listType() to get
+ front-end type for va_list.
+ (Target::cppFundamentalType): Renamed to ...
+ (TargetCPP::fundamentalType): ... this.
+ * d-tree.h (build_frontend_type): Declare.
+ * decl.cc (base_vtable_offset): Use new target global.
+ * typeinfo.cc (layout_classinfo_interfaces): Likewise.
+ (layout_cpp_typeinfo): Likewise.
+ * types.cc (valist_array_p): Use target.va_listType() to get front-end
+ type for va_list.
+ (layout_aggregate_type): Use new target global.
+
+2020-06-05 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * dmd/MERGE: Merge upstream dmd 6d5bffa54.
+ * d-builtins.cc (maybe_set_builtin_1): Update call to
+ Condition::include().
+ * decl.cc (DeclVisitor::visit(AttribDeclaration *)): Likewise.
+ * types.cc (layout_aggregate_members): Likewise.
+
2020-06-04 Iain Buclaw <ibuclaw@gdcproject.org>
* dmd/MERGE: Merge upstream dmd 48d704f08.
+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>
+2020-06-05 Martin Sebor <msebor@redhat.com>
+
+ * g++.dg/warn/Wnonnull5.C: Temporarily remove.
+
+2020-06-05 Marek Polacek <polacek@redhat.com>
+
+ PR c++/95369
+ * g++.dg/cpp2a/nontype-class38.C: New test.
+
+2020-06-05 Mark Wielaard <mark@klomp.org>
+
+ * gcc.dg/missing-header-fixit-3.c: Add
+ -Wno-implicit-function-declaration.
+ * gcc.dg/missing-header-fixit-4.c: Add new expected output.
+ * gcc.dg/missing-header-fixit-5.c: New testcase.
+ * gcc.dg/Wbuiltin-declaration-mismatch-ignore.c: Likewise.
+
+2020-06-05 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/constexpr-ptrsub2.C: New test.
+
+2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+
+ * c-c++-common/goacc/struct-enter-exit-data-1.c: New file.
+
+2020-06-05 Martin Sebor <msebor@redhat.com>
+
+ * c-c++-common/goacc/uninit-use-device-clause.c: Adjust.
+ * c-c++-common/pr59223.c: Same.
+ * g++.dg/warn/Wnonnull5.C: Same.
+ * gcc.dg/pr59924.c: Same.
+ * gcc.dg/ubsan/pr81981.c: Same.
+ * gcc.dg/ubsan/pr89284.c: Same.
+ * gfortran.dg/goacc/uninit-use-device-clause.f95: Same.
+
+2020-06-05 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/95539
+ * gcc.dg/vect/pr95539.c: New testcase.
+
+2020-06-05 Felix Yang <felix.yang@huawei.com>
+
+ PR target/95254
+ * gcc.target/aarch64/pr95254.c: New test.
+ * gcc.target/i386/pr67609.c: Check "movq\t%xmm0" instead of "movdqa".
+
+2020-06-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/95535
+ * gcc.target/i386/pr95535-1.c: New test.
+ * gcc.target/i386/pr95535-2.c: New test.
+
+2020-06-05 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/95493
+ * g++.dg/torture/pr95493.C: New testcase.
+
2020-06-04 Martin Sebor <msebor@redhat.com>
PR middle-end/10138
+2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+
+ * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
+ special handling.
+
+2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+
+ * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
+ Simplify.
+
+2020-06-05 Julian Brown <julian@codesourcery.com>
+
+ * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
+ * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
+
2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
* oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: