------- Comment #11 from dodji at gcc dot gnu dot org 2009-12-11 22:12 ------- Hah. It looks like there are several slightly different problems at play here. Apparently I just fixed one of them, which I was the one I narrowed in the reduced test case above. Then I forgot to try my fix on the initial test case attached to the bug. I only tried on the reduced test case. Sorry about that.
Here is, I think, a reduced test case for this particular issue: struct A { static const int i = 1; typedef int TI; }; template<class T0> struct S0 { int i; }; template<class _T, int> struct S1 { typedef _T T; typedef typename T::TI TTI; typedef S0<TTI> TT0; }; template<class T> void foo(const T&) { typedef typename T::TI TTI; typedef S0<TTI> TT1; } int main() { A a; foo (a); } I am currently testing a patch and this time I tested it first on the initial testcase :-) -- dodji at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |ASSIGNED Last reconfirmed|2009-11-30 23:01:09 |2009-12-11 22:12:03 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42225