This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/74762] New: Uncaught Wuninitialized case
- From: "marxin at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 12 Aug 2016 11:29:55 +0000
- Subject: [Bug middle-end/74762] New: Uncaught Wuninitialized case
- Authentication-results: sourceware.org; auth=none
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=74762
Bug ID: 74762
Summary: Uncaught Wuninitialized case
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: marxin at gcc dot gnu.org
Target Milestone: ---
$ cat tc2.c
struct tree2;
struct tree_vector2
{
tree2 *elts[1];
};
struct tree2
{
struct
{
tree_vector2 vector;
} u;
};
int
const_with_all_bytes_same (tree2 *val)
{
int i;
const_with_all_bytes_same ((val->u.vector.elts[i]));
return 1;
}
$ g++ tc2.c -Wuninitialized -c
(empty)
$ clang++ tc2.c -Wuninitialized -c
clang-3.8: warning: treating 'c' input as 'c++' when in C++ mode, this behavior
is deprecated
tc2.c:17:50: warning: variable 'i' is uninitialized when used here
[-Wuninitialized]
const_with_all_bytes_same ((val->u.vector.elts[i]));
^
tc2.c:16:8: note: initialize the variable 'i' to silence this warning
int i;
^
= 0
1 warning generated.
The test-case used to be catch in 4.6.x era.