From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1698) id C9664393C89D; Thu, 18 Jun 2020 19:10:30 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C9664393C89D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1592507430; bh=3KkX7BUJHfsdsnpb0mpBhCc+fyk/5XHB+LiEk5FxN84=; h=From:To:Subject:Date:From; b=OdA3FBbW9a6oqqXWew9ryOALzYcE4HykThY03YIMHIRKY+oDSLkEBnUOvvsb8rSTD 8jEY8Fn2zFv5nAYTu+b/vDLuRW7C7cWAkRoJURvCeXOaregtHK1xFWaKkBIh2fQKU9 F0g4ytc/y1TR5DoINvEhfdcJBoFbVNRth0LTR0bw= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Iain D Sandoe To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc/devel/c++-coroutines] Daily bump. X-Act-Checkin: gcc X-Git-Author: GCC Administrator X-Git-Refname: refs/heads/devel/c++-coroutines X-Git-Oldrev: 4f2ab6b89e170f1343f935761481c3745fe603b1 X-Git-Newrev: aff95ee7cc2c046d69ff6f79990930fb22e0e808 Message-Id: <20200618191030.C9664393C89D@sourceware.org> Date: Thu, 18 Jun 2020 19:10:30 +0000 (GMT) X-BeenThere: libstdc++-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2020 19:10:30 -0000 https://gcc.gnu.org/g:aff95ee7cc2c046d69ff6f79990930fb22e0e808 commit aff95ee7cc2c046d69ff6f79990930fb22e0e808 Author: GCC Administrator Date: Thu Jun 18 00:16:37 2020 +0000 Daily bump. Diff: --- contrib/ChangeLog | 10 ++ gcc/ChangeLog | 140 +++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 399 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/c-family/ChangeLog | 5 + gcc/cp/ChangeLog | 33 ++++ gcc/testsuite/ChangeLog | 102 +++++++++++++ libgcc/ChangeLog | 15 ++ libgomp/ChangeLog | 16 ++ libstdc++-v3/ChangeLog | 36 +++++ 10 files changed, 757 insertions(+), 1 deletion(-) diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 49afab1d1f3..e7cc9276eeb 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,13 @@ +2020-06-17 Martin Liska + + * gcc-changelog/git_commit.py: Print 'Backported from master' + heading to backported commits. + * gcc-changelog/test_email.py: Test it. + * gcc-changelog/test_patches.txt: Add new patch. + * gcc-changelog/git_repository.py: Add commit_to_date hook. + * gcc-changelog/git_email.py: Add fuzzy implementation + of commit_to_date_hook. + 2020-06-11 Jonathan Wakely * prepare-commit-msg: Use the gcc-config.mklog-hook-type Git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a8472544ee8..312234a2be0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,143 @@ +2020-06-17 Thomas Schwinge + + * gimplify.c (omp_notice_threadprivate_variable) + (omp_default_clause, omp_notice_variable): 'inform' after 'error' + diagnostic. Adjust all users. + +2020-06-17 Thomas Schwinge + + * hsa-gen.c (gen_hsa_insns_for_call): Move 'function_decl == + NULL_TREE' check earlier. + +2020-06-17 Forrest Timour + + * doc/extend.texi (attribute access): Fix a typo. + +2020-06-17 Bin Cheng + Kaipeng Zhou + + PR tree-optimization/95199 + * tree-vect-stmts.c: Eliminate common stmts for bump and offset in + strided load/store operations and remove redundant code. + +2020-06-17 Richard Sandiford + + * coretypes.h (first_type): New alias template. + * recog.h (insn_gen_fn::operator()): Use it instead of a decltype. + Remove spurious “...” and split the function type out into a typedef. + +2020-06-17 Andreas Krebbel + + * config/s390/s390.c (s390_fix_long_loop_prediction): Exit early + for PARALLELs. + +2020-06-17 Richard Biener + + * tree-vect-slp.c (vect_build_slp_tree_1): Set the passed + in *vectype parameter. + (vect_build_slp_tree_2): Set SLP_TREE_VECTYPE from what + vect_build_slp_tree_1 computed. + (vect_analyze_slp_instance): Set SLP_TREE_VECTYPE. + (vect_slp_analyze_node_operations_1): Use the SLP node vector type. + (vect_schedule_slp_instance): Likewise. + * tree-vect-stmts.c (vect_is_simple_use): Take the vector type + from SLP_TREE_VECTYPE. + +2020-06-17 Richard Biener + + PR tree-optimization/95717 + * tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg): + Move BB SSA updating before exit/latch PHI current def copying. + +2020-06-17 Martin Liska + + * Makefile.in: Add new file. + * expr.c (expand_expr_real_2): Add gcc_unreachable as we should + not meet this condition. + (do_store_flag): Likewise. + * gimplify.c (gimplify_expr): Gimplify first argument of + VEC_COND_EXPR to be a SSA name. + * internal-fn.c (vec_cond_mask_direct): New. + (vec_cond_direct): Likewise. + (vec_condu_direct): Likewise. + (vec_condeq_direct): Likewise. + (expand_vect_cond_optab_fn): New. + (expand_vec_cond_optab_fn): Likewise. + (expand_vec_condu_optab_fn): Likewise. + (expand_vec_condeq_optab_fn): Likewise. + (expand_vect_cond_mask_optab_fn): Likewise. + (expand_vec_cond_mask_optab_fn): Likewise. + (direct_vec_cond_mask_optab_supported_p): Likewise. + (direct_vec_cond_optab_supported_p): Likewise. + (direct_vec_condu_optab_supported_p): Likewise. + (direct_vec_condeq_optab_supported_p): Likewise. + * internal-fn.def (VCOND): New OPTAB. + (VCONDU): Likewise. + (VCONDEQ): Likewise. + (VCOND_MASK): Likewise. + * optabs.c (get_rtx_code): Make it global. + (expand_vec_cond_mask_expr): Removed. + (expand_vec_cond_expr): Removed. + * optabs.h (expand_vec_cond_expr): Likewise. + (vector_compare_rtx): Make it global. + * passes.def: Add new pass_gimple_isel pass. + * tree-cfg.c (verify_gimple_assign_ternary): Add check + for VEC_COND_EXPR about first argument. + * tree-pass.h (make_pass_gimple_isel): New. + * tree-ssa-forwprop.c (pass_forwprop::execute): Prevent + propagation of the first argument of a VEC_COND_EXPR. + * tree-ssa-reassoc.c (ovce_extract_ops): Support SSA_NAME as + first argument of a VEC_COND_EXPR. + (optimize_vec_cond_expr): Likewise. + * tree-vect-generic.c (expand_vector_divmod): Make SSA_NAME + for a first argument of created VEC_COND_EXPR. + (expand_vector_condition): Fix coding style. + * tree-vect-stmts.c (vectorizable_condition): Gimplify + first argument. + * gimple-isel.cc: New file. + +2020-06-17 Andrew Stubbs + + * config/gcn/gcn-hsa.h (TEXT_SECTION_ASM_OP): Use ".text". + (BSS_SECTION_ASM_OP): Use ".bss". + (ASM_SPEC): Remove "-mattr=-code-object-v3". + (LINK_SPEC): Add "--export-dynamic". + * config/gcn/gcn-opts.h (processor_type): Replace PROCESSOR_VEGA with + PROCESSOR_VEGA10 and PROCESSOR_VEGA20. + * config/gcn/gcn-run.c (HSA_RUNTIME_LIB): Use ".so.1" variant. + (load_image): Remove obsolete relocation handling. + Add ".kd" suffix to the symbol names. + * config/gcn/gcn.c (MAX_NORMAL_SGPR_COUNT): Set to 62. + (gcn_option_override): Update gcn_isa test. + (gcn_kernel_arg_types): Update all the assembler directives. + Remove the obsolete options. + (gcn_conditional_register_usage): Update MAX_NORMAL_SGPR_COUNT usage. + (gcn_omp_device_kind_arch_isa): Handle PROCESSOR_VEGA10 and + PROCESSOR_VEGA20. + (output_file_start): Rework assembler file header. + (gcn_hsa_declare_function_name): Rework kernel metadata. + * config/gcn/gcn.h (GCN_KERNEL_ARG_TYPES): Set to 16. + * config/gcn/gcn.opt (PROCESSOR_VEGA): Remove enum. + (PROCESSOR_VEGA10): New enum value. + (PROCESSOR_VEGA20): New enum value. + +2020-06-17 Martin Liska + + * gcov-dump.c (print_version): Collapse lisence header to 2 lines + in --version. + * gcov-tool.c (print_version): Likewise. + * gcov.c (print_version): Likewise. + +2020-06-17 liuhongt + + PR target/95524 + * config/i386/i386-expand.c + (ix86_expand_vec_shift_qihi_constant): New function. + * config/i386/i386-protos.h + (ix86_expand_vec_shift_qihi_constant): Declare. + * config/i386/sse.md (3): Optimize shift + V*QImode by constant. + 2020-06-16 Aldy Hernandez PR tree-optimization/95649 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index d2b0822d197..e94346fce10 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20200617 +20200618 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 31d6c249849..0ff94f9d48f 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,402 @@ +2020-06-17 Eric Botcazou + + * checks.adb (Apply_Universal_Integer_Attribute_Checks): Do not do + anything when the type of the node is already Universal_Integer. + +2020-06-17 Arnaud Charlet + + * sem_ch10.adb (Expand_With_Clause): Add missing handling of + N_Generic_Subprogram_Declaration, N_Subprogram_Declaration, + N_Subprogram_Body. + +2020-06-17 Ed Schonberg + + * sem_ch13.adb: (Check_Inherited_Indexing): Check that a type + derived from an indexable container type cannot specify an + indexing aspect if the same aspect is not specified for the + parent type (RM 4.1.6 (6/5), AI12-160). Add a check that a + specified indexing aspect for a derived type is confirming. + +2020-06-17 Gary Dismukes + + * exp_ch9.adb (Build_Protected_Subp_Specification): Add ??? + comment about the flag Has_Nested_Subprogram not being set here. + (Expand_N_Protected_Body): If the original body for a protected + subprogram has the flag Has_Nested_Subprogram set, then set that + flag on the new unprotected subprogram body that's created for + it, and reset the Scope fields of its top level declarations, + which have been effectively taken from the original protected + subprogram body. Add ??? comment about unclear testing of + Corresponding_Spec. + +2020-06-17 Javier Miranda + + * aspects.ads (type Aspect_Id): Add Aspect_Yield as a Boolean + aspect, and update the Is_Representation_Aspect, Aspect_Names, + and Aspect_Delay arrays. + * einfo.ads, einfo.adb (Has_Yield_Aspect, Yield_Aspect): New + subprograms. + * exp_ch6.adb (Add_Return, Expand_Non_Function_Return, + Expand_Simple_Function_Return): Add calls to Yield. + * exp_ch9.adb (Build_Accept_Body, Expand_N_Accept_Statement): + Add calls to Yield. + * rtsfind.ads (RE_Yield): Adding support to generate calls to + the runtime service Ada.Dispatching.Yield + * sem_ch13.adb (Analyze_Aspect_Yield): New subprogram. + * sem_ch3.adb (Derive_Subprogram): Inherit attribute + Has_Yield_Aspect. + * sem_ch8.adb (Analyze_Subprogram_Renaming): Check consistency + of Has_Yield in the actual subprogram of a generic + instantiation. + * sem_disp.adb (Check_Dispatching_Operation): Check that if the + Yield aspect is specified for a dispatching subprogram that + inherits the aspect, the specified value shall be confirming. + * sem_prag.adb (Analyze_Pragma [Pragma_Implemented]): Check that + the implementation kind By_Protected_Procedure cannot be applied + to a procedure that has aspect Yield. + +2020-06-17 Eric Botcazou + + * exp_ch4.adb (Expand_N_Op_Expon): Replace all occurrences of + the original right operand with the relocated version. + +2020-06-17 Javier Miranda + + * exp_ch6.adb (Has_BIP_Extra_Formal): New subprogram. + (Needs_BIP_Task_Actuals): Add support for the subprogram type + internally generated for dispatching calls. + * exp_disp.adb (Expand_Dispatching_Call): Adding code to + explicitly duplicate the extra formals of the target subprogram. + * freeze.adb (Check_Extra_Formals): New subprogram. + (Freeze_Subprogram): Fix decoration of Extra_Formals. + * sem_ch3.adb (Derive_Subprogram): Fix decoration of + Extra_Formals. + +2020-06-17 Bob Duff + + * par.adb (P_Basic_Declarative_Items): Update comment about + Declare_Expression. + * par-ch3.adb (P_Declarative_Items): Pass in Declare_Expression + flag, and if True, skip the call to Style.Check_Indentation. + * par-ch4.adb (P_Declare_Expression): Fix incorrect comment. + +2020-06-17 Arnaud Charlet + + * sem_res.adb (Valid_Conversion): Change error message to make + it more user-friendly. + +2020-06-17 Eric Botcazou + + * checks.ads (Apply_Length_Check_On_Assignment): Declare. + * checks.adb (Apply_Length_Check_On_Assignment): New procedure + to apply a length check to an expression in an assignment. + * exp_ch5.adb (Expand_Assign_Array): Call it instead of calling + Apply_Length_Check to generate a length check. + * sem_ch5.adb (Analyze_Assignment): Likewise. + +2020-06-17 Piotr Trojanek + + * einfo.adb (Is_Relaxed_Initialization_State): Add reference to + SPARK RM. + * sem_attr.adb (Analyze_Attribute_Old_Result): Likewise. + * sem_ch13.adb (Analyze_Aspect_Relaxed_Initialization): Reject + aspect on completions of private types and deferred constants. + * sem_util.ads, sem_util.adb (Has_Relaxed_Initialization): + Adjust comments; support queries for constants. + +2020-06-17 Eric Botcazou + + * cstand.adb (Stloc): Change to a renaming. + (Staloc): Likewise. + (Build_Unsigned_Integer_Type): Remove Nam parameter, use local + constants and do not call Make_Name. + (Make_Dummy_Index): Use local constants. + (Create_Standard): Pass the name of entities as parameter in + calls to New_Standard_Entity and remove calls to Make_Name. + Adjust calls to Build_Unsigned_Integer_Type. + (Identifier_For): Use local constant. + (Make_Component): Pass the name of the component as parameter + in call to New_Standard_Entity and remove call to Make_Name. + (Make_Formal): Likewise. Rename Formal_Name parameter into + Nam and use local constant. + (Make_Name): Delete. + (New_Operator): Use local constant. + (New_Standard_Entity): Rename S parameter into Nam and build + the name here. Remove call to Make_Name. + (Register_Float_Type): Pass the name of the type as parameter + in call to New_Standard_Entity and remove call to Make_Name. + +2020-06-17 Eric Botcazou + + * exp_attr.adb (Expand_N_Attribute_Reference) : + Remove condition added for scalar types. + +2020-06-17 Gary Dismukes + + * exp_ch3.ads (Build_Access_Subprogram_Wrapper_Body): Adjust + colon columns; reformat comment. + * exp_ch3.adb + (Build_Access_Subprogram_Wrapper_Body): Likewise. + * sem_ch3.adb (Build_Access_Subprogram_Wrapper): Reformat spec + comment and reformat comment in body. + (Analyze_Full_Type_Declaration): Reformat comment. + (Replace_Type_Name): Fixed three typos, plus reformatting of + comment. + * sem_prag.adb (Analyze_Pre_Post_Condition): Fix typos. + * sem_warn.adb (Warn_On_Overlapping_Actuals): Edit comments: + remove hyphen, add missing word. + +2020-06-17 Bob Duff + + * libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb, + libgnat/a-cbhase.adb, libgnat/a-cbmutr.adb, + libgnat/a-cborma.adb, libgnat/a-cborse.adb, + libgnat/a-cdlili.adb, libgnat/a-chtgbk.adb, + libgnat/a-chtgke.adb, libgnat/a-cidlli.adb, + libgnat/a-cihama.adb, libgnat/a-cihase.adb, + libgnat/a-cimutr.adb, libgnat/a-ciorma.adb, + libgnat/a-ciorse.adb, libgnat/a-cobove.adb, + libgnat/a-cohama.adb, libgnat/a-cohase.adb, + libgnat/a-coinve.adb, libgnat/a-comutr.adb, + libgnat/a-convec.adb, libgnat/a-coorma.adb, + libgnat/a-coorse.adb, libgnat/a-crbtgk.adb, + libgnat/a-crbtgo.adb, libgnat/a-rbtgso.adb: Move tampering + checks earlier. + +2020-06-17 Eric Botcazou + + * exp_attr.adb (Get_Integer_Type): Use standard types without + a specific size. + * sem_res.adb (Resolve_Unchecked_Type_Conversion): Remove a + redundant intermediate conversion to Universal_Integer. + +2020-06-17 Piotr Trojanek + + * sem_util.ads, sem_util.adb (Get_Iterable_Type_Primitive): Fix + comment and enforce it with an assertion in the body. + +2020-06-17 Ed Schonberg + + * sem_ch3.adb (Analyze_Full_Type_Declaration): For an + access_to_subprogram declaration that has aspect specifications, + call Build_Access_ Subprogram_Wrapper at once, so that pre- and + postcondition aspects are analyzed in the context of a + subprogram declaration. + (Build_Access_Subprogram_Wrapper): Examine aspect specifications + of an Access_To_Subprogram declaration. If pre- or + postconditions are declared for it, create declaration for + subprogram wrapper and add the corresponding aspect + specifications to it. Replace occurrences of the type name by + that of the generated subprogram, so that attributes 'Old and + 'Result can appear in a postcondition. + * exp_ch3.adb (Build_Access_Subprogram_Wrapper_Body): Moved + here from sem_prag.adb. + * exp_ch3.ads (Build_Access_Subprogram_Wrapper_Body): Visible + subprogram. + * sem_prag.adb (Build_Access_Subprogram_Wrapper / _Body): Moved + to sem_ch3.adb and exp_ch3.adb. + +2020-06-17 Piotr Trojanek + + * atree.adb (Preserve_Comes_From_Source): Rewrite using + Set_Comes_From_Source and Comes_From_Source, which enforce that + the parameters are valid. + * exp_ch4.adb, exp_ch5.adb, sem_ch12.adb, sem_ch6.adb, + sem_res.adb: Rewrite using Preserve_Comes_From_Source. + +2020-06-17 Arnaud Charlet + + * libgnat/a-nbnbin.ads, libgnat/a-nbnbre.ads: Remove obsolete + comments. + +2020-06-17 Gary Dismukes + + * aspects.ads (type Aspect_Id): Add Aspect_Static as a Boolean + aspect, and update the Is_Representation_Aspect, Aspect_Names, + and Aspect_Delay arrays. + * exp_ch6.adb (Expand_Simple_Function_Return): In the case of a + return for a static expression function, capture a copy of the + expression of the return statement before it's expanded and + reset its Analyzed flags. Then, just before leaving this + procedure, if the expression was rewritten, set the + Original_Node of the rewritten expression to the new copy and + also set the Expression of the associated static expression + function to designate that copy. This ensures that later copies + of the expression made via New_Copy_Tree will fully copy all + nodes of the expression tree. + * inline.ads (Inline_Static_Expression_Function_Call): New + procedure to evaluate and produce the result of a static call to + a static expression function. + * inline.adb: Add with and use for Sem_Res. + (Establish_Actual_Mapping_For_Inlined_Call): New procedure + extracted from code in Expand_Inlined_Call that traverses the + actuals and formals of an inlined call and in some cases creates + temporaries for holding the actuals, plus establishes an + association between formals and actuals (via the Renamed_Object + fields of the formals). + (Formal_Is_Used_Once): Function removed from Expand_Inlined_Call + and now nested in the above procedure. + (Expand_Inlined_Call): Code for doing the formal/actual + traversal is moved to Create_Actual_Temporaries and replaced + with a call to that new procedure. + (Inline_Static_Expression_Function_Call): New procedure to + evaluate a static call to a static expression function, + substituting actuals for their corresponding formals and + producing a fully folded and static result expression. The + function has subsidiary functions Replace_Formal and Reset_Sloc + that take care of doing the mapping of formals to actuals and + resetting the Slocs of subnodes of the mapped expression to that + of the call so errors will be flagged on the call rather than + function. + * sem_ch6.adb (Analyze_Expression_Function): In the case of a + static expression function, perform an additional preanalysis of + the function's expression to ensure that it's a potentially + static expression (according to the requirements of + 6.8(3.2/5-3.4/5)), and issue an error if it's not. The global + flag Checking_Potentially_Static_Expression is set and unset + around this checking. + * sem_ch13.adb (Analyze_Aspect_Static): New procedure to enforce + selected requirements of the new aspect Static on expression + functions, including checking that the language version is + Ada_2020 and that the entity to which it applies is an + expression function whose formal parameters are of a static + subtype and have mode 'in', its result subtype is a static + subtype, and it has no pre- or postcondition aspects. A ??? + comment is added to indicate the need for adding checking that + type invariants don't apply to the result type if the function + is a boundary entity. + (Analyze_One_Aspect): Call Analyze_Aspect_Static for aspect + Static. + * sem_elab.adb (Build_Call_Marker): Return without creating a + call marker when the subprogram is a static expression function, + since no ABE checking is needed for such functions. + * sem_eval.ads (Checking_Potentially_Static_Expression): New + function to return whether the checking for potentially static + expressions is enabled. + (Set_Checking_Potentially_Static_Expression): New procedure to + enable or disable checking of potentially static expressions. + * sem_eval.adb (Checking_For_Potentially_Static_Expression): New + global flag for determining whether preanalysis of potentially + static expression is being done, which affects the behavior of + certain static evaluation routines. + (Checking_Potentially_Static_Expression): New function to return + whether the checking for potentially static expressions is + enabled. + (Eval_Call): When evaluating a call within a static expression + function with checking of potentially static expression + functions enabled, substitutes a static value in place of the + call to allow folding of the expression. + (Eval_Entity_Name): When evaluating a formal parameter of a + static expression function with checking of potentially static + expression functions enabled, substitutes a static value in + place of the reference to the formal to allow folding of the + expression. + (Set_Checking_Potentially_Static_Expression): New procedure to + enable or disable checking of potentially static expressions. + * sem_res.adb (Resolve_Call): Test for a recursive call + occurring within a static expression function and issue an error + for such a call. Prevent the establishment of a transient scope + in the case this is a call to a (string-returning) static + expression function. When calling a static expression function, + if no error has been posted on the function, call + Inline_Static_Expression_Function_Call to convert the call into + its equivalent static value. + * sem_util.ads (Is_Static_Expression_Function): New function + returning whether the subprogram entity passed to it is a static + expression function. + (Is_Static_Expression_Function_Call): New function to determine + whether the call node passed to it is a static call to a static + expression function. + * sem_util.adb (Compile_Time_Constraint_Error): Suppress + compile-time Constraint_Error reporting when checking for a + potentially static expression. + (Is_Static_Expression_Function): New function returning whether + the subprogram entity passed to it is a static expression + function by testing for the presence of aspect Static. + (Has_All_Static_Actuals): New function in + Is_Static_Expression_Function_Call that traverses the actual + parameters of a function call and returns True only when all of + the actuals are given by static expressions. In the case of a + string-returning function, we call Resolve on each actual to + ensure that their Is_Static_Expression flag properly reflects + whether they're static, to allow suppressing creation of a + transient scope within Resolve_Call. A prominent ??? comment is + added to explain this rather unconventional call to Resolve. + (Is_Static_Expression_Function_Call): New function that + determines whether a node passed to it is a call to a static + expression function all of whose actual parameters are given by + static expressions. + +2020-06-17 Eric Botcazou + + * exp_ch4.adb (Optimize_Length_Comparison): New local variable to + record whether this may be a dynamic superflat case. + (Is_Optimizable): Accept 0 as lower bound and set it in this case, + but return false if the operand is not a length too. + (Rewrite_For_Equal_Lengths): New procedure. + Optimize the comparison of two lengths in the superflat case when + the arrays have the same bounds. + +2020-06-17 Eric Botcazou + + * doc/gnat_rm/implementation_defined_attributes.rst (Bit): Sharpen + the comparison with System.Storage_Unit. + (Descriptor_Size): Clear confusion about alignment and padding. + * gnat_rm.texi: Regenerate. + +2020-06-17 Eric Botcazou + + * exp_attr.adb (Expand_N_Attribute_Reference) : + Do not replace the bound for an array type if it is public. + +2020-06-17 Eric Botcazou + + * exp_ch4.adb (Optimize_Length_Comparison): Make sure the base + types are the same when comparing Y'Last and X'Last directly. + +2020-06-17 Eric Botcazou + + * exp_attr.adb (Expand_N_Attribute_Reference) : + Replace it with a direct reference to an entity which is not a + discriminant for constrained array types. Add same condition + for scalar types. + : Merge with above implementation. + * exp_ch4.adb (Optimize_Length_Comparison): Be prepared for a + second entity whose length is compared. Rename Prepare_64 to + Convert_To_Long_Long_Integer. If the second entity is present, + compute the difference of the 'First attributes and compare the + sum of 'Last of the second entity with this difference against + 'Last of the first entity. Add a special case when the 'First + attributes are equal. Suppress overflow checks in all cases. + +2020-06-17 Piotr Trojanek + + * doc/gnat_rm/implementation_defined_pragmas.rst, lib-writ.ads, + par-prag.adb, sem_ch12.adb, sem_ch8.adb, sem_prag.adb: Fix + casing of GNATprove. + * gnat_rm.texi: Regenerate. + +2020-06-17 Piotr Trojanek + + * checks.adb (Generate_Range_Check): Simplify redundant + condition. + * sem_ch3.adb (Check_Initialization, Process_Discriminants): + Likewise. + * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise. + +2020-06-17 Eric Botcazou + + * exp_fixd.adb (Build_Conversion): Also preserve the + Conversion_OK flag of an inner conversion. + +2020-06-17 Piotr Trojanek + + * sem_ch5.adb (Analyze_Iterator_Specification): Enable expansion + that creates a renaming that removes side effects from the + iterated object in the GNATprove mode; then analyze reference to + this renaming (it is required for GNATprove and harmless for + GNAT). + 2020-06-16 Eric Botcazou * sinfo.ads (Conversion_OK): Document use for 'Pos and 'Val. diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 4bc6a6b4e79..a7c04f43bba 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,8 @@ +2020-06-17 Jonathan Wakely + + * c-common.c (get_atomic_generic_size): Check cv-qualifiers in + pointer arguments. + 2020-06-16 Jakub Jelinek * c-common.h (c_omp_check_loop_iv_exprs): Add an int argument. diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 01753789b17..4d9759ea682 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,36 @@ +2020-06-17 Jonathan Wakely + + PR c++/66159 + * parser.c (cp_parser_elaborated_type_specifier): Do not warn + unless in a declaration. + +2020-06-17 Jason Merrill + + * cp-tree.h (copy_fndecl_with_name): Declare. + * class.c (copy_fndecl_with_name): Split out from... + (build_clone): ...here. + (add_implicitly_declared_members): Add op== to TYPE_FIELDS. + * method.c (implicitly_declare_fn): Use copy_fndecl_with_name. + +2020-06-17 Jason Merrill + + * call.c (build_new_op_1): Don't look for a CALL_EXPR when + calling a consteval function. + +2020-06-17 Jason Merrill + + * decl2.c (grokfield): Pass SD_DEFAULTED and SD_DELETED. + * decl.c (duplicate_decls): Reduce error for delete + after earlier declaration to pedwarn. + +2020-06-17 Marek Polacek + + PR c++/95508 + * constexpr.c (maybe_fold_non_dependent_expr): New. + * cp-tree.h (maybe_fold_non_dependent_expr): Declare. + * typeck.c (cp_build_array_ref): Call maybe_fold_non_dependent_expr + instead of maybe_constant_value. + 2020-06-16 Marek Polacek PR c++/95369 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c2459d2ab06..6d58dc81c7d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,105 @@ +2020-06-17 Thomas Schwinge + + * c-c++-common/gomp/default-1.c: Update. + * c-c++-common/gomp/defaultmap-3.c: Likewise. + * c-c++-common/gomp/order-4.c: Likewise. + * g++.dg/gomp/parallel-2.C: Likewise. + * g++.dg/gomp/predetermined-1.C: Likewise. + * g++.dg/gomp/sharing-1.C: Likewise. + * gcc.dg/gomp/appendix-a/a.24.1.c: Likewise. + * gcc.dg/gomp/parallel-2.c: Likewise. + * gcc.dg/gomp/pr44085.c: Likewise. + * gcc.dg/gomp/sharing-1.c: Likewise. + * gcc.dg/gomp/vla-1.c: Likewise. + * gfortran.dg/gomp/appendix-a/a.24.1.f90: Likewise. + * gfortran.dg/gomp/crayptr3.f90: Likewise. + * gfortran.dg/gomp/pr33439.f90: Likewise. + * gfortran.dg/gomp/pr44036-1.f90: Likewise. + * gfortran.dg/gomp/pr44085.f90: Likewise. + * gfortran.dg/gomp/pr44536.f90: Likewise. + * gfortran.dg/gomp/pr94672.f90: Likewise. + * gfortran.dg/gomp/sharing-1.f90: Likewise. + * gfortran.dg/gomp/sharing-2.f90: Likewise. + * gfortran.dg/gomp/sharing-3.f90: Likewise. + +2020-06-17 Thomas Schwinge + + * c-c++-common/gomp/hsa-indirect-call-1.c: New file. + +2020-06-17 Jonathan Wakely + + PR c++/66159 + * g++.dg/warn/forward-inner.C: Check alias-declaration using + elaborated-type-specifier. + +2020-06-17 Bin Cheng + Kaipeng Zhou + Bin Cheng + Kaipeng Zhou + + PR tree-optimization/95199 + * gcc.target/aarch64/sve/pr95199.c: New test. + +2020-06-17 Jason Merrill + + * g++.dg/cpp2a/spaceship-synth9.C: New test. + +2020-06-17 Jason Merrill + + * g++.dg/cpp2a/concepts-ca107.C: New test. + +2020-06-17 Jason Merrill + + * g++.dg/cpp2a/consteval17.C: New test. + +2020-06-17 Jason Merrill + + * g++.dg/cpp0x/pr62101.C: Expect error. + * g++.dg/cpp0x/pr80259.C: Expect error. + * g++.dg/cpp2a/concepts-friend8.C: New test. + +2020-06-17 Jonathan Wakely + + * c-c++-common/pr95378.c: New test. + +2020-06-17 Andreas Krebbel + + * gcc.target/s390/20200617.c: New test. + +2020-06-17 Marek Polacek + + PR c++/95508 + * g++.dg/template/conv16.C: New test. + +2020-06-17 Patrick Palka + + PR testsuite/95716 + * g++.dg/ext/pr85503.C: Give ai::cv public access. + +2020-06-17 Richard Biener + + PR tree-optimization/95717 + * g++.dg/torture/pr95717.C: New testcase. + +2020-06-17 Martin Liska + + PR testsuite/95720 + * gcc.misc-tests/gcov-pr94029.c: Remove not needed remove-gcda. + * lib/gcov.exp: Delete properly .gcov files. + +2020-06-17 Martin Liska + + * g++.dg/vect/vec-cond-expr-eh.C: New test. + +2020-06-17 liuhongt + + * gcc.target/i386/avx2-shiftqihi-constant-1.c: New test. + * gcc.target/i386/avx2-shiftqihi-constant-2.c: Ditto. + * gcc.target/i386/avx512bw-shiftqihi-constant-1.c: Ditto. + * gcc.target/i386/avx512bw-shiftqihi-constant-2.c: Ditto. + * gcc.target/i386/sse2-shiftqihi-constant-1.c: Ditto. + * gcc.target/i386/sse2-shiftqihi-constant-2.c: Ditto. + 2020-06-16 Jonathan Wakely * g++.dg/torture/pr95493-1.C: New test. diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 63167c353bf..a569a41c08c 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,18 @@ +2020-06-17 Samuel Thibault + + * config.host (md_unwind_header) : Set to + 'i386/gnu-unwind.h' + * config/i386/gnu-unwind.h: New file. + +2020-06-17 Martin Liska + + * libgcov-util.c (read_gcda_finalize): Remove const operator. + (merge_wrapper): Add both counts and use them properly. + (topn_to_memory_representation): New function. + (gcov_merge): Covert on disk representation to in memory + representation. + * libgcov.h: Remove const operator. + 2020-06-15 Max Filippov * configure: Regenerate. diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index ae729763913..e5514df4bee 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,19 @@ +2020-06-17 Thomas Schwinge + + PR lto/94848 + * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add + 'dg-do run'. + +2020-06-17 Andrew Stubbs + + * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1" + variant for HSA_RUNTIME_LIB name. + (find_executable_symbol_1): Delete. + (find_executable_symbol): Delete. + (init_kernel_properties): Add ".kd" suffix to symbol names. + (find_load_offset): Delete. + (create_and_finalize_hsa_program): Remove relocation handling. + 2020-06-16 Tobias Burnus * testsuite/libgomp.oacc-fortran/routine-10.f90: New test. diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 99f547c72ca..76262375d82 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,39 @@ +2020-06-17 Jonathan Wakely + + PR libstdc++/94540 + * include/bits/stl_uninitialized.h (__uninitialized_default_1): + Construct the first value at *__first instead of on the stack. + (__uninitialized_default_n_1): Likewise. + Improve comments on several of the non-standard algorithms. + * testsuite/20_util/specialized_algorithms/uninitialized_default/94540.cc: + New test. + * testsuite/20_util/specialized_algorithms/uninitialized_default_n/94540.cc: + New test. + * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/94540.cc: + New test. + * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc: + New test. + * testsuite/23_containers/vector/cons/94540.cc: New test. + +2020-06-17 Jonathan Wakely + + * testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc: + Replace Value type with int so trivial code path is used. + * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc: + Likewise. + +2020-06-17 Jonathan Wakely + + * include/bits/stl_uninitialized.h (uninitialized_fill_n): Only + use std::fill_n when the size is an integral type. + (__uninitialized_default_n): Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_default_n/sizes.cc: + New test. + * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/sizes.cc: + New test. + * testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc: + New test. + 2020-06-16 Jonathan Wakely PR libstdc++/95282