[clang] [Clang][Sema] Disable checking invalid template id in initializer of primary variable template `std::format_kind` with libstdc++ (PR #139560)
via cfe-commits
cfe-commits at lists.llvm.org
Mon May 12 08:25:14 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: Yanzuo Liu (zwuis)
<details>
<summary>Changes</summary>
Fixes #<!-- -->139067
---
Full diff: https://github.com/llvm/llvm-project/pull/139560.diff
1 Files Affected:
- (modified) clang/lib/Sema/SemaTemplate.cpp (+5)
``````````diff
diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp
index 7940340064eda..19142d7c16abb 100644
--- a/clang/lib/Sema/SemaTemplate.cpp
+++ b/clang/lib/Sema/SemaTemplate.cpp
@@ -4383,6 +4383,11 @@ Sema::CheckVarTemplateId(VarTemplateDecl *Template, SourceLocation TemplateLoc,
};
if (VarDecl *Var = Template->getTemplatedDecl();
+ // Skipping std::format_kind in libstdc++ is a hack for
+ // GH139067 / https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120190
+ !(Var->getName() == "format_kind" &&
+ Var->getDeclContext()->isStdNamespace() &&
+ PP.isMacroDefined("__GLIBCXX__")) &&
ParsingInitForAutoVars.count(Var) &&
llvm::equal(
CTAI.CanonicalConverted,
``````````
</details>
https://github.com/llvm/llvm-project/pull/139560
More information about the cfe-commits
mailing list