[gcc(refs/vendors/riscv/heads/gcc-14-with-riscv-opts)] [committed] [RISC-V] Fix false-positive uninitialized variable

Jeff Law law@gcc.gnu.org
Mon Jun 10 13:09:33 GMT 2024


https://gcc.gnu.org/g:e0a5507e6888f85e2ff53aff76c67293890bed85

commit e0a5507e6888f85e2ff53aff76c67293890bed85
Author: Jeff Law <jlaw@ventanamicro.com>
Date:   Sun Jun 9 09:17:55 2024 -0600

    [committed] [RISC-V] Fix false-positive uninitialized variable
    
    Andreas noted we were getting an uninit warning after the recent constant
    synthesis changes.  Essentially there's no way for the uninit analysis code to
    know the first entry in the CODES array is a UNKNOWN which will set X before
    its first use.
    
    So trivial initialization with NULL_RTX is the obvious fix.
    
    Pushed to the trunk.
    
    gcc/
    
            * config/riscv/riscv.cc (riscv_move_integer): Initialize "x".
    
    (cherry picked from commit 932c6f8dd8859afb13475c2de466bd1a159530da)

Diff:
---
 gcc/config/riscv/riscv.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc
index 95f3636f8e4..c17141d909a 100644
--- a/gcc/config/riscv/riscv.cc
+++ b/gcc/config/riscv/riscv.cc
@@ -2720,7 +2720,7 @@ riscv_move_integer (rtx temp, rtx dest, HOST_WIDE_INT value,
   struct riscv_integer_op codes[RISCV_MAX_INTEGER_OPS];
   machine_mode mode;
   int i, num_ops;
-  rtx x;
+  rtx x = NULL_RTX;
 
   mode = GET_MODE (dest);
   /* We use the original mode for the riscv_build_integer call, because HImode


More information about the Gcc-cvs mailing list