Author: Younan Zhang Date: 2025-05-20T09:55:50+08:00 New Revision: 2cea17b0ecf4d0938d19765752f4503e148af499
URL: https://github.com/llvm/llvm-project/commit/2cea17b0ecf4d0938d19765752f4503e148af499 DIFF: https://github.com/llvm/llvm-project/commit/2cea17b0ecf4d0938d19765752f4503e148af499.diff LOG: Revert "[Clang] Profile singly-resolved UnresolvedLookupExpr with the declara…" This reverts commit 858649ad0e2bd4c24d4e577094707a53acfe6ade. Added: Modified: clang/docs/ReleaseNotes.rst clang/lib/AST/StmtProfile.cpp clang/test/SemaTemplate/concepts-out-of-line-def.cpp Removed: ################################################################################ diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index ac9baf229b489..d756f7a3a3f70 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -741,7 +741,6 @@ Bug Fixes to C++ Support - Fixed the handling of pack indexing types in the constraints of a member function redeclaration. (#GH138255) - Clang now correctly parses arbitrary order of ``[[]]``, ``__attribute__`` and ``alignas`` attributes for declarations (#GH133107) - Fixed a crash when forming an invalid function type in a dependent context. (#GH138657) (#GH115725) (#GH68852) -- Fixed a function declaration mismatch that caused inconsistencies between concepts and variable template declarations. (#GH139476) - Clang no longer segfaults when there is a configuration mismatch between modules and their users (http://crbug.com/400353616). - Fix an incorrect deduction when calling an explicit object member function template through an overload set address. - Fixed bug in constant evaluation that would allow using the value of a diff --git a/clang/lib/AST/StmtProfile.cpp b/clang/lib/AST/StmtProfile.cpp index 19db338f760ba..f7d1655f67ed1 100644 --- a/clang/lib/AST/StmtProfile.cpp +++ b/clang/lib/AST/StmtProfile.cpp @@ -2189,10 +2189,7 @@ StmtProfiler::VisitCXXPseudoDestructorExpr(const CXXPseudoDestructorExpr *S) { void StmtProfiler::VisitOverloadExpr(const OverloadExpr *S) { VisitExpr(S); - if (S->getNumDecls() == 1) - VisitDecl(*S->decls_begin()); - else - VisitNestedNameSpecifier(S->getQualifier()); + VisitNestedNameSpecifier(S->getQualifier()); VisitName(S->getName(), /*TreatAsDecl*/ true); ID.AddBoolean(S->hasExplicitTemplateArgs()); if (S->hasExplicitTemplateArgs()) diff --git a/clang/test/SemaTemplate/concepts-out-of-line-def.cpp b/clang/test/SemaTemplate/concepts-out-of-line-def.cpp index bf505dec0ca14..e5d00491d3fb8 100644 --- a/clang/test/SemaTemplate/concepts-out-of-line-def.cpp +++ b/clang/test/SemaTemplate/concepts-out-of-line-def.cpp @@ -853,18 +853,3 @@ template <int... Ts> requires C<Ts...[0]> auto TplClass<int>::buggy() -> void {} } - -namespace GH139476 { - -namespace moo { - template <typename T> - constexpr bool baa = true; - - template <typename T> requires baa<T> - void caw(); -} - -template <typename T> requires moo::baa<T> -void moo::caw() {} - -} _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits