https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115840

            Bug ID: 115840
           Summary: RISC-V with V:‘({anonymous})’ may be used
                    uninitialized
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: syq at gcc dot gnu.org
  Target Milestone: ---

When I build glibc with V extension enabled, I get such a error

../sysdeps/unix/sysv/linux/getloadavg.c: In function ‘getloadavg’:
../sysdeps/unix/sysv/linux/getloadavg.c:43:41: error: ‘({anonymous})’ may be
used uninitialized [-Werror=maybe-uninitialized]
   43 |     loadavg[i] = (double) info.loads[i] / SYSINFO_LOADS_SCALE;
      |                                         ^
../sysdeps/unix/sysv/linux/getloadavg.c:33:1: note: ‘({anonymous})’ was
declared here
   33 | getloadavg (double loadavg[], int nelem)
      | ^~~~~~~~~~
cc1: all warnings being treated as errors



The cmdline is

/home/syq/gcc/build-rv/gcc/xgcc -B/home/syq/gcc/build-rv/gcc
-B/usr/riscv64-linux-gnu -march=rv64imafdcv
../sysdeps/unix/sysv/linux/getloadavg.c -c -std=gnu11 -fgnu89-inline  -g -O2
-Wall -Wwrite-strings -Wundef -Werror -fmerge-all-constants -frounding-math
-fno-stack-protector -fno-common -Wp,-U_FORTIFY_SOURCE -Wstrict-prototypes
-Wold-style-definition -fmath-errno    -fPIE     -ftls-model=initial-exec    
-I../include -I/home/syq/glibc/build-rv/misc  -I/home/syq/glibc/build-rv 
-I../sysdeps/unix/sysv/linux/riscv/rv64 
-I../sysdeps/unix/sysv/linux/riscv/include -I../sysdeps/unix/sysv/linux/riscv 
-I../sysdeps/riscv/nptl  -I../sysdeps/unix/sysv/linux/wordsize-64 
-I../sysdeps/unix/sysv/linux/riscv/multiarch 
-I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux 
-I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu 
-I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix 
-I../sysdeps/posix  -I../sysdeps/riscv/rv64/rvd  -I../sysdeps/riscv/rv64/rvf 
-I../sysdeps/riscv/rvf  -I../sysdeps/riscv/rvd  -I../sysdeps/riscv/rv64 
-I../sysdeps/riscv/multiarch  -I../sysdeps/riscv  -I../sysdeps/ieee754/ldbl-128
 -I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32 
-I../sysdeps/wordsize-64  -I../sysdeps/ieee754  -I../sysdeps/generic  -I..
-I../libio -I.  -D_LIBC_REENTRANT -include
/home/syq/glibc/build-rv/libc-modules.h -DMODULE_NAME=libc -include
../include/libc-symbols.h  -DPIC     -DTOP_NAMESPACE=glibc -o
/home/syq/glibc/build-rv/misc/getloadavg.o -MD -MP -MF
/home/syq/glibc/build-rv/misc/getloadavg.o.dt -MT
/home/syq/glibc/build-rv/misc/getloadavg.o



I tested with GCC14.1 and current master, both of them have this problem.


If I use `-march=rv64imafdcv`, the problem won't happen.

Reply via email to