Daily bump.
authorGCC Administrator <gccadmin@gcc.gnu.org>
Tue, 5 Oct 2021 00:16:29 +0000 (00:16 +0000)
committerGCC Administrator <gccadmin@gcc.gnu.org>
Tue, 5 Oct 2021 00:16:29 +0000 (00:16 +0000)
gcc/ChangeLog
gcc/DATESTAMP
gcc/ada/ChangeLog
gcc/c-family/ChangeLog
gcc/c/ChangeLog
gcc/cp/ChangeLog
gcc/d/ChangeLog
gcc/fortran/ChangeLog
gcc/testsuite/ChangeLog
libstdc++-v3/ChangeLog

index 9861ef8..6b6b1ce 100644 (file)
@@ -1,3 +1,60 @@
+2021-10-04  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97573
+       * doc/invoke.texi: Document -Warray-compare.
+
+2021-10-04  Richard Biener  <rguenther@suse.de>
+
+       * gimplify.c (is_var_need_auto_init): DECL_HARD_REGISTER
+       variables are not to be initialized.
+
+2021-10-04  Richard Biener  <rguenther@suse.de>
+
+       * 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  <rguenther@suse.de>
+
+       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  <aldyh@redhat.com>
+
+       PR tree-optimization/102560
+       * gimple-ssa-warn-alloca.c (alloca_call_type): Remove static
+       marker for invalid_range.
+
+2021-10-04  Richard Biener  <rguenther@suse.de>
+
+       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  <ebotcazou@adacore.com>
+
+       * config/rs6000/vxworks.h (TARGET_INIT_LIBFUNCS): Delete.
+
 2021-10-03  Martin Liska  <mliska@suse.cz>
 
        * toplev.c (toplev::main): Check opt_index if it is a part
index 5da7af3..e8ebd14 100644 (file)
@@ -1 +1 @@
-20211004
+20211005
index 5cf2c48..42525c5 100644 (file)
@@ -1,3 +1,281 @@
+2021-10-04  Justin Squirek  <squirek@adacore.com>
+
+       * 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  <trojanek@adacore.com>
+
+       * 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  <schonberg@adacore.com>
+
+       * 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  <trojanek@adacore.com>
+
+       * 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  <lacambre@adacore.com>
+
+       * 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  <dismukes@adacore.com>
+
+       * 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  <moy@adacore.com>
+
+       * 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  <duff@adacore.com>
+
+       * libgnat/s-regpat.ads: Change Data_First to Data'First. Change
+       "still" to "always".  Similar changes for Data_Last.
+
+2021-10-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sprint.adb (Sprint_Node_Actual): Refactor code for generic
+       package and subprogram declarations.
+
+2021-10-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * 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  <eyraud@adacore.com>
+
+       * scos.ads: Extend the documentation.
+       * par_sco.adb (Process_Decisions): Emit specific SCOs for
+       quantified expressions.
+
+2021-10-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * 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  <moy@adacore.com>
+
+       * libgnat/a-strbou.ads: Add comments.
+
+2021-10-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * 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  <schonberg@adacore.com>
+
+       * 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  <miranda@adacore.com>
+
+       * 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  <duff@adacore.com>
+
+       * 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  <trojanek@adacore.com>
+
+       * sem_res.adb (Resolve_Slice): Fix application of range checks
+       to slice range given as a subtype name.
+
+2021-10-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_res.adb (Resolve_Slice): Handle range given as a subtype
+       indication.
+
+2021-10-04  Piotr Trojanek  <trojanek@adacore.com>
+
+       * 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  <squirek@adacore.com>
+
+       * 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  <ebotcazou@adacore.com>
+
+       * 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  <charlet@adacore.com>
+
+       PR ada/102073
+       * socket.c (__gnat_gethostbyaddr, __gnat_inet_pton): Add missing
+       return statements.
+
+2021-10-04  Justin Squirek  <squirek@adacore.com>
+
+       * sem_util.adb (Function_Or_Allocator_Level): Properly handle
+       direct function calls in the default alternative accessibility
+       checking mode.
+
+2021-10-04  Javier Miranda  <miranda@adacore.com>
+
+       * 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  <squirek@adacore.com>
+
+       * sem_util.adb (Accessibility_Level): Add a case to handle
+       renamed subprograms in addition to renamed objects.
+
+2021-10-04  Doug Rupp  <rupp@adacore.com>
+
+       * 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  <ebotcazou@adacore.com>
+
+       * exp_disp.adb (Make_DT): Copy the Needs_Debug_Info flag from the
+       type onto the TSD object.
+
+2021-10-04  Steve Baird  <baird@adacore.com>
+
+       * 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  <baird@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Indexed_Component): The two improvements
+       described above.
+
 2021-10-01  Bob Duff  <duff@adacore.com>
 
        * exp_ch6.adb (Expand_Call_Helper): Do not call
