roberteg16 updated this revision to Diff 431451. roberteg16 added a comment.
Fix wrongly moved clang-format disabling comment when trying to fix clang-format Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D126172/new/ https://reviews.llvm.org/D126172 Files: clang/lib/AST/TemplateBase.cpp clang/test/CXX/dcl/dcl.fct/p17.cpp Index: clang/test/CXX/dcl/dcl.fct/p17.cpp =================================================================== --- clang/test/CXX/dcl/dcl.fct/p17.cpp +++ clang/test/CXX/dcl/dcl.fct/p17.cpp @@ -257,4 +257,23 @@ static_assert(is_same_v<decltype(S2(1)), S2>); // expected-error@-1{{no matching}} static_assert(is_same_v<decltype(S2('a')), S2>); -} + + template <typename T> struct S3 {}; + // expected-note@-1 {{'S3' declared here}} + // expected-note@-2 {{template is declared here}} + // clang-format off + void f23(C2<::S3> auto); + // expected-error@-1 {{no template named 'S3' in the global namespace; did you mean simply 'S3'?}} + // expected-error@-2 {{use of class template '::S3' requires template arguments}} + // clang-format on + } // namespace constrained + + template <typename T> struct S4 {}; + // expected-note@-1 {{template is declared here}} + + namespace constrained { + // clang-format off + void f24(C2<::S4> auto); + // expected-error@-1 {{use of class template '::S4' requires template arguments}} + // clang-format on + } // namespace constrained Index: clang/lib/AST/TemplateBase.cpp =================================================================== --- clang/lib/AST/TemplateBase.cpp +++ clang/lib/AST/TemplateBase.cpp @@ -370,7 +370,8 @@ case Template: case TemplateExpansion: - return TemplateArg.Name == Other.TemplateArg.Name && + return getAsTemplateOrTemplatePattern().getAsTemplateDecl() == + Other.getAsTemplateOrTemplatePattern().getAsTemplateDecl() && TemplateArg.NumExpansions == Other.TemplateArg.NumExpansions; case Declaration:
Index: clang/test/CXX/dcl/dcl.fct/p17.cpp =================================================================== --- clang/test/CXX/dcl/dcl.fct/p17.cpp +++ clang/test/CXX/dcl/dcl.fct/p17.cpp @@ -257,4 +257,23 @@ static_assert(is_same_v<decltype(S2(1)), S2>); // expected-error@-1{{no matching}} static_assert(is_same_v<decltype(S2('a')), S2>); -} + + template <typename T> struct S3 {}; + // expected-note@-1 {{'S3' declared here}} + // expected-note@-2 {{template is declared here}} + // clang-format off + void f23(C2<::S3> auto); + // expected-error@-1 {{no template named 'S3' in the global namespace; did you mean simply 'S3'?}} + // expected-error@-2 {{use of class template '::S3' requires template arguments}} + // clang-format on + } // namespace constrained + + template <typename T> struct S4 {}; + // expected-note@-1 {{template is declared here}} + + namespace constrained { + // clang-format off + void f24(C2<::S4> auto); + // expected-error@-1 {{use of class template '::S4' requires template arguments}} + // clang-format on + } // namespace constrained Index: clang/lib/AST/TemplateBase.cpp =================================================================== --- clang/lib/AST/TemplateBase.cpp +++ clang/lib/AST/TemplateBase.cpp @@ -370,7 +370,8 @@ case Template: case TemplateExpansion: - return TemplateArg.Name == Other.TemplateArg.Name && + return getAsTemplateOrTemplatePattern().getAsTemplateDecl() == + Other.getAsTemplateOrTemplatePattern().getAsTemplateDecl() && TemplateArg.NumExpansions == Other.TemplateArg.NumExpansions; case Declaration:
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits