From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4090 invoked by alias); 25 Aug 2004 21:13:27 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 4071 invoked by uid 48); 25 Aug 2004 21:13:26 -0000 Date: Wed, 25 Aug 2004 21:13:00 -0000 From: "nomura at netapp dot com" To: gcc-bugs@gcc.gnu.org Message-ID: <20040825211324.17191.nomura@netapp.com> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c/17191] New: address taken prevents uninitialized variable warning X-Bugzilla-Reason: CC X-SW-Source: 2004-08/txt/msg02683.txt.bz2 List-Id: Compiling this code with -O -Wall should warn that "i" is used without being initialized. The presence of "p = &i" stops this warning from being issued, but the address is not exposed in a way that could affect i. (No path from the address taken to the use, and the variable is local). If the uninit warning could be strengthened it would have real benefits. -- Source code: int *p; void foo () { int i; if (i < 100) return; p = &i; } -- Command line: [gecko]$ xgcc-3.4 -v -c -O2 a.c -Wall -Werror Reading specs from /u/nomura/dl/gcc-3.4.1_linux/gcc/specs Configured with: ../gcc-3.4.1/configure --enable-languages=c,c++ --prefix=/x/sim/nomura/root.linux/gcc-3.4.1 Thread model: posix gcc version 3.4.1 /u/nomura/dl/gcc-3.4.1_linux/gcc/cc1 -quiet -v -iprefix /u/nomura/dl/gcc-3.4.1_linux/gcc/../lib/gcc/i686-pc-linux-gnu/3.4.1/ -isystem /u/nomura/dl/gcc-3.4.1_linux/gcc/include a.c -quiet -dumpbase a.c -mtune=pentiumpro -auxbase a -O2 -Wall -Werror -version -o /tmp/ccN7EB39.s ignoring nonexistent directory "/u/nomura/dl/gcc-3.4.1_linux/gcc/../lib/gcc/i686-pc-linux-gnu/3.4.1/include" ignoring nonexistent directory "/u/nomura/dl/gcc-3.4.1_linux/gcc/../lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/include" ignoring nonexistent directory "/x/sim/nomura/root.linux/gcc-3.4.1/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /u/nomura/dl/gcc-3.4.1_linux/gcc/include /usr/local/include /x/sim/nomura/root.linux/gcc-3.4.1/include /x/sim/nomura/root.linux/gcc-3.4.1/lib/gcc/i686-pc-linux-gnu/3.4.1/include /usr/include End of search list. GNU C version 3.4.1 (i686-pc-linux-gnu) compiled by GNU C version 3.2 20020903 (Red Hat Linux 8.0 3.2-7). GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 /x/sim/nomura/root.linux/gcc-3.4.1/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/bin/as --traditional-format -V -Qy -o a.o /tmp/ccN7EB39.s GNU assembler version 2.15 (i686-pc-linux-gnu) using BFD version 2.15 [gecko]$ -- Summary: address taken prevents uninitialized variable warning Product: gcc Version: 3.4.1 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: nomura at netapp dot com CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17191