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)