https://gcc.gnu.org/g:7b5599dbd75fe1ee7d861d4cfc6ea655a126bef3

commit r15-6262-g7b5599dbd75fe1ee7d861d4cfc6ea655a126bef3
Author: Tamar Christina <tamar.christ...@arm.com>
Date:   Sun Dec 15 13:21:44 2024 +0000

    arm: fix bootstrap after MVE changes
    
    The recent commits for MVE on Saturday have broken armhf bootstrap due to a
    -Werror false positive:
    
        inlined from 'virtual rtx_def* 
{anonymous}::vstrq_scatter_base_impl::expand(arm_mve::function_expander&) 
const' at /gcc/config/arm/arm-mve-builtins-base.cc:352:17:
    ./genrtl.h:38:16: error: 'new_base' may be used uninitialized 
[-Werror=maybe-uninitialized]
       38 |   XEXP (rt, 1) = arg1;
    /gcc/config/arm/arm-mve-builtins-base.cc: In member function 'virtual 
rtx_def* 
{anonymous}::vstrq_scatter_base_impl::expand(arm_mve::function_expander&) 
const':
    /gcc/config/arm/arm-mve-builtins-base.cc:311:26: note: 'new_base' was 
declared here
      311 |     rtx insns, base_ptr, new_base;
          |                          ^~~~~~~~
    In function 'rtx_def* init_rtx_fmt_ee(rtx, machine_mode, rtx, rtx)',
        inlined from 'rtx_def* gen_rtx_fmt_ee_stat(rtx_code, machine_mode, rtx, 
rtx)' at ./genrtl.h:50:26,
        inlined from 'virtual rtx_def* 
{anonymous}::vldrq_gather_base_impl::expand(arm_mve::function_expander&) const' 
at /gcc/config/arm/arm-mve-builtins-base.cc:527:17:
    ./genrtl.h:38:16: error: 'new_base' may be used uninitialized 
[-Werror=maybe-uninitialized]
       38 |   XEXP (rt, 1) = arg1;
    /gcc/config/arm/arm-mve-builtins-base.cc: In member function 'virtual 
rtx_def* 
{anonymous}::vldrq_gather_base_impl::expand(arm_mve::function_expander&) const':
    /gcc/config/arm/arm-mve-builtins-base.cc:486:26: note: 'new_base' was 
declared here
      486 |     rtx insns, base_ptr, new_base;
    
    To fix it I just initialize the value.
    
    gcc/ChangeLog:
    
            * config/arm/arm-mve-builtins-base.cc (expand): Initialize new_base.

Diff:
---
 gcc/config/arm/arm-mve-builtins-base.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/config/arm/arm-mve-builtins-base.cc 
b/gcc/config/arm/arm-mve-builtins-base.cc
index 723004b53d7b..ef3c504b1b30 100644
--- a/gcc/config/arm/arm-mve-builtins-base.cc
+++ b/gcc/config/arm/arm-mve-builtins-base.cc
@@ -308,7 +308,7 @@ public:
   rtx expand (function_expander &e) const override
   {
     insn_code icode;
-    rtx insns, base_ptr, new_base;
+    rtx insns, base_ptr, new_base = NULL_RTX;
     machine_mode base_mode;
 
     if ((e.mode_suffix_id != MODE_none)
@@ -483,7 +483,7 @@ public:
   rtx expand (function_expander &e) const override
   {
     insn_code icode;
-    rtx insns, base_ptr, new_base;
+    rtx insns, base_ptr, new_base = NULL_RTX;
     machine_mode base_mode;
 
     if ((e.mode_suffix_id != MODE_none)

Reply via email to