re PR c++/21645 (C++ ICE in cxx_types_compatible_p)

2005-05-24  Andrew Pinski  <pinskia@physics.uc.edu>

        PR C++/21645
        * g++.dg/init/ctor5.C: New test.

2005-05-24  Andrew Pinski  <pinskia@physics.uc.edu>

        PR C++/21645
        * optimize.c (update_cloned_parm): Copy the TYPE also from the
        original one.

From-SVN: r100106
This commit is contained in:
Andrew Pinski 2005-05-24 19:06:20 +00:00 committed by Andrew Pinski
parent 9af0df6b3b
commit e777303ff4
4 changed files with 29 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2005-05-24 Andrew Pinski <pinskia@physics.uc.edu>
PR C++/21645
* optimize.c (update_cloned_parm): Copy the TYPE also from the
original one.
2005-05-19 Jakub Jelinek <jakub@redhat.com>
PR c++/21495

View File

@ -68,6 +68,7 @@ update_cloned_parm (tree parm, tree cloned_parm)
/* The name may have changed from the declaration. */
DECL_NAME (cloned_parm) = DECL_NAME (parm);
DECL_SOURCE_LOCATION (cloned_parm) = DECL_SOURCE_LOCATION (parm);
TREE_TYPE (cloned_parm) = TREE_TYPE (parm);
}
/* FN is a function that has a complete body. Clone the body as

View File

@ -1,3 +1,8 @@
2005-05-24 Andrew Pinski <pinskia@physics.uc.edu>
PR C++/21645
* g++.dg/init/ctor5.C: New test.
2005-05-24 Ira Rosen <irar@il.ibm.com>
* gcc.dg/vect/vect-none.c: Split into vect-106.c, vect-107.c,

View File

@ -0,0 +1,17 @@
// PR C++/21645
// We were crashing because we forgot to update the type for
// the cloned argument for the cloned ctor.
struct color {
~color();
};
struct style {
color col;
style (color);
};
style::style(color c)
: col(c)
{
}