Hi All,

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.

Bootstrapped Regtested on m-none-linux-gnueabihf and no issues.

committed as obvious.

Thanks,
Tamar

gcc/ChangeLog:

        * config/arm/arm-mve-builtins-base.cc (expand): Initialize new_base.

---
diff --git a/gcc/config/arm/arm-mve-builtins-base.cc 
b/gcc/config/arm/arm-mve-builtins-base.cc
index 
723004b53d7baf8a1a8ffe9b5f58fe0636228704..ef3c504b1b304674ff93b9b0d7c7a5ea2fc501d2
 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)




-- 
diff --git a/gcc/config/arm/arm-mve-builtins-base.cc b/gcc/config/arm/arm-mve-builtins-base.cc
index 723004b53d7baf8a1a8ffe9b5f58fe0636228704..ef3c504b1b304674ff93b9b0d7c7a5ea2fc501d2 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