diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2026-02-10 19:54:38 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2026-05-29 22:59:37 +0000 |
| commit | 179029b4d82e709f348a6bec2d8e7221664358d9 (patch) | |
| tree | e4ef218707c287aca20b4fa4347f49c5260bf3e3 | |
| parent | e4ec2270fd25cfe7db492ffaba1714d5a5f1aed3 (diff) | |
Merge commit 924f773f5e26 from llvm git (by Younan Zhang):
[Clang] Don't diagnose missing members when looking at the instantiating class template (#180725)
The perfect matching patch revealed another bug where recursive
instantiations could lead to the escape of SFINAE errors, as shown in
the issue.
Fixes https://github.com/llvm/llvm-project/issues/179118
This fixes compile errors in the www/qt5-webengine port.
PR: 292067
MFC after: 1 month
(cherry picked from commit 3fd796204fe6aa2e8a2b70bb9ea95f7497247fa3)
| -rw-r--r-- | contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp b/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp index 5421e9562c8b..ae86c4ce670d 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp @@ -2934,7 +2934,7 @@ ExprResult Sema::BuildQualifiedDeclarationNameExpr( // members were likely supposed to be inherited. DeclContext *DC = computeDeclContext(SS); if (const auto *CD = dyn_cast<CXXRecordDecl>(DC)) - if (CD->isInvalidDecl()) + if (CD->isInvalidDecl() || CD->isBeingDefined()) return ExprError(); Diag(NameInfo.getLoc(), diag::err_no_member) << NameInfo.getName() << DC << SS.getRange(); |
