template struct C1 { template struct C2 { class Type { }; }; }; template void foo(typename C1::C2::Type *) { } // { dg-error "template" "error " } // { dg-message "note" "note" { target *-*-* } 8 }