From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2168) id F0C743982426; Fri, 20 May 2022 00:17:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F0C743982426 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: GCC Administrator To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc r13-677] Daily bump. X-Act-Checkin: gcc X-Git-Author: GCC Administrator X-Git-Refname: refs/heads/master X-Git-Oldrev: 6f038efd93593da6e661b829d1bd3877e75550f1 X-Git-Newrev: 12750f80bffe7072a7fcc7620305a40d071ff388 Message-Id: <20220520001709.F0C743982426@sourceware.org> Date: Fri, 20 May 2022 00:17:09 +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: Fri, 20 May 2022 00:17:10 -0000 https://gcc.gnu.org/g:12750f80bffe7072a7fcc7620305a40d071ff388 commit r13-677-g12750f80bffe7072a7fcc7620305a40d071ff388 Author: GCC Administrator Date: Fri May 20 00:16:32 2022 +0000 Daily bump. Diff: --- gcc/ChangeLog | 55 +++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 316 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/testsuite/ChangeLog | 26 ++++ libstdc++-v3/ChangeLog | 64 ++++++++++ 5 files changed, 462 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 66fe54bf59d..bb3fd55e9b9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,58 @@ +2022-05-19 Roger Sayle + + PR middle-end/98865 + * expr.cc (expand_expr_real_2) [MULT_EXPR]: Expand X*Y as X&Y + when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and + likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits. + +2022-05-19 Will Schmidt + + * config/rs6000/rs6000-builtins.def: Rephrase + to remove RS6000_BTC_SPECIAL from comment. + * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY, + RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY, + RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK, + RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS, + RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC, + RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP, + RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR, + RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID, + RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE, + RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT, + RS6000_BTM_ALWAYS): Delete. + +2022-05-19 Richard Biener + + * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut + computation of the new value. + +2022-05-19 Richard Biener + + * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove. + (add_to_value): Use get_expression_id. + (bitmap_insert_into_set): Likewise. + (bitmap_value_insert_into_set): Likewise. + +2022-05-19 David Malcolm + + * doc/invoke.texi (-fanalyzer-checker=): Add + -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to + the list of analyzer warnings disabled by + -fanalyzer-checker=taint. + +2022-05-19 Jakub Jelinek + + PR debug/105630 + * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for + global vars without symtab node even when they have DECL_RTL + set. + +2022-05-19 Jakub Jelinek + + PR c/105635 + * pointer-query.cc (gimple_parm_array_size): Return NULL if var + doesn't have pointer or reference type. + 2022-05-18 Marek Polacek PR c/105131 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 756cdcb1359..dc35e2277db 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20220519 +20220520 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 746aee8e771..0a766f2eba2 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,319 @@ +2022-05-19 Eric Botcazou + + * gcc-interface/decl.cc (gnat_to_gnu_entity) : Deal with + a constant related to a return in a function specially. + * gcc-interface/trans.cc (Call_to_gnu): Use return slot optimization + if the target is a return object. + (gnat_to_gnu) : Deal with a constant related + to a return in a function specially. + +2022-05-19 Eric Botcazou + + * gcc-interface/utils.cc (gnat_pushdecl): Also set TREE_NO_WARNING + on the decl if Comes_From_Source is false for the associated node. + +2022-05-19 Eric Botcazou + + * gcc-interface/trans.cc (gnat_gimplify_expr): Tidy up. + +2022-05-19 Eric Botcazou + + * gcc-interface/decl.cc (gnat_to_gnu_entity) : Also call + process_attributes for built-in functions. + (prepend_one_attribute_pragma): Deal with "simd" attribute. + * gcc-interface/utils.cc (handle_simd_attribute): New function. + (gnat_internal_attribute_table): Add entry for "simd" attribute. + +2022-05-19 Eric Botcazou + + * gcc-interface/decl.cc (components_to_record): Use NULL recursively + as P_GNU_REP_LIST for the innermost variant level in the unchecked + union case with a fixed part. + +2022-05-19 Eric Botcazou + + * gcc-interface/trans.cc (gnat_to_gnu): Do not set Current_Error_Node + to a node without location. + +2022-05-19 Eric Botcazou + + * gcc-interface/decl.cc (gnat_to_gnu_entity) : And + skip the elaboration of the designated subtype when that of its base + type has been delayed. + +2022-05-19 Eric Botcazou + + * gcc-interface/decl.cc (gnat_to_gnu_entity) : If + it is a special subtype designated by an access subtype, then defer + the completion of incomplete types. + +2022-05-19 Eric Botcazou + + * gcc-interface/ada-tree.h, gcc-interface/ada.h, + gcc-interface/gadaint.h, gcc-interface/targtyps.cc: Adjust + copyright line. + +2022-05-19 Eric Botcazou + + * gcc-interface/utils.cc (unchecked_convert): Do not fold a string + constant if the target type is pointer to character. + +2022-05-19 Piotr Trojanek + + * sem_prag.adb (Analyze_Pragma): Remove redundant call to + Set_Error_Posted. + +2022-05-19 Piotr Trojanek + + * sem_ch8.adb (Find_Expanded_Name): Emit a main error message + before adding a continuation with the call to + Error_Missing_With_Of_Known_Unit. + +2022-05-19 Eric Botcazou + + * sem_util.ads (Requires_Transient_Scope): Add pragma Inline. + +2022-05-19 Steve Baird + + * sem_ch13.adb (Build_Predicate_Functions): If a semantic error + has been detected then ignore Predicate_Failure aspect + specifications in the same way as is done for CodePeer and + SPARK. This avoids an internal compiler error if + Ancestor_Predicate_Function_Called is True but Result_Expr is + not an N_And_Then node (and is therefore unsuitable as an + argument in a call to Left_Opnd). + +2022-05-19 Eric Botcazou + + * exp_ch7.adb (Wrap_Transient_Declaration): Propagate Uses_Sec_Stack + to enclosing function if it does not return on the secondary stack. + * exp_ch6.adb (Expand_Call_Helper): Call Establish_Transient_Scope + with Manage_Sec_Stack set to True only when necessary. + * sem_res.adb (Resolve_Call): Likewise. + (Resolve_Entry_Call): Likewise. + +2022-05-19 Daniel Mercier + + * sem_ch13.adb (Build_Predicate_Function): Ignore predicate + failure in CodePeer mode. + +2022-05-19 Arnaud Charlet + + * raise-gcc.c: Fix compilation with -DSTANDALONE under windows. + +2022-05-19 Eric Botcazou + + * exp_ch4.adb (Narrow_Large_Operation): Preserve and reuse Etype. + +2022-05-19 Javier Miranda + + * exp_attr.adb (Add_Implicit_Interface_Type_Conversion): New + subprogram which factorizes code. + (Expand_N_Attribute_Reference): Call the new subprogram to add + the missing implicit interface type conversion. + +2022-05-19 Piotr Trojanek + + * sem_ch13.adb (Build_Predicate_Function): Ignore predicate + failure in GNATprove mode. + +2022-05-19 Steve Baird + + * einfo-utils.ads, einfo-utils.adb: Delete Predicate_Function_M + function and Set_Predicate_Function_M procedure. + * einfo.ads: Delete comments for Is_Predicate_Function_M and + Predicate_Function_M functions. Add comment for new + Predicate_Expression function. Update comment describing + predicate functions. + * exp_util.ads, exp_util.adb (Make_Predicate_Call): Replace Mem + formal parameter with Static_Mem and Dynamic_Mem formals. + (Make_Predicate_Check): Delete Add_Failure_Expression and call + to it. + * exp_ch4.adb (Expand_N_In.Predicate_Check): Update + Make_Predicate_Call call to match profile change. + * gen_il-fields.ads: Delete Is_Predicate_Function_M field, add + Predicate_Expression field. + * gen_il-gen-gen_entities.adb: Delete Is_Predicate_Function_M + use, add Predicate_Expression use. + * sem_ch13.adb (Build_Predicate_Functions): Rename as singular, + not plural; we no longer build a Predicate_M function. Delete + Predicate_M references. Add new Boolean parameter for predicate + functions when needed. Restructure body of generated predicate + functions to implement required Predicate_Failure behavior and + to set new Predicate_Expression attribute. Remove special + treatment of raise expressions within predicate expressions. + * sem_util.ads (Predicate_Failure_Expression, + Predicate_Function_Needs_Membership_Parameter): New functions. + * sem_util.adb (Is_Current_Instance): Fix bugs which caused + wrong result. + (Is_Current_Instance_Reference_In_Type_Aspect): Delete + Is_Predicate_Function_M reference. + (Predicate_Failure_Expression): New function. + (Propagate_Predicate_Attributes): Delete Is_Predicate_Function_M + references. + +2022-05-19 Eric Botcazou + + * exp_ch6.adb (Expand_Call_Helper): Adjust comment. + (Expand_Simple_Function_Return): For the case of a type which needs + finalization and is returned on the primary stack, do not create a + copy if the expression originates from a function call. + * exp_ch7.adb (Transient Scope Management): Adjust comment. + * exp_util.ads (Is_Related_To_Func_Return): Add WARNING line. + * fe.h (Is_Related_To_Func_Return): Declare. + +2022-05-19 Piotr Trojanek + + * exp_ch9.adb (Build_Find_Body_Index): Remove empty Elsif_Parts + from the constructed IF statement. + +2022-05-19 Piotr Trojanek + + * exp_ch9.adb (Build_Find_Body_Index): Remove IF statement whose + condition was true-by-construction; remove excessive assertion + (since the call to Elsif_Parts will check that Nod is present + and it is an if-statement). + +2022-05-19 Arnaud Charlet + + * gnat1drv.adb, gnatcmd.adb: Remove references to gnatfind/xref. + * doc/gnat_ugn/building_executable_programs_with_gnat.rst, + doc/gnat_ugn/the_gnat_compilation_model.rst: Ditto. + * gnat_ugn.texi: Regenerate. + * gnatfind.adb, gnatxref.adb, xr_tabls.adb, xr_tabls.ads, + xref_lib.adb, xref_lib.ads: Removed, no longer used. + +2022-05-19 Claire Dross + + * libgnat/a-strfix.adb: Add assertions. + * libgnat/a-strsup.adb: Idem. + +2022-05-19 Ed Schonberg + + * erroutc.ads: Fix a single-character typo in a comment. + * exp_aggr.adb: Fix a single-character typo in a comment. + Replace several pairs of calls to Low_Bound and + High_Bound (which do not handle an identifier that denotes a + scalar subtype) with corresponding calls to Get_Index_Bounds + (which does handle that case). + * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Set the + Component_Associations attribute of a null array aggregate to + New_List. + * sem_aggr.ads: New visible function + Is_Null_Array_Aggregate_High_Bound. + * sem_aggr.adb (Is_Null_Array_Aggregate_High_Bound, + Is_Null_Aggregate, Resolve_Null_Array_Aggregate): New functions. + (Resolve_Aggregate): Recognize null array aggregates (using + Is_Null_Aggregate) and, when one is recognized, resolve + it (using Resolve_Null_Array_Aggregate). Avoid calling + Array_Aggr_Subtype for a null array aggregate; the needed + subtype is built in Resolve_Null_Array_Aggregate. Do not + incorrectly flag a null aggregate (after it is transformed by + expansion) as being both positional and named. + * sem_attr.adb (Eval_Attribute): Special treatment for null + array aggregate high bounds to avoid incorrectly flagging + something like Integer'Pred (Integer'First) as an illegal static + expression. + * sem_eval.adb (Out_Of_Range): Special treatment for null array + aggregate high bounds to avoid incorrectly flagging something + like Integer'Pred (Integer'First) as an illegal static + expression. + +2022-05-19 Yannick Moy + + * libgnat/s-aridou.adb (Lemma_Abs_Range, + Lemma_Double_Shift_Left, Lemma_Shift_Left): New lemmas. + (Double_Divide): Add ghost code. + (Lemma_Concat_Definition, Lemma_Double_Shift_Left, + Lemma_Shift_Left, Lemma_Shift_Right): Define or complete lemmas. + (Scaled_Divide): Add ghost code. + +2022-05-19 Bob Duff + + * exp_pakd.adb (Expand_Packed_Eq): Replace the check for *same* + modular type, with a check for any modular type, and assert that + the two types have the same modulus and so on. + * exp_pakd.ads: Minor comment improvements. + +2022-05-19 Bob Duff + + * style.adb (Check_Identifier): Deal with the case where a + record component definition has been transformed; we want to + warn if the original came from source. + * libgnat/s-objrea.ads, libgnat/s-objrea.adb: Fix casing of MF + to be consistent. + * uname.adb: Fix casing of Chars to be consistent. + * sem_util.ads: Minor comment fix. + +2022-05-19 Eric Botcazou + + * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add s-retsta. + * debug.adb (d_r): Document usage. + * exp_ch4.adb (Expand_N_Allocato): Deal with the return stack pool. + * exp_ch6.adb (Expand_Simple_Function_Return): Replace calls to + Requires_Transient_Scope with Returns_On_Secondary_Stack. Deal + with types that need finalization returned on the primary stack, + use CW_Or_Needs_Finalization for those returned on the secondary. + * exp_util.adb (Build_Allocate_Deallocate_Proc): Return early + for the return stack pool. + (Remove_Side_Effects): Call CW_Or_Needs_Finalization. + * fe.h (Requires_Transient_Scope): Delete. + (Returns_On_Secondary_Stack): Declare. + * gnat1drv.adb (Adjust_Global_Switches): Set Back_End_Return_Slot + to False when generating C code or if -gnatd_r is specified. + * opt.ads (Back_End_Return_Slot): New boolean variable. + * rtsfind.ads (RTU_Id): Add System_Return_Stack. + (RE_Id): Add RE_RS_Allocate and RE_RS_Pool. + (RE_Unit_Table): Add entries for RE_RS_Allocate and RE_RS_Pool. + * sem_util.ads (CW_Or_Has_Controlled_Part): Delete. + (CW_Or_Needs_Finalization): Declare. + (Requires_Transient_Scope): Adjust description. + (Returns_On_Secondary_Stack): Declare. + * sem_util.adb (Compute_Returns_By_Ref): Set Returns_By_Ref on types + which need finalization if they are returned on the secondary stack. + (CW_Or_Has_Controlled_Part): Rename to... + (CW_Or_Needs_Finalization): ...this. + (Requires_Transient_Scope): Move bulk of implementation to... + (Returns_On_Secondary_Stack): ...here. Return true for types which + need finalization only if the back-end return slot is not supported. + * libgnat/s-retsta.ads: New file. + * gcc-interface/ada-builtin-types.def (BT_FN_PTR_SSIZE): Define. + * gcc-interface/ada-builtins.def (return_slot): Likewise. + * gcc-interface/ada-tree.h (BUILT_IN_RETURN_SLOT): Likewise. + * gcc-interface/decl.cc (gnat_to_gnu_subprog_type): Replace call to + Requires_Transient_Scope with Returns_On_Secondary_Stack. + * gcc-interface/trans.cc (gnat_to_gnu) : + In the return by invisible reference, skip the copy if the source + is the same as the destination. + * gcc-interface/utils2.cc (build_call_alloc_dealloc_proc): Deal with + the return stack pool. + +2022-05-19 Eric Botcazou + + * gcc-interface/trans.cc: Fix formatting issues in comments. + (Subprogram_Body_to_gnu): Tidy up. + (Exception_Handler_to_gnu_gcc): Rename into... + (Exception_Handler_to_gnu): ...this. + (gnat_to_gnu) : Adjust to above renaming. + +2022-05-19 Eric Botcazou + + * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Rename a couple + of local variables and use Is_Generic_Subprogram predicate. + (process_decls): Likewise. + +2022-05-19 Eric Botcazou + + * gcc-interface/trans.cc (Subprogram_Body_to_gnu): Do not deal with + inlining heuristics for expression functions here but... + * gcc-interface/decl.cc (inline_status_for_subprog): ...here instead + and do not override them at -Os. + +2022-05-19 Piotr Trojanek + + * gcc-interface/decl.cc (gnat_to_gnu_entity): Remove dead code + which expected Scope to return E_Subprogram_Body entity. + 2022-05-18 Claire Dross * libgnat/s-imageu.adb (Set_Image_Unsigned): Change assertion. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e4c2c4614df..613dbbe560d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,29 @@ +2022-05-19 Jonathan Wakely + + * g++.dg/cpp0x/variadic-tuple.C: Qualify function to avoid ADL + finding std::make_tuple. + +2022-05-19 Roger Sayle + + PR middle-end/98865 + * gcc.target/i386/pr98865.c: New test case. + +2022-05-19 Giuliano Belinassi + + PR target/105647 + * g++.dg/modules/pr105169_a.C: Change -fpatchable-function-entry to 2. + * g++.dg/modules/pr105169_b.C: Likewise. + +2022-05-19 Jakub Jelinek + + PR debug/105630 + * gcc.dg/pr105630.c: New test. + +2022-05-19 Jakub Jelinek + + PR c/105635 + * gcc.dg/pr105635.c: New test. + 2022-05-18 Marek Polacek PR c/105131 diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 0fc27dac9d9..e755911c996 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,67 @@ +2022-05-19 Jonathan Wakely + + * include/bits/char_traits.h: Only include when + necessary. + * include/std/stacktrace: Use __UINTPTR_TYPE__ instead of + uintptr_t. + * src/c++11/cow-stdexcept.cc: Include . + * src/c++17/floating_to_chars.cc: Likewise. + * testsuite/20_util/assume_aligned/1.cc: Include . + * testsuite/20_util/assume_aligned/3.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/array.cc: Likewise. + +2022-05-19 Jonathan Wakely + + * include/bits/basic_string.h: Do not include + here. + * include/bits/cow_string.h: Include it here. + +2022-05-19 Jonathan Wakely + + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * include/bits/memory_resource.h: New file. + * include/std/deque: Include . + * include/std/forward_list: Likewise. + * include/std/list: Likewise. + * include/std/map: Likewise. + * include/std/memory_resource (pmr::memory_resource): Move to + new header. + (pmr::polymorphic_allocator): Likewise. + * include/std/regex: Likewise. + * include/std/set: Likewise. + * include/std/stacktrace: Likewise. + * include/std/string: Likewise. + * include/std/unordered_map: Likewise. + * include/std/unordered_set: Likewise. + * include/std/vector: Likewise. + * testsuite/21_strings/basic_string/types/pmr_typedefs.cc: + Remove header and check construction. + * testsuite/23_containers/deque/types/pmr_typedefs.cc: Likewise. + * testsuite/23_containers/forward_list/pmr_typedefs.cc: + Likewise. + * testsuite/23_containers/list/pmr_typedefs.cc: Likewise. + * testsuite/23_containers/map/pmr_typedefs.cc: Likewise. + * testsuite/23_containers/multimap/pmr_typedefs.cc: Likewise. + * testsuite/23_containers/multiset/pmr_typedefs.cc: Likewise. + * testsuite/23_containers/set/pmr_typedefs.cc: Likewise. + * testsuite/23_containers/unordered_map/pmr_typedefs.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/pmr_typedefs.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/pmr_typedefs.cc: + Likewise. + * testsuite/23_containers/unordered_set/pmr_typedefs.cc: + Likewise. + * testsuite/23_containers/vector/pmr_typedefs.cc: Likewise. + * testsuite/28_regex/match_results/pmr_typedefs.cc: Likewise. + +2022-05-19 Jonathan Wakely + + * include/std/memory_resource (polymorphic_allocator): Add + non-template equality operator, as proposed for LWG 3683. + * testsuite/20_util/polymorphic_allocator/lwg3683.cc: New test. + 2022-05-17 Jonathan Wakely * src/c++17/memory_resource.cc (set_default_resource): Use