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

Doug Wyatt via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 14 07:49:25 PDT 2024


================
@@ -953,6 +953,9 @@ class ASTReader
   /// Sema tracks these to emit deferred diags.
   llvm::SmallSetVector<GlobalDeclID, 4> DeclsToCheckForDeferredDiags;
 
+  /// The IDs of all decls with function effects to be checked.
+  SmallVector<GlobalDeclID, 0> DeclsWithEffectsToVerify;
----------------
dougsonos wrote:

My original implementation made a separate complete AST traversal to find all of the Decls to verify. I think it was @rjmccall who suggested the current approach of building a list as they are encountered. IIRC he mentioned at that time that the list would have to be serialized as part of the AST, to properly support situations where a precompiled header defines a function with an effect that needs verifying.

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


More information about the cfe-commits mailing list