[Bug c/48643] New: Improving -Wuninitialized documentation (4.6.0 missed a bug that 3.4.3 caught)
eggert at gnu dot org
gcc-bugzilla@gcc.gnu.org
Sat Apr 16 19:14:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48643
Summary: Improving -Wuninitialized documentation (4.6.0 missed
a bug that 3.4.3 caught)
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: eggert@gnu.org
I use GCC to catch bugs in Emacs source code involving uninitialized
variables, and found, to my surprise, that GCC 4.6.0 missed a bug that
GCC 3.4.3 caught. It took me a while to figure out what was wrong
with the code, and I'd like to suggest better documentation to warn
programmers about this.
In the Debugging Options node, under -Wuninitialized,
the GCC 4.6.0 manual says this:
Because these warnings depend on optimization, the exact
variables or elements for which there are warnings will depend on
the precise optimization options and version of GCC used.
Could you please improve the documentation by adding the following text?
The warnings detect all local variables that might be used
uninitialized in the code produced by this particular use of GCC,
but they do not necessarily warn about similar problems that
might occur in other compilations. Here is an example:
int
bad_function (int n)
{
int c;
if (n > 0)
c = 0;
return c;
}
If GCC optimizes this function's entire body away to "return 0;",
GCC may not report the possibly-uninitialized variable, even
thought the code may cause problems when the same function is
compiled with lesser optimization or by a different compiler.
More information about the Gcc-bugs
mailing list