This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/24351] [4.1 Regression] ICE in do_simple_structure_copy with some C++ code



------- Comment #8 from dberlin at gcc dot gnu dot org  2005-10-24 12:55 -------
Subject: Re:  [4.1 Regression] ICE in
        do_simple_structure_copy with some C++ code

On Mon, 2005-10-24 at 11:55 +0000, rguenth at gcc dot gnu dot org wrote:
> 
> ------- Comment #7 from rguenth at gcc dot gnu dot org  2005-10-24 11:55 -------
> All of the fixes are wrong.  The only safe thing papering over the problem is
> disallowing this case with

If you look, you'll note that while the assignments have the same type,
one is embedded in a structure and the other isn't.

If you stare at that structure it is embedded in, you'll discover the
empty base for one of the classes seems to appear twice, which is where
we get the fullsize of 16.

Thus, we end up with an extra "field" on one side of the assignment.

We reasonably expect that an assignment between two of the same types
will have the same fields on both sides.

This is really another effect of the problem in 24288, AFAICT.  The
empty base for struct adaptor_base appears twice in one of the
structures, even though it's "not really there" twice.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24351


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]