Daily bump.
authorGCC Administrator <gccadmin@gcc.gnu.org>
Sat, 13 Jun 2020 00:16:25 +0000 (00:16 +0000)
committerGCC Administrator <gccadmin@gcc.gnu.org>
Sat, 13 Jun 2020 00:16:25 +0000 (00:16 +0000)
ChangeLog
gcc/ChangeLog
gcc/DATESTAMP
gcc/ada/ChangeLog
gcc/testsuite/ChangeLog
libstdc++-v3/ChangeLog

index 90a8fec9a3c55d6a72da70b038bf18938b3282f3..8c2547690175f404b73c31f3c5fb8a7fa8b05212 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2020-06-12  Martin Liska  <mliska@suse.cz>
+
+       * .gitignore: Add .clang-tidy.
+
 2020-06-08  Jason Merrill  <jason@redhat.com>
 
        * configure.ac: Check AX_CXX_COMPILE_STDCXX if not bootstrapping.
index 2381eb6ccd4c537334ff36fcb5975fc0ed0dd5a7..7a13b05e117d08c952938fbb551ab8e0d15ec65f 100644 (file)
@@ -1,3 +1,133 @@
+2020-06-12  Marco Elver  <elver@google.com>
+
+       * gimplify.c (gimplify_function_tree): Optimize and do not emit
+       IFN_TSAN_FUNC_EXIT in a finally block if we do not need it.
+       * params.opt: Add --param=tsan-instrument-func-entry-exit=.
+       * tsan.c (instrument_memory_accesses): Make
+       fentry_exit_instrument bool depend on new param.
+
+2020-06-12  Felix Yang  <felix.yang@huawei.com>
+
+       PR tree-optimization/95570
+       * tree-vect-data-refs.c (vect_relevant_for_alignment_p): New function.
+       (vect_verify_datarefs_alignment): Call it to filter out data references
+       in the loop whose alignment is irrelevant.
+       (vect_get_peeling_costs_all_drs): Likewise.
+       (vect_peeling_supportable): Likewise.
+       (vect_enhance_data_refs_alignment): Likewise.
+
+2020-06-12  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/95633
+       * tree-vect-stmts.c (vectorizable_condition): Properly
+       guard the vec_else_clause access with EXTRACT_LAST_REDUCTION.
+
+2020-06-12  Martin Liška  <mliska@suse.cz>
+
+       * cgraphunit.c (process_symver_attribute): Wrap weakref keyword.
+       * dbgcnt.c (dbg_cnt_set_limit_by_index): Do not print extra new
+       line.
+       * lto-wrapper.c (merge_and_complain): Wrap option names.
+
+2020-06-12  Kewen Lin  <linkw@gcc.gnu.org>
+
+       * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Rename
+       LOOP_VINFO_MASK_COMPARE_TYPE to LOOP_VINFO_RGROUP_COMPARE_TYPE.  Rename
+       LOOP_VINFO_MASK_IV_TYPE to LOOP_VINFO_RGROUP_IV_TYPE.
+       (vect_set_loop_condition_masked): Renamed to ...
+       (vect_set_loop_condition_partial_vectors): ... this.  Rename
+       LOOP_VINFO_MASK_COMPARE_TYPE to LOOP_VINFO_RGROUP_COMPARE_TYPE.  Rename
+       vect_iv_limit_for_full_masking to vect_iv_limit_for_partial_vectors.
+       (vect_set_loop_condition_unmasked): Renamed to ...
+       (vect_set_loop_condition_normal): ... this.
+       (vect_set_loop_condition): Rename vect_set_loop_condition_unmasked to
+       vect_set_loop_condition_normal.  Rename vect_set_loop_condition_masked
+       to vect_set_loop_condition_partial_vectors.
+       (vect_prepare_for_masked_peels): Rename LOOP_VINFO_MASK_COMPARE_TYPE
+       to LOOP_VINFO_RGROUP_COMPARE_TYPE.
+       * tree-vect-loop.c (vect_known_niters_smaller_than_vf): New, factored
+       out from ...
+       (vect_analyze_loop_costing): ... this.
+       (_loop_vec_info::_loop_vec_info): Rename mask_compare_type to
+       compare_type.
+       (vect_min_prec_for_max_niters): New, factored out from ...
+       (vect_verify_full_masking): ... this.  Rename
+       vect_iv_limit_for_full_masking to vect_iv_limit_for_partial_vectors.
+       Rename LOOP_VINFO_MASK_COMPARE_TYPE to LOOP_VINFO_RGROUP_COMPARE_TYPE.
+       Rename LOOP_VINFO_MASK_IV_TYPE to LOOP_VINFO_RGROUP_IV_TYPE.
+       (vectorizable_reduction): Update some dumpings with partial
+       vectors instead of fully-masked.
+       (vectorizable_live_operation): Likewise.
+       (vect_iv_limit_for_full_masking): Renamed to ...
+       (vect_iv_limit_for_partial_vectors): ... this.
+       * tree-vect-stmts.c (check_load_store_masking): Renamed to ...
+       (check_load_store_for_partial_vectors): ... this.  Update some
+       dumpings with partial vectors instead of fully-masked.
+       (vectorizable_store): Rename check_load_store_masking to
+       check_load_store_for_partial_vectors.
+       (vectorizable_load): Likewise.
+       * tree-vectorizer.h (LOOP_VINFO_MASK_COMPARE_TYPE): Renamed to ...
+       (LOOP_VINFO_RGROUP_COMPARE_TYPE): ... this.
+       (LOOP_VINFO_MASK_IV_TYPE): Renamed to ...
+       (LOOP_VINFO_RGROUP_IV_TYPE): ... this.
+       (vect_iv_limit_for_full_masking): Renamed to ...
+       (vect_iv_limit_for_partial_vectors): this.
+       (_loop_vec_info): Rename mask_compare_type to rgroup_compare_type.
+       Rename iv_type to rgroup_iv_type.
+
+2020-06-12  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * recog.h (insn_gen_fn::f0, insn_gen_fn::f1, insn_gen_fn::f2)
+       (insn_gen_fn::f3, insn_gen_fn::f4, insn_gen_fn::f5, insn_gen_fn::f6)
+       (insn_gen_fn::f7, insn_gen_fn::f8, insn_gen_fn::f9, insn_gen_fn::f10)
+       (insn_gen_fn::f11, insn_gen_fn::f12, insn_gen_fn::f13)
+       (insn_gen_fn::f14, insn_gen_fn::f15, insn_gen_fn::f16): Delete.
+       (insn_gen_fn::operator()): Replace overloaded definitions with
+       a parameter-pack version.
+
+2020-06-12  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/93492
+       * config/i386/i386-features.c (rest_of_insert_endbranch):
+       Renamed to ...
+       (rest_of_insert_endbr_and_patchable_area): Change return type
+       to void. Add need_endbr and patchable_area_size arguments.
+       Don't call timevar_push nor timevar_pop.  Replace
+       endbr_queued_at_entrance with insn_queued_at_entrance.  Insert
+       UNSPECV_PATCHABLE_AREA for patchable area.
+       (pass_data_insert_endbranch): Renamed to ...
+       (pass_data_insert_endbr_and_patchable_area): This.  Change
+       pass name to endbr_and_patchable_area.
+       (pass_insert_endbranch): Renamed to ...
+       (pass_insert_endbr_and_patchable_area): This.  Add need_endbr
+       and patchable_area_size;.
+       (pass_insert_endbr_and_patchable_area::gate): Set and check
+       need_endbr and patchable_area_size.
+       (pass_insert_endbr_and_patchable_area::execute): Call
+       timevar_push and timevar_pop.  Pass need_endbr and
+       patchable_area_size to rest_of_insert_endbr_and_patchable_area.
+       (make_pass_insert_endbranch): Renamed to ...
+       (make_pass_insert_endbr_and_patchable_area): This.
+       * config/i386/i386-passes.def: Replace pass_insert_endbranch
+       with pass_insert_endbr_and_patchable_area.
+       * config/i386/i386-protos.h (ix86_output_patchable_area): New.
+       (make_pass_insert_endbranch): Renamed to ...
+       (make_pass_insert_endbr_and_patchable_area): This.
+       * config/i386/i386.c (ix86_asm_output_function_label): Set
+       function_label_emitted to true.
+       (ix86_print_patchable_function_entry): New function.
+       (ix86_output_patchable_area): Likewise.
+       (x86_function_profiler): Replace endbr_queued_at_entrance with
+       insn_queued_at_entrance.  Generate ENDBR only for TYPE_ENDBR.
+       Call ix86_output_patchable_area to generate patchable area if
+       needed.
+       (TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY): New.
+       * config/i386/i386.h (queued_insn_type): New.
+       (machine_function): Add function_label_emitted.  Replace
+       endbr_queued_at_entrance with insn_queued_at_entrance.
+       * config/i386/i386.md (UNSPECV_PATCHABLE_AREA): New.
+       (patchable_area): New.
+
 2020-06-11  Martin Liska  <mliska@suse.cz>
 
        * config/rs6000/rs6000.c (rs6000_density_test): Fix GNU coding
