[clang] [clang] Avoid inheriting [[noreturn]] in explicit function template specializations (PR #150003)
Corentin Jabot via cfe-commits
cfe-commits at lists.llvm.org
Sat Aug 2 01:30:28 PDT 2025
================
@@ -3267,6 +3267,14 @@ void Sema::mergeDeclAttributes(NamedDecl *New, Decl *Old,
if (isa<UsedAttr>(I) || isa<RetainAttr>(I))
continue;
+ if (isa<InferredNoReturnAttr>(I)) {
+ if (auto *FD = dyn_cast<FunctionDecl>(New)) {
+ if (FD->getTemplateSpecializationKind() == TSK_ExplicitSpecialization)
----------------
cor3ntin wrote:
```suggestion
if (auto *FD = dyn_cast<FunctionDecl>(New); FD && FD->getTemplateSpecializationKind() == TSK_ExplicitSpecialization)
```
https://github.com/llvm/llvm-project/pull/150003
More information about the cfe-commits
mailing list