From 3fd796204fe6aa2e8a2b70bb9ea95f7497247fa3 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Tue, 10 Feb 2026 20:54:38 +0100 Subject: 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 --- contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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(DC)) - if (CD->isInvalidDecl()) + if (CD->isInvalidDecl() || CD->isBeingDefined()) return ExprError(); Diag(NameInfo.getLoc(), diag::err_no_member) << NameInfo.getName() << DC << SS.getRange(); -- cgit v1.3