------- Comment #3 from pinskia at gcc dot gnu dot org 2006-04-16 23:13 ------- Confirmed, reduced testcase: template <class T, class U> struct Conversion { static T a; enum { exists = sizeof((U)(a)) }; }; template<class T,class U> struct SuperSubclassStrict { enum { value = (Conversion<U*, T*>::exists)}; }; struct IObject { virtual unsigned long A(void) = 0; }; struct IFoo : IObject{}; struct IBar : IObject {}; struct Component : IFoo, IBar { }; struct Event : Component { static const int t = SuperSubclassStrict<IBar, Event>::value; };
-- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|major |normal Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 GCC build triplet|i686-pc-linux-gnu | GCC host triplet|i686-pc-linux-gnu | GCC target triplet|i686-pc-linux-gnu, arm-non- | |linux-gnueabi | Last reconfirmed|0000-00-00 00:00:00 |2006-04-16 23:13:40 date| | Summary|ICE in |[4.0/4.1/4.2 Regression] ICE |build_simple_base_path, at |in build_simple_base_path, |cp/class.c:474 |at cp/class.c:474 Target Milestone|--- |4.0.4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27177