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).