[clang] nonblocking/nonallocating attributes: 2nd pass caller/callee analysis (PR #99656)
Doug Wyatt via cfe-commits
cfe-commits at lists.llvm.org
Thu Sep 26 07:42:46 PDT 2024
================
@@ -8413,6 +8418,15 @@ void ASTReader::InitializeSema(Sema &S) {
NewOverrides.applyOverrides(SemaObj->getLangOpts());
}
+ for (GlobalDeclID ID : DeclsWithEffectsToVerify) {
+ Decl *D = GetDecl(ID);
+ if (auto *FD = dyn_cast<FunctionDecl>(D))
+ SemaObj->addDeclWithEffects(FD, FD->getFunctionEffects());
+ else if (auto *BD = dyn_cast<BlockDecl>(D))
+ SemaObj->addDeclWithEffects(BD, BD->getFunctionEffects());
+ }
----------------
dougsonos wrote:
I'll make it `llvm_unreachable` (according to its docs:
```
/// Use this instead of assert(0). It conveys intent more clearly, suppresses
/// diagnostics for unreachable code paths, and allows compilers to omit
/// unnecessary code.
```
https://github.com/llvm/llvm-project/pull/99656
More information about the cfe-commits
mailing list