index 371d821..c064669 100644 (file)
@@ -1,3 +1,10 @@
+2021-10-04  Marek Polacek  <polacek@redhat.com>
+
+       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  <iain@sandoe.co.uk>
 
        * c-format.c: Remove a test of TARGET_FORMAT_TYPES with
index 73f6168..115e883 100644 (file)
@@ -1,3 +1,8 @@
+2021-10-04  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97573
+       * c-typeck.c (parser_build_binary_op): Call do_warn_array_compare.
+
 2021-10-01  Martin Sebor  <msebor@redhat.com>
 
        PR c/102103
index 13559e2..b795a72 100644 (file)
@@ -1,3 +1,8 @@
+2021-10-04  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/97573
+       * typeck.c (cp_build_binary_op): Call do_warn_array_compare.
+
 2021-10-03  Iain Sandoe  <iain@sandoe.co.uk>
 
        PR c++/101765
index 94882e8..ed5db13 100644 (file)
@@ -1,3 +1,14 @@
+2021-10-04  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       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  <ibuclaw@gdcproject.org>
+
+       * d-attribs.cc (d_handle_optimize_attribute): Save target node before
+       calling parse_optimize_options in case it changes.
+
 2021-09-12  Iain Buclaw  <ibuclaw@gdcproject.org>
 
        PR d/102185
index c9a1293..da5d1a2 100644 (file)
@@ -1,3 +1,10 @@
+2021-10-04  Tobias Burnus  <tobias@codesourcery.com>
+
+       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  <msebor@redhat.com>
 
        PR c/102103
index f867d9a..e339cb1 100644 (file)
@@ -1,3 +1,38 @@
+2021-10-04  Marek Polacek  <polacek@redhat.com>
+
+       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  <rguenther@suse.de>
+
+       * gcc.dg/auto-init-hardreg-1.c: New testcase.
+
+2021-10-04  Richard Biener  <rguenther@suse.de>
+
+       * c-c++-common/pr102285.c: New testcase.
+
+2021-10-04  Richard Biener  <rguenther@suse.de>
+
+       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  <aldyh@redhat.com>
+
+       * g++.dg/Walloca2.C: New test.
+
+2021-10-04  Richard Biener  <rguenther@suse.de>
+
+       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  <tobias@codesourcery.com>
+
+       PR fortran/54753
+       * gfortran.dg/assumed_rank_23.f90: New file.
+
 2021-10-03  Iain Sandoe  <iain@sandoe.co.uk>
 
        PR c++/101765
index b753b46..8602c5c 100644 (file)
@@ -1,3 +1,72 @@
+2021-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * 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<bool>): 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  <jwakely@redhat.com>
+
+       * include/std/variant (__detail::__variant::__as): Add missing
+       noexcept to first overload.
+
+2021-10-04  Jonathan Wakely  <jwakely@redhat.com>
+
+       * 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  <jwakely@redhat.com>
 
        * src/c++17/fs_ops.cc (create_directory): Fix typo in enum name.