This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/34470] [4.3.0 regression] spurious "is used uninitialized" from auto_ptr
- From: "zackw at panix dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Dec 2007 21:33:02 -0000
- Subject: [Bug c++/34470] [4.3.0 regression] spurious "is used uninitialized" from auto_ptr
- References: <bug-34470-37@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from zackw at panix dot com 2007-12-14 21:33 -------
Ooh, it gets worse. The spurious diagnostic is a symptom of an incorrect
optimization. In normal control flow, the result of get_hash is assigned to a
synthetic variable, D.13336, and that variable is used to call operator delete
in basic block 14. However, an exception might transfer control to label L1
(not a basic block?!) which calls operator delete on hash$_M_ptr, which has
never been initialized.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34470