This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/42713] [4.5 Regression] ICE - segfault in tsubst
- From: "dodji at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Jan 2010 14:39:58 -0000
- Subject: [Bug c++/42713] [4.5 Regression] ICE - segfault in tsubst
- References: <bug-42713-11764@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from dodji at gcc dot gnu dot org 2010-01-14 14:39 -------
Here is a smaller reproducer:
template<class T>
struct S
{
};
template<class T>
struct S0
{
typedef T TT;
};
template<class U, class V>
struct super_struct : S0<V>
{
typedef S0<V> super;
};
template<class U, class V, class W>
struct S1 : super_struct<U, V>
{
typedef super_struct<U, V> super;
typedef typename super::super Super2;
typedef typename Super2::TT Super2TT;
void
foo()
{
S<Super2TT> s1;
}
};
template<class U, class V>
struct S2 : super_struct<U, V>
{
typedef super_struct<U, V> super;
typedef typename super::super Super2;
typedef typename Super2::TT Super2TT;
void
foo()
{
S<Super2TT> s1;
}
};
int
main()
{
S1<int, S<int>, int> s1;
s1.foo();
S2<int, S<int> > s2;
s2.foo();
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42713