public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/114789] New: False positive -Wmaybe-uninitialized at -O2
@ 2024-04-20 20:45 jb999 at gmx dot de
0 siblings, 0 replies; only message in thread
From: jb999 at gmx dot de @ 2024-04-20 20:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114789
Bug ID: 114789
Summary: False positive -Wmaybe-uninitialized at -O2
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: jb999 at gmx dot de
Target Milestone: ---
This test case produces a false positive -Wmaybe-uninitialized warning with
PARTS set to 2 or higher, but not with PARTS set to 1 or at -O instead of -O2:
#include <string.h>
#define PARTS 2
void foo(void **);
void grab (char *line)
{
void *item[1];
unsigned int part = 1;
do
{
while (*line && *line == ' ') line++;
if (part == 1) item[0] = line;
while (*line && *line != ' ') line++;
}
while (++part <= PARTS);
if (*line) *line++ = 0;
if (strlen(item[0])) foo(item);
}
Output:
Using built-in specs.
COLLECT_GCC=/tmp/gcc14/usr/bin/gcc
Target: i686-pc-linux-gnu
Configured with: /tmp/gcc/configure --prefix=/tmp/gcc14/usr
--sysconfdir=/tmp/gcc14/etc --sharedstatedir=/tmp/gcc14/var/state
--localstatedir=/tmp/gcc14/var/state --enable-shared --disable-static
--disable-nls --enable-languages=c,c++ --with-system-zlib --disable-multilib
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 14.0.1 20240416 (experimental) (GCC)
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-O2' '-Wuninitialized' '-c'
'-mtune=generic' '-march=pentiumpro'
/tmp/gcc14/usr/libexec/gcc/i686-pc-linux-gnu/14.0.1/cc1 -E -quiet -v
testcase.c -mtune=generic -march=pentiumpro -Wuninitialized -O2
-fpch-preprocess -o testcase.i
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory
"/tmp/gcc14/usr/lib/gcc/i686-pc-linux-gnu/14.0.1/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/tmp/gcc14/usr/lib/gcc/i686-pc-linux-gnu/14.0.1/include
/tmp/gcc14/usr/include
/tmp/gcc14/usr/lib/gcc/i686-pc-linux-gnu/14.0.1/include-fixed
/usr/include
End of search list.
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-O2' '-Wuninitialized' '-c'
'-mtune=generic' '-march=pentiumpro'
/tmp/gcc14/usr/libexec/gcc/i686-pc-linux-gnu/14.0.1/cc1 -fpreprocessed
testcase.i -quiet -dumpbase testcase.c -dumpbase-ext .c -mtune=generic
-march=pentiumpro -O2 -Wuninitialized -version -o testcase.s
GNU C17 (GCC) version 14.0.1 20240416 (experimental) (i686-pc-linux-gnu)
compiled by GNU C version 14.0.1 20240416 (experimental), GMP version
6.0.0, MPFR version 3.1.3-p4, MPC version 1.0.3, isl version none
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 2da1b27980967f452f520dd3eb2f4c0a
testcase.c: In function 'grab':
testcase.c:23:18: warning: 'item' may be used uninitialized
[-Wmaybe-uninitialized]
23 | if (strlen(item[0])) foo(item);
| ~~~~^~~
testcase.c:9:9: note: 'item' declared here
9 | void *item[1];
| ^~~~
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-O2' '-Wuninitialized' '-c'
'-mtune=generic' '-march=pentiumpro'
as -v --32 -o testcase.o testcase.s
GNU assembler version 2.29.1 (i686-pc-linux-gnu) using BFD version (GNU
Binutils) 2.29.1
COMPILER_PATH=/tmp/gcc14/usr/libexec/gcc/i686-pc-linux-gnu/14.0.1/:/tmp/gcc14/usr/libexec/gcc/i686-pc-linux-gnu/14.0.1/:/tmp/gcc14/usr/libexec/gcc/i686-pc-linux-gnu/:/tmp/gcc14/usr/lib/gcc/i686-pc-linux-gnu/14.0.1/:/tmp/gcc14/usr/lib/gcc/i686-pc-linux-gnu/
LIBRARY_PATH=/tmp/gcc14/usr/lib/gcc/i686-pc-linux-gnu/14.0.1/:/tmp/gcc14/usr/lib/gcc/i686-pc-linux-gnu/14.0.1/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-O2' '-Wuninitialized' '-c'
'-mtune=generic' '-march=pentiumpro'
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-04-20 20:45 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-20 20:45 [Bug c/114789] New: False positive -Wmaybe-uninitialized at -O2 jb999 at gmx dot de
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).