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

via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 14 04:44:50 PDT 2024


================
@@ -873,30 +877,17 @@ class Sema final : public SemaBase {
   /// Warn when implicitly casting 0 to nullptr.
   void diagnoseZeroToNullptrConversion(CastKind Kind, const Expr *E);
 
-  // ----- function effects ---
+  /// All functions/lambdas/blocks which have bodies and which have a non-empty
+  /// FunctionEffectsRef to be verified.
+  SmallVector<const Decl *> DeclsWithEffectsToVerify;
+  /// The union of all effects present on DeclsWithEffectsToVerify. Conditions
+  /// are all null.
+  FunctionEffectKindSet AllEffectsToVerify;
----------------
Sirraide wrote:

> My understanding of the efforts in this PR is that they are neither a language nor a target, and we don't know yet how it should be handled.

That’s a good point yeah. This is mostly just to put everything effect-related into one place.

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


More information about the cfe-commits mailing list