Hi, I'm adding the testcase and closing the PR. Tested x86_64-linux.
Thanks, Paolo. /////////////////////////////
2012-10-04 Paolo Carlini <paolo.carl...@oracle.com> PR c++/53403 * g++.dg/template/friend53.C
Index: g++.dg/template/friend53.C =================================================================== --- g++.dg/template/friend53.C (revision 0) +++ g++.dg/template/friend53.C (working copy) @@ -0,0 +1,23 @@ +// PR c++/53403 + +template <typename T> +class Foo +{ + typedef void type; + template <typename U> friend void f(); +public: + Foo() {} +}; + +template class Foo<void>; + +template <typename T> +void f() +{ + typedef Foo<void>::type type; +} + +int main() +{ + f<void>(); +}