index 98278266c63a302a866c183c2e83cf619cd67b63..d540cbfb2c474b6428f06a650d03316c0079642c 100644 (file)
@@ -1 +1 @@
-20200612
+20200613
index a02459bb400e94582a1be03597756be288a92691..decf23f91558a2891a3db64581a0aa5e29e0014a 100644 (file)
@@ -1,3 +1,319 @@
+2020-06-12  Steve Baird  <baird@adacore.com>
+
+       * sem_res.adb (Valid_Conversion): The simpler cases of
+       violations of the aforementioned 8.6 rule are already handled
+       correctly. These include cases where the operand of the type
+       conversion is an access parameter or a stand-alone object of an
+       anonymous access type. Add code to detect violations where the
+       operand of the type conversion is an access discriminant whose
+       accessibility level is tied to one of the other simpler cases.
+       This is implemented in a new function,
+       Valid_Conversion.Is_Discrim_Of_Bad_Access_Conversion_Argument,
+       which is called in place of the previous test.
+
+2020-06-12  Bob Duff  <duff@adacore.com>
+
+       * exp_attr.adb (Put_Image): Remove assertion. This assertion is
+       False in mixed-Ada-version programs.
+       * exp_put_image.adb (Tagged_Put_Image_Enabled): New flag to make
+       it easy to experiment with Put_Image on tagged types. False in
+       this version.
+       (Enable_Put_Image): Enable in pre-2020.  Workarounds: Disable
+       for tagged types if Tagged_Put_Image_Enabled is False. Disable
+       for access-to-subprogram types.  Disable if errors have been
+       detected, or Sink is unavailable.
+       (Preload_Sink): Move all conditionals here, from Sem_Ch10, so
+       they can be nearby related code in Enable_Put_Image.  Load Sink
+       only if we have seen a tagged type.  This removes the dilemma
+       about calling Preload_Sink when compiling the compiler, which
+       caused unwanted dependences.
+       * exp_put_image.ads (Preload_Sink): New formal Compilation_Unit,
+       needed to move all conditionals here, from Sem_Ch10.
+       * libgnat/a-stouut.adb (Put_UTF_8): Make this suitable for
+       inlining, so we don't get warnings about inlining in some tests.
+       And so it can be inlined!
+       * opt.ads (Tagged_Seen): New flag (see Preload_Sink).
+       * scng.adb (Scan): Set new Tagged_Seen flag.
+       * sem_ch10.adb (Analyze_Compilation_Unit): Move conditionals and
+       comments regarding Preload_Sink into Preload_Sink.
+
+2020-06-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_res.adb (Resolve_Actuals): Check for AI12-0074.
+
+2020-06-12  Olivier Hainque  <hainque@adacore.com>
+
+       * libgnat/s-secsta.ads (Memory_Alignment): New constant, memory
+       alignment for chunks and allocated blocks. Initialize to
+       Standard'Maximum_Alignment * 2.
+       (Chunk_Memory): Use it.
+       * libgnat/s-secsta.adb (Round_Up): Likewise.
+
+2020-06-12  Piotr Trojanek  <trojanek@adacore.com>
+
+       * par-prag.adb: Fix ordering.
+       * snames.ads-tmpl (Name_Test_Case, Pragma_Test_Case): Likewise.
+       * sem_prag.adb (Sig_Flags): Likewise.
+
+2020-06-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * sem_res.adb (Resolve_Entity_Name): Fix handling of expressions
+       containing array attributes wrt Ada 83 detection.
+
+2020-06-12  Steve Baird  <baird@adacore.com>
+
+       * sem_util.ads, sem_util.adb: Define 3 new Boolean-valued
+       functions - Statically_Denotes_Entity,
+       Statically_Denotes_Object, and Statically_Names_Object. The
+       first two were taken from sem_attr.adb. The term "statically
+       names" is defined in the Ada RM and the new function
+       Statically_Names_Object is intended to reflect that definition,
+       or more precisely, as described in a comment in the code, to
+       reflect the expected future definition of that term.
+       * sem_attr.adb: Delete functions Statically_Denotes_Object and
+       Statically_Denotes_Entity; these two functions have been moved
+       to package Sem_Util. Replace call to Statically_Denotes_Object
+       with a call to Statically_Names_Object as per AI12-0217 (a
+       binding interpretation, so no Ada_Version check).
+       * exp_ch9.adb (Expand_Entry_Barrier.Is_Simple_Barrier): Change
+       name of function (it was previously Is_Simple_Barrier_Name)
+       because the function should return True in the case of a static
+       expression; implement this requirement.  Change function to
+       include a call to Statically_Names_Object so that, for Ada_2020
+       and later, it will return True for appropriate subcomponent
+       names.
+       (Expand_Entry_Barrier.Is_Pure_Barrier): Handle
+       N_Indexed_Component and N_Selected_Component cases by calling
+       Statically_Names_Object.
+       (Expand_Entry_Barrier): Reorganize to treat Simple_Barriers and
+       Pure_Barriers more uniformly.  Prevent cascaded errors.
+
+2020-06-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Find_Matching_Actual): Add guard on search loops
+       to detect a compilation error when using a compiler built
+       without assertions.
+       (Instantiate_Formal_Subprogram): Create a new subprogram name
+       for the actual only if formal has contract aspects and expansion
+       is enabled.
+
+2020-06-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * exp_aggr.adb: Add with and use clauses for Sem_Mech.
+       (Get_Base_Object): New function to get the base object of a node.
+       (In_Place_Assign_OK): Add Target_Object parameter.  Deal with a
+       qualified expression on entry.  Remove short-circuit for array
+       aggregates with a single "others" choice.  Do not look into the
+       components of the aggregate if the parent is an allocator.
+       (Check_Component): Add T_OK parameter and rewrite.
+       (Safe_Component): Invoke Check_Component with T_OK set to False.
+       (Convert_To_Assignments): Try to use an in-place assignment for
+       any target; for that, call Get_Base_Object on the target and pass
+       the result to In_Place_Assign_OK.
+       (Expand_Array_Aggregate): Use Parent_Kind and Parent_Node more
+       consistently.  For an assignment, call Get_Base_Object on the
+       target and pass the result to In_Place_Assign_OK.
+
+2020-06-12  Dmitriy Anisimkov  <anisimko@adacore.com>
+
+       * socket.c (__gnat_minus_500ms): Use GetVersionEx to detect
+       Windows Server version.
+       * libgnat/g-sothco.ads (Minus_500ms_Windows_Timeout): Remade to
+       Boolean constant.
+       * libgnat/g-socket.adb (Set_Socket_Option): Use
+       Minus_500ms_Windows_Timeout constant instead of function call.
+
+2020-06-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * libgnat/a-coinho.ads, libgnat/a-coinho.adb,
+       libgnat/a-coinho__shared.ads, libgnat/a-coinho__shared.adb
+       (Swap): New procedure.
+
+2020-06-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch6.adb (Expand_N_Subprogram_Declaration): Do nothing for
+       a subprogram declared in a protected body.
+       * exp_ch9.ads, exp_ch9.adb
+       (Build_Private_Protected_Declaration): Moved to sem_ch6.adb.
+       (Expand_N_Protected_Body): Do nothing for a subprogram declared
+       in a protected body.
+       * sem_ch6.adb (Build_Internal_Protected_Declaration): Moved from
+       exp_ch9.adb and renamed and fixed to ensure in particular that
+       such subprograms have convention Intrinsic and have no protected
+       version.
+       (Analyze_Subprogram_Body_Helper): Call
+       Build_Internal_Protected_Declaration.
+       (Move_Pragmas): Moved up and merged with the more general
+       version from Build_Private_Protected_Declaration. We only want
+       to copy selected pragmas, most pragmas are not suitable for a
+       copy on the spec.
+
+2020-06-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Check_Overriding_Indicatior): Reject an
+       overriding indicator on a subprogram declared within a protected
+       body.
+
+2020-06-12  Piotr Trojanek  <trojanek@adacore.com>
+
+       * contracts.adb, einfo.adb, sem_ch4.adb, sem_ch6.adb,
+       sem_res.adb, sem_util.adb: Replace Ekind_In with Is_Entry.
+
+2020-06-12  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_res.adb (Resolve_Entry_Call): Add call to
+       Warn_On_Overlapping_Actuals.
+
+2020-06-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * aspects.ads (Is_Representation_Aspect): New array.
+       * sem_ch13.adb (Analyze_Aspect_Specifications): Check
+       13.1(9.2/5) for representation aspects.
+
+2020-06-12  Bob Duff  <duff@adacore.com>
+
+       * exp_put_image.ads, exp_put_image.adb (Preload_Sink): Procedure
+       for preloading type Sink.  This has the side effect of loading
+       various dependents, including Ada.Strings.UTF_Encoding.
+       (Enable_Put_Image): Disable Put_Image in pre-2020 versions of
+       Ada.  This limitation can probably be lifted later.  Enable for
+       tagged types except in predefined units.  Disable for CPP types;
+       Put_Image is legal, just prints the type name.
+       * sem_attr.adb (Check_Put_Image_Attribute): Don't complain about
+       Put_Image of CPP types; instead call the "unknown" version of
+       Put_Image.
+       * sem_ch10.adb (Analyze_Compilation_Unit): Call Preload_Sink.
+
+2020-06-12  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_warn.adb (Warn_On_Overlapping_Actuals): Simplify.
+
+2020-06-12  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_warn.adb (Warn_On_Overlapping_Actuals): Remove suppression
+       for internal units.
+
+2020-06-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_strm.adb (Build_Elementary_Input_Call): Add support for 24
+       bits elementary types.
+       * rtsfind.ads: Add 24 bits integer streaming routines.
+       * sem_ch13.adb (Analyze_Attribute_Definition_Clause
+       [Attribute_Stream_Size]): Add support for 24 bits elementary
+       types.
+       * libgnat/s-stratt.ads, libgnat/s-stratt.adb,
+       libgnat/s-stratt__xdr.adb: Add support for signed and unsigned
+       24 bits integers.
+
+2020-06-12  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_ch3.adb (Get_Discr_Value): Cleanup.
+
+2020-06-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * rtsfind.ads (RTU_Id): Add System_Address_To_Access_Conversions.
+       * sem_elab.adb (Elaboration_Phase_Active): Alphabetize.
+       (Finalize_All_Data_Structures): Likewise.
+       (Error_Preelaborated_Call): New procedure.
+       (Build_Call_Marker): Set Is_Preelaborable_Call flag in marker.
+       (Build_Access_Marker): Likewise.
+       (Build_Subprogram_Invocation): Likewise.
+       (Build_Task_Activation): Likewise.
+       (Check_Preelaborated_Call): Return when the call is preelaborable.
+       Call Error_Preelaborated_Call to give the error otherwise.
+       (Check_Elab_Call): Likewise.
+       * sem_util.adb (Is_Preelaborable_Function): New predicate.
+       (Is_Non_Preelaborable_Construct.Visit): Recurse on the
+       Explicit_Actual_Parameter field of N_Parameter_Association.
+       (Is_Non_Preelaborable_Construct.Visit_Subexpression): In Ada 2020,
+       for a call to a preelaborable function, visit the parameter list;
+       otherwise, raise Non_Preelaborable exception.
+       (Is_Preelaborable_Construct): Likewise, but recursively check the
+       parameters instead and return false upon failure, otherwise true.
+       * sinfo.ads (Is_Preelaborable_Call): New flag in call marker nodes.
+       (Is_Preelaborable_Call): New inline function.
+       (Set_Is_Preelaborable_Call): New inline procedure.
+       * sinfo.adb (Is_Preelaborable_Call): New inline function.
+       (Set_Is_Preelaborable_Call): New inline procedure.
+
+2020-06-12  Bob Duff  <duff@adacore.com>
+
+       * stringt.ads: Remove "use System;".
+
+2020-06-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_ch4.adb (Try_Container_Indexing): Replace call to
+       First_Discriminant by Get_Reference_Discriminant to get the
+       reference discriminant.
+       * sem_ch13.adb (Check_Indexing_Functions): Likewise.
+       * sem_ch5.adb (Preanalyze_Range): Call Get_Reference_Discriminant
+       to get the reference discriminant.
+       * sem_util.adb (Is_OK_Variable_For_Out_Formal): Treat all
+       Ada 2012 implicit dereferences in only one place.
+       (Is_Variable): Minor tweak.
+
+2020-06-12  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch12.adb (Has_Contracts): New predicate to check whether a
+       formal subprogram carries an aspect specification for a pre- or
+       postcondition.
+       (Build_Subprogram_Wrappers): If actual is overloaded, create a
+       new name to be used in call inside wrapper body. This names
+       carries the interpretations of the actual, and is resolved when
+       the body is analyzed.
+       (Build_Subprogram_Body_Wrapper): Use this generated name in
+       call.
+       (Build_Subprogram_Decl_Wrapper): Build profile of wrapper from
+       the profile of formal, and reset type entities for subsequent
+       analysis.
+
+2020-06-12  Bob Duff  <duff@adacore.com>
+
+       * debug.adb: Remove usage of -gnatd_z.
+       * exp_attr.adb, exp_put_image.ads, exp_put_image.adb: Clean up
+       the enable/disable code. If Put_Image is disabled for a type,
+       systematically call the "unknown" version.  Improve comments.
+       Consolidate workarounds.  Remove usage of -gnatd_z.
+
+2020-06-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * sem_elab.adb: Fix typos in comments.
+
+2020-06-12  Justin Squirek  <squirek@adacore.com>
+
+       * sem_util.adb (Object_Access_Level): Add processing of implicit
+       dereferences.
+
+2020-06-12  Bob Duff  <duff@adacore.com>
+
+       * libgnat/a-nbnbin.adb, libgnat/a-nbnbin.ads,
+       libgnat/a-nbnbin__gmp.adb, libgnat/a-nbnbre.adb,
+       libgnat/a-nbnbre.ads: Update Put_Image, and uncomment the aspect
+       specification.  Add pragmas Ada_2020.
+       * libgnat/a-stouut.ads, libgnat/a-stteou.ads: Add Preelaborate,
+       because the Big_Numbers packages have Preelaborate, and now
+       depend on these Text_Output packages.
+
+2020-06-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * einfo.ads (No_Return): Document it for all subprograms.
+       * einfo.adb (Set_No_Return): Adjust assertion accordingly.
+       * sem_ch3.adb (Check_Abstract_Overriding): Implement the
+       check prescribed by RM 6.5.1(6/2) here instead of...
+       (Derive_Subprogram): Adjust comment accordingly.
+       * sem_disp.adb (Override_Dispatching_Operation): ...here.
+       Remove superfluous return statement.
+       * sem_ch6.adb (Check_No_Return_Expression): New procedure.
+       (Analyze_Function_Return): Call it to implement the check
+       prescribed by AI12-0269 for simple return statements of
+       No_Return functions, and also checks extended statements.
+       (Analyze_Return_Statement): Only give an error on a return
+       statement in No_Return procedures.  Use idiomatic form.
+       * sem_ch8.adb (Analyze_Subprogram_Renaming): Adjust error
+       message for No_Return renaming subprogram.
+       * sem_prag.adb (Analyze_Pragma) <Pragma_No_Return>: Accept
+       it on functions and generic functions in Ada 2020.
+
 2020-06-11  Eric Botcazou  <ebotcazou@adacore.com>
 
        * sem_res.adb (Resolve_Implicit_Dereference): In an instance,
index 46e9c7eb1a81d1c49f0c035c56523c2e884d1f30..96d246a6da569b6ff53fdfc62653b5ea8d50434e 100644 (file)
@@ -1,3 +1,35 @@
+2020-06-12  Marco Elver  <elver@google.com>
+
+       * c-c++-common/tsan/func_entry_exit.c: New test.
+       * c-c++-common/tsan/func_entry_exit_disabled.c: New test.
+
+2020-06-12  Richard Biener  <rguenther@suse.de>
+
+       * gcc.dg/vect/bb-slp-44.c: New testcase.
+
+2020-06-12  Felix Yang  <felix.yang@huawei.com>
+
+       PR tree-optimization/95570
+       * gcc.dg/vect/pr95570.c: New test.
+
+2020-06-12  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat.dg/rep_clause8.adb: Update error location.
+
+2020-06-12  Alexandre Oliva  <oliva@adacore.com>
+
+       * lib/prune.exp (prune_gcc_output): Match any executable name
+       in collect messages.
+
+2020-06-12  H.J. Lu  <hjl.tools@gmail.com>
+
+       PR target/93492
+       * gcc.target/i386/pr93492-1.c: New test.
+       * gcc.target/i386/pr93492-2.c: Likewise.
+       * gcc.target/i386/pr93492-3.c: Likewise.
+       * gcc.target/i386/pr93492-4.c: Likewise.
+       * gcc.target/i386/pr93492-5.c: Likewise.
+
 2020-06-11  Patrick Palka  <ppalka@redhat.com>
 
        PR c++/93467
index bf017a407167123b45a7666f986d3b37d57da750..355747f414ca0a0c6a31355e3238b19c39de1c11 100644 (file)
@@ -1,3 +1,20 @@
+2020-06-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/29_atomics/atomic_flag/clear/1.cc: Also test clear()
+       when the value is currently set.
+       * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc:
+       Actually check the return value.
+       * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc:
+       Likewise.
+
+2020-06-12  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/atomic_base.h (atomic_flag::test): Add missing
+       const qualifiers.
+       * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
+       dg-options and verify results of test function.
+       * testsuite/29_atomics/atomic_flag/test/implicit.cc: Likewise.
+
 2020-06-11  Jonathan Wakely  <jwakely@redhat.com>
 
        PR libstdc++/94749