From da9c5f7856c929a3b80e22ab75ebeebce4409501 Mon Sep 17 00:00:00 2001 From: GCC Administrator Date: Tue, 5 Oct 2021 00:16:29 +0000 Subject: [PATCH] Daily bump. --- gcc/ChangeLog | 57 ++++++++++ gcc/DATESTAMP | 2 +- gcc/ada/ChangeLog | 278 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/c-family/ChangeLog | 7 ++ gcc/c/ChangeLog | 5 + gcc/cp/ChangeLog | 5 + gcc/d/ChangeLog | 11 ++ gcc/fortran/ChangeLog | 7 ++ gcc/testsuite/ChangeLog | 35 ++++++ libstdc++-v3/ChangeLog | 69 ++++++++++++ 10 files changed, 475 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9861ef89b72..6b6b1cece25 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,60 @@ +2021-10-04 Marek Polacek + + PR c++/97573 + * doc/invoke.texi: Document -Warray-compare. + +2021-10-04 Richard Biener + + * gimplify.c (is_var_need_auto_init): DECL_HARD_REGISTER + variables are not to be initialized. + +2021-10-04 Richard Biener + + * expr.h (non_mem_decl_p): Declare. + (mem_ref_refers_to_non_mem_p): Likewise. + * expr.c (non_mem_decl_p): Export. + (mem_ref_refers_to_non_mem_p): Likewise. + * internal-fn.c (expand_DEFERRED_INIT): Do not expand the LHS + but check the base with mem_ref_refers_to_non_mem_p + and non_mem_decl_p. + +2021-10-04 Richard Biener + + PR tree-optimization/102570 + * tree-ssa-sccvn.h (vn_reference_op_struct): Document + we are using clique for the internal function code. + * tree-ssa-sccvn.c (vn_reference_op_eq): Compare the + internal function code. + (print_vn_reference_ops): Print the internal function code. + (vn_reference_op_compute_hash): Hash it. + (copy_reference_ops_from_call): Record it. + (visit_stmt): Remove the restriction around internal function + calls. + (fully_constant_vn_reference_p): Use fold_const_call and handle + internal functions. + (vn_reference_eq): Compare call return types. + * tree-ssa-pre.c (create_expression_by_pieces): Handle + generating calls to internal functions. + (compute_avail): Remove the restriction around internal function + calls. + +2021-10-04 Aldy Hernandez + + PR tree-optimization/102560 + * gimple-ssa-warn-alloca.c (alloca_call_type): Remove static + marker for invalid_range. + +2021-10-04 Richard Biener + + PR middle-end/102587 + * internal-fn.c (expand_DEFERRED_INIT): Guard register + initialization path an avoid initializing VLA registers + with it. + +2021-10-04 Eric Botcazou + + * config/rs6000/vxworks.h (TARGET_INIT_LIBFUNCS): Delete. + 2021-10-03 Martin Liska * toplev.c (toplev::main): Check opt_index if it is a part diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 5da7af371f6..e8ebd14ea96 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20211004 +20211005 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 5cf2c48c5cc..42525c500e1 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,281 @@ +2021-10-04 Justin Squirek + + * doc/gnat_rm/standard_and_implementation_defined_restrictions.rst: + Add new entry for No_Dynamic_Accessibility_Checks documenting + behavior. + * gnat_rm.texi: Regenerate. + * exp_ch4.adb (Expand_N_In): Perform special expansion for + membership tests when No_Dynamic_Accessibility_Checks is active. + * sem_attr.adb (Resolve_Attribute): Skip static accessibility + check on actuals for anonymous access type formal parameters, + and add constants for readability. + * sem_util.adb (Function_Call_Or_Allocator_Level): Use the + innermost master for determining the level for function calls + within the alternative accessibility model. + (Type_Access_Level): Properly get the level for anonymous access + function result types. + +2021-10-04 Piotr Trojanek + + * doc/gnat_ugn/building_executable_programs_with_gnat.rst + (gnateA): This switch no longer looks at the formal parameter + type being composite (as originally mandated by SPARK), but in + the parameter passing mechanism being not specified (as + currently mandated by Ada). + * gnat_ugn.texi: Regenerate. + +2021-10-04 Ed Schonberg + + * sem_ch6.adb (Analyze_Operator_Symbol): Recognize strings as + operator names when they are the value of one of the Ada2022 + aspects for User_Defined_Literals. + * sem_ch13.adb (Analyze_One_Aspect): Handle an aspect value + given by an Operator_Name. + (Validate_Literal_Aspect): Call Analyze_Operator_Symbol when + needed. + +2021-10-04 Piotr Trojanek + + * gen_il-gen.adb (Put_Make_Spec): Don't emit the LF character in + the middle of a string, because the Put routine won't indent it + properly. + +2021-10-04 Ghjuvan Lacambre + + * gnat_cuda.adb (Remove_CUDA_Device_Entities): New function. + (Expand_CUDA_Package): Call Remove_CUDA_Device_Entities. + * gnat_cuda.ads (Expand_CUDA_Package): Expand documentation. + * sem_prag.adb (Analyze_Pragma): Remove warning about + CUDA_Device not being implemented. + +2021-10-04 Gary Dismukes + + * sem_ch7.adb (Analyze_Package_Specification): For types marked + as Must_Have_Preelab_Init, we now check for the presence of a + Preelaborable_Initialization aspect on the type, and pass the + aspect's expression (if any) on the call to + Has_Preelaborable_Initialization (or pass Empty if the type has + no such aspect or the aspect has no associated expression). + * sem_util.ads (Has_Preelaborable_Initialization): Change + Boolean formal parameter Formal_Types_Have_Preelab_Init to + instead be a formal of type Node_Id (named Preelab_Init_Expr), + to allow passing an expression that may be a conjunction of + Preelaborable_Initialization aspects. Revise spec comment + accordingly (and remove ??? comment). + * sem_util.adb (Type_Named_In_Preelab_Init_Expression): New + nested function with a result indicating whether a given type is + named as the prefix of a Preelaborable_Initialization attribute + in the expression of a corresponding P_I aspect. + (Has_Preelaborable_Initialization): For generic formal derived + and private types, test whether the type is named in the + expression Preelab_Init_Expr (by calling + Type_Named_In_Preelab_Init_Expression), and if so, treat the + formal type as having preelaborable initialization (returning + True). + * libgnat/a-cobove.ads (Vector): Replace pragma + Preelaborable_Initialization with the aspect, specifying its + value as Element_Type'Preelaborable_Initialization. + (Cursor): Replace pragma P_I with the aspect (defaulting to + True). + * libgnat/a-cbdlli.ads (List): Replace pragma + Preelaborable_Initialization with the aspect, specifying its + value as Element_Type'Preelaborable_Initialization. + (Cursor): Replace pragma P_I with the aspect (defaulting to + True). + * libgnat/a-cbhama.ads (Map): Replace pragma + Preelaborable_Initialization with the aspect, specifying its + value as (Element_Type'Preelaborable_Initialization and + Key_Type'Preelaborable_Initialization). + (Cursor): Replace pragma P_I with the aspect (defaulting to + True). + * libgnat/a-cborma.ads (Map): Replace pragma + Preelaborable_Initialization with the aspect, specifying its + value as (Element_Type'Preelaborable_Initialization and + Key_Type'Preelaborable_Initialization). + (Cursor): Replace pragma P_I with the aspect (defaulting to + True). + * libgnat/a-cbhase.ads (Set): Replace pragma + Preelaborable_Initialization with the aspect, specifying its + value as Element_Type'Preelaborable_Initialization. + (Cursor): Replace pragma P_I with the aspect (defaulting to + True). + * libgnat/a-cborse.ads (Set): Replace pragma + Preelaborable_Initialization with the aspect, specifying its + value as Element_Type'Preelaborable_Initialization. + (Cursor): Replace pragma P_I with the aspect (defaulting to + True). + * libgnat/a-cbmutr.ads (Tree): Replace pragma + Preelaborable_Initialization with the aspect, specifying its + value as Element_Type'Preelaborable_Initialization. + (Cursor): Replace pragma P_I with the aspect (defaulting to + True). + * libgnat/a-coboho.ads (Holder): Replace pragma + Preelaborable_Initialization with the aspect, specifying its + value as Element_Type'Preelaborable_Initialization. + (Cursor): Replace pragma P_I with the aspect (defaulting to + True). + +2021-10-04 Yannick Moy + + * libgnat/a-textio.adb: Mark body out of SPARK. + * libgnat/a-textio.ads: Mark spec in SPARK and private part out + of SPARK. + * sem.adb (Semantics.Do_Analyze): Similar to ghost code + attributes, save and restore value of + Ignore_SPARK_Mode_Pragmas_In_Instance. + +2021-10-04 Bob Duff + + * libgnat/s-regpat.ads: Change Data_First to Data'First. Change + "still" to "always". Similar changes for Data_Last. + +2021-10-04 Piotr Trojanek + + * sprint.adb (Sprint_Node_Actual): Refactor code for generic + package and subprogram declarations. + +2021-10-04 Piotr Trojanek + + * sem_res.adb (Resolve_Indexed_Component, Resolve_Slice): Rename + the local constant Name to Pref; remove repeated calls to + Prefix. + +2021-10-04 Matthieu Eyraud + + * scos.ads: Extend the documentation. + * par_sco.adb (Process_Decisions): Emit specific SCOs for + quantified expressions. + +2021-10-04 Piotr Trojanek + + * checks.adb (Selected_Range_Checks): Fix style. + * exp_ch4.adb (Expand_N_Slice): Fix style and comment. + * sem_res.adb (Resolve_Indexed_Component): Fix style. + +2021-10-04 Yannick Moy + + * libgnat/a-strbou.ads: Add comments. + +2021-10-04 Piotr Trojanek + + * sem_attr.adb (Eval_Attribute): Evaluation of attribute + Leading_Part with illegal second parameter is now similar to + evaluation of Remainder with its second parameter being zero. + +2021-10-04 Ed Schonberg + + * sem_res.adb (Resolve_Declare_Expression): Use tree traversals + to perform name capture of local entities in the expression of + the construct. + * exp_util.adb (Possible_Side_Effects_In_SPARK): Do not apply to + the prefix of an attribute reference Reduce when that prefix is + an aggregate, because it will be expanded into a loop, and has + no identifiable type. + +2021-10-04 Javier Miranda + + * sem_ch8.adb (Build_Class_Wide_Wrapper): Fix handling of + class-wide subtypes; required to handle chains of + instantiations. Adding also code to identify these wrappers and + properly resolve instantiations where the wrapper and a tagged + type primitive are visible. + * einfo.ads (Is_Class_Wide_Wrapper): Adding documentation. + * gen_il-fields.ads (Opt_Field_Enum): Adding + Is_Class_Wide_Wrapper. + * gen_il-gen-gen_entities.adb (Root_Entity_Type): Adding + semantic flag Is_Class_Wide_Wrapper. + +2021-10-04 Bob Duff + + * einfo.ads (Declaration_Node): Document that Declaration_Node + for Itypes. + * einfo-utils.adb (Declaration_Node): Make it return Empty for + Itypes, or a proper type or subtype declaration. + * gen_il-gen.adb: Minor comment improvement. + +2021-10-04 Piotr Trojanek + + * sem_res.adb (Resolve_Slice): Fix application of range checks + to slice range given as a subtype name. + +2021-10-04 Piotr Trojanek + + * sem_res.adb (Resolve_Slice): Handle range given as a subtype + indication. + +2021-10-04 Piotr Trojanek + + * sem_res.adb (Resolve_Slice): Add custom handling of attribute + Image and similar in CodePeer mode. This complements the + existing custom handling of these attributes in + Expand_N_Attribute_Reference. + +2021-10-04 Justin Squirek + + * sem_util.adb (Is_Variable): Add check for implicitly + dereferenced access types + (Is_Dependent_Component_Of_Mutable_Object): Set Prefix_Type when + not specified. + +2021-10-04 Eric Botcazou + + * doc/gnat_ugn/the_gnat_compilation_model.rst (Binding generation): + Document specific behavior for /include/-ending paths and update. + * gnat_ugn.texi: Regenerate. + +2021-10-04 Arnaud Charlet + + PR ada/102073 + * socket.c (__gnat_gethostbyaddr, __gnat_inet_pton): Add missing + return statements. + +2021-10-04 Justin Squirek + + * sem_util.adb (Function_Or_Allocator_Level): Properly handle + direct function calls in the default alternative accessibility + checking mode. + +2021-10-04 Javier Miranda + + * sem_util.adb (Is_Library_Level_Entity): Return False for + entities defined in E_Loop scopes. This change is not required + by the frontend; it is required by tools that depend on the + frontend sources. + * einfo-utils.adb (Is_Dynamic_Scope): Code cleanup. + +2021-10-04 Justin Squirek + + * sem_util.adb (Accessibility_Level): Add a case to handle + renamed subprograms in addition to renamed objects. + +2021-10-04 Doug Rupp + + * libgnarl/s-osinte__vxworks.ads (tlsKeyCreate): Return int. + * libgnarl/s-tpopsp__vxworks-rtp.adb (ERROR): Declare from + System.VxWorks.Ext.ERROR. + (Initialize): Declare IERR. Assert it. + * libgnarl/s-tpopsp__vxworks.adb (ERROR): Declare from + System.VxWorks.Ext.ERROR. + (Is_Valid_Task): Declare IERR. Test return. + * libgnarl/s-vxwext__kernel.adb (semDelete): Return STATUS. + +2021-10-04 Eric Botcazou + + * exp_disp.adb (Make_DT): Copy the Needs_Debug_Info flag from the + type onto the TSD object. + +2021-10-04 Steve Baird + + * sem_util.adb (Is_Repeatedly_Evaluated): Handle the case of an + Old attribute reference that occurs within what was originally a + quantified expression but which expansion has transformed into + an Expression_With_Actions. + +2021-10-04 Steve Baird + + * exp_ch4.adb (Expand_N_Indexed_Component): The two improvements + described above. + 2021-10-01 Bob Duff * exp_ch6.adb (Expand_Call_Helper): Do not call diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 371d821c2a5..c0646694b2a 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,10 @@ +2021-10-04 Marek Polacek + + PR c++/97573 + * c-common.h (do_warn_array_compare): Declare. + * c-warn.c (do_warn_array_compare): New. + * c.opt (Warray-compare): New option. + 2021-10-02 Iain Sandoe * c-format.c: Remove a test of TARGET_FORMAT_TYPES with diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 73f6168c460..115e883d7ce 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,8 @@ +2021-10-04 Marek Polacek + + PR c++/97573 + * c-typeck.c (parser_build_binary_op): Call do_warn_array_compare. + 2021-10-01 Martin Sebor PR c/102103 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 13559e2ae14..b795a729d64 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2021-10-04 Marek Polacek + + PR c++/97573 + * typeck.c (cp_build_binary_op): Call do_warn_array_compare. + 2021-10-03 Iain Sandoe PR c++/101765 diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index 94882e874f4..ed5db13c364 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,14 @@ +2021-10-04 Iain Buclaw + + PR d/102574 + * d-spec.cc (lang_specific_driver): Link libstdc++ statically if + -static-libstdc++ was given on command-line. + +2021-10-04 Iain Buclaw + + * d-attribs.cc (d_handle_optimize_attribute): Save target node before + calling parse_optimize_options in case it changes. + 2021-09-12 Iain Buclaw PR d/102185 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index c9a12930146..da5d1a23931 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,10 @@ +2021-10-04 Tobias Burnus + + PR fortran/54753 + * resolve.c (can_generate_init, resolve_fl_variable_derived, + resolve_symbol): Only do initialization with intent(out) if not + inside of an interface block. + 2021-10-01 Martin Sebor PR c/102103 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f867d9a1abf..e339cb119f0 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,38 @@ +2021-10-04 Marek Polacek + + PR c++/97573 + * c-c++-common/Warray-compare-1.c: New test. + * c-c++-common/Warray-compare-2.c: New test. + +2021-10-04 Richard Biener + + * gcc.dg/auto-init-hardreg-1.c: New testcase. + +2021-10-04 Richard Biener + + * c-c++-common/pr102285.c: New testcase. + +2021-10-04 Richard Biener + + PR tree-optimization/102570 + * gcc.dg/tree-ssa/ssa-fre-96.c: New testcase. + * gcc.dg/tree-ssa/ssa-pre-33.c: Likewise. + +2021-10-04 Aldy Hernandez + + * g++.dg/Walloca2.C: New test. + +2021-10-04 Richard Biener + + PR middle-end/102587 + * gcc.target/aarch64/sve/pr102587-1.c: New testcase. + * gcc.target/aarch64/sve/pr102587-2.c: Likewise. + +2021-10-04 Tobias Burnus + + PR fortran/54753 + * gfortran.dg/assumed_rank_23.f90: New file. + 2021-10-03 Iain Sandoe PR c++/101765 diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index b753b469701..8602c5c5ed3 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,72 @@ +2021-10-04 Jonathan Wakely + + * include/bits/forward_list.h (forward_list): Use non-deduced + context for allocator parameter of allocator-extended copy and + move constructors. + * include/bits/stl_bvector.h (vector): Likewise. + * include/bits/stl_deque.h (deque): Likewise. + * include/bits/stl_list.h (list): Likewise. + * include/bits/stl_map.h (map): Likewise. + * include/bits/stl_multimap.h (multimap): Likewise. + * include/bits/stl_multiset.h (multiset): Likewise. + * include/bits/stl_set.h (set): Likewise. + * include/bits/stl_vector.h (vector): Likewise. + * include/bits/stl_queue.h (queue, priority_queue): Do not + constrain Allocator template parameter of deduction guides that + have a Container parameter. + * include/bits/stl_stack.h (stack): Likewise. + * include/debug/deque (__gnu_debug::deque): Use non-deduced + context for allocator parameter of allocator-extended copy and + move constructors. + * include/debug/list (__gnu_debug::list): Likewise. + * include/debug/map.h (__gnu_debug::map): Likewise. + * include/debug/multimap.h (__gnu_debug::multimap): Likewise. + * include/debug/multiset.h (__gnu_debug::multiset): Likewise. + * include/debug/set.h (__gnu_debug::set): Likewise. + * include/debug/vector (__gnu_debug::vector): Likewise. + * testsuite/23_containers/deque/cons/deduction.cc: Test class + template argument deduction with non-deduced allocator + arguments. + * testsuite/23_containers/forward_list/cons/deduction.cc: + Likewise. + * testsuite/23_containers/list/cons/deduction.cc: Likewise. + * testsuite/23_containers/map/cons/deduction.cc: Likewise. + * testsuite/23_containers/multimap/cons/deduction.cc: Likewise. + * testsuite/23_containers/multiset/cons/deduction.cc: Likewise. + * testsuite/23_containers/priority_queue/deduction.cc: Likewise. + * testsuite/23_containers/queue/deduction.cc: Likewise. + * testsuite/23_containers/set/cons/deduction.cc: Likewise. + * testsuite/23_containers/stack/deduction.cc: Likewise. + * testsuite/23_containers/unordered_map/cons/deduction.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/cons/deduction.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/cons/deduction.cc: + Likewise. + * testsuite/23_containers/unordered_set/cons/deduction.cc: + Likewise. + * testsuite/23_containers/vector/cons/deduction.cc: Likewise. + +2021-10-04 Jonathan Wakely + + * include/std/variant (__detail::__variant::__as): Add missing + noexcept to first overload. + +2021-10-04 Jonathan Wakely + + * include/bits/basic_string.h (basic_string(nullptr_t)): Define + as deleted. + (operator=(nullptr_t)): Likewise. + * include/bits/cow_string.h (basic_string(nullptr_t)): Likewise. + (operator=(nullptr_t)): Likewise. + * include/std/string_view (basic_string_view(nullptr_t)): + Likewise. + * testsuite/21_strings/basic_string/cons/char/nullptr.cc: New test. + * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc: + Change dg-warning to dg-error. + * testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc: + Likewise. + 2021-10-02 Jonathan Wakely * src/c++17/fs_ops.cc (create_directory): Fix typo in enum name. -- 2.11.4.GIT