This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/13954] [tree-ssa] SRA does not work for classes that use inheritance
- From: "rth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 29 Jun 2004 21:38:48 -0000
- Subject: [Bug c++/13954] [tree-ssa] SRA does not work for classes that use inheritance
- References: <20040131211533.13954.dann@godzilla.ics.uci.edu>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From rth at gcc dot gnu dot org 2004-06-29 21:38 -------
Well, no I'm not. This is a different problem than I thought.
This is the case of the C++ front end wanting to perform a block copy between
two structures, but *without* copying the trailing padding of the structure.
It decides that the best way to do this is to cast the two structures to an
internal type that doesn't include the padding.
Presumably this is to handle cases in which someone else inherits from
"teststruct", and reuses the tail padding. As inheritence is allowed to do.
I almost think that just using __builtin_memcpy would be a better representation,
but that wouldn't have any effect on the scalarizability of this test case.
At least yet.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |rth at gcc dot gnu dot org
AssignedTo|rth at gcc dot gnu dot org |unassigned at gcc dot gnu
| |dot org
Status|ASSIGNED |NEW
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13954