This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix C++/21645, ICE in cxx_types_compatible_p
- From: Andrew Pinski <pinskia at physics dot uc dot edu>
- To: Andrew Pinski <pinskia at physics dot uc dot edu>
- Cc: "gcc-patches at gcc dot gnu dot org Patches" <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 20 May 2005 18:16:50 -0400
- Subject: Re: [PATCH] Fix C++/21645, ICE in cxx_types_compatible_p
- References: <10980307f9a63a6f51bad346757c4ed8@physics.uc.edu>
On May 20, 2005, at 6:14 PM, Andrew Pinski wrote:
The problem here is that when we clone a function, we forget to copy
the correct type for the arguments so we get a crash when we copy
the body of the function as we are creating an INDIRECT_REF of a record
type which is just wrong.
This patch updates the TYPE of the parameters before the copying
happens.
Oh, here is the testcase which fails before but passes after the patch:
struct color {
~color();
};
struct style {
color col;
style (color);
};
style::style(color c)
: col(c)
{
}
Thanks,
Andrew Pinski