krisb added inline comments.
================ Comment at: clang/lib/Parse/ParseDecl.cpp:3001 DS.getStorageClassSpec() == clang::DeclSpec::SCS_typedef && - !DS.hasTypeSpecifier() && GetLookAheadToken(1).is(tok::less)) + !DS.hasTypeSpecifier() && NextToken().is(tok::less)) Tok.setKind(tok::identifier); ---------------- It seems to be a change unrelated to the patch. ================ Comment at: clang/lib/Parse/ParseDeclCXX.cpp:1414 // C++03 [temp.explicit] 14.7.2/8: // The usual access checking rules do not apply to names used to specify ---------------- The comment needs to be updated. ================ Comment at: clang/test/CXX/temp/temp.spec/func.spec.cpp:95 +// expected-error@+1 {{is a protected member of}} +template <typename T> class A::B<int> func4() { A::B<A::C> x; } template <typename T> void func5() { + // expected-error@+2 {{is a private member of}} ---------------- Formatting issue here. ================ Comment at: clang/test/CXX/temp/temp.spec/func.spec.cpp:105 +template <typename T> void func10(A::B<T>, int x) {} +template <typename T> void func11(A::C, A::D<T>, int) {} +template <typename T> void func12() {} ---------------- Before this patch clang diagnosed cases like ``` class A { class C {}; }; template <typename T> void func(A::C) {} ``` Why is it no longer the case? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D92024/new/ https://reviews.llvm.org/D92024 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits