This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/13005] [3.3/3.4 Regresssion] [aliasing] Pointer wrongly adjusted for derived class containing virtual function
- From: "nathan at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 31 Dec 2003 09:55:16 -0000
- Subject: [Bug c++/13005] [3.3/3.4 Regresssion] [aliasing] Pointer wrongly adjusted for derived class containing virtual function
- References: <20031111075141.13005.stephenma@telus.net>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From nathan at gcc dot gnu dot org 2003-12-31 09:55 -------
Base is at a non-zero offset in Derived, due to an *optimization* of the ABI.
Does the ARM have the new-style casts at all? I don't have a copy of it, but my
C++ Primer (2nd ed) does not appear to list them.
One solution might be to mark incomplete types that have been old-style casted
between, and then issue a warning if it later turns out that there is an
inheritance relationship between them. That would be an enhancement
g++ will not change to make such old-style casts of incomplete types do an
adjustment.
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|critical |enhancement
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13005