[clang] nonblocking/nonallocating attributes: 2nd pass caller/callee analysis (PR #99656)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Thu Sep 26 06:34:13 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());
+  }
----------------
erichkeane wrote:

Are we expecting anything else to make it into this list?  Should there be an 'else assert' here? 

https://github.com/llvm/llvm-project/pull/99656


More information about the cfe-commits mailing list