This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/33802] g++ says `z' is used uninitialized but this is not true
- From: "manu at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 22 Dec 2007 18:02:52 -0000
- Subject: [Bug c++/33802] g++ says `z' is used uninitialized but this is not true
- References: <bug-33802-1710@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from manu at gcc dot gnu dot org 2007-12-22 18:02 -------
(In reply to comment #1)
> Created an attachment (id=14366)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14366&action=view) [edit]
> (Big) testcase that allows to reproduce
>
I can't compile the testcase with cc1plus 4.3 revision 130379. I get a lot of
warnings and a few errors. Perhaps I need to include something else ?
Anyway, the relevant SSA is:
# BLOCK 195, starting at line 37941
# PRED: 194 (true)
<L168>:;
# VUSE <zD.225363_219>;
[/home/manuel/src/pr33802.C : 37941] z.1689D.225422_240 = zD.225363;
[/home/manuel/src/pr33802.C : 37941] *toD.225359_119 = z.1689D.225422_240;
[/home/manuel/src/pr33802.C : 37942] D.225423_241 = rD.225364_141;
goto <bb 213> (<L186>);
# SUCC: 213 (fallthru)
Wuninitialized cannot handle virtual operands, so it doesn't understand that z
could have been initialized. Funny enough, this is exactly the opposite of bug
179 but both SSA dumps look very similar. I really don't understand why we warn
in one case and not in the other.
By the way, what does
# VUSE <zD.225363_219>;
exactly means? I cannot find any other mention of zD.225363_219.
--
manu at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2007-12-22 18:02:52
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33802