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

Doug Wyatt via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 15 11:32:07 PDT 2024


================
@@ -15012,6 +14992,12 @@ class Sema final : public SemaBase {
     return hasAcceptableDefinition(D, &Hidden, Kind);
   }
 
+  /// Try to parse the conditional expression attached to an effect attribute
+  /// (e.g. 'nonblocking'). (c.f. Sema::ActOnNoexceptSpec). Return an empty
+  /// optional on error.
+  std::optional<FunctionEffectMode>
+  ActOnEffectExpression(Expr *CondExpr, StringRef AttributeName);
----------------
dougsonos wrote:

Earlier I moved this in Sema to be in the SemaType.cpp section, where the implementation remains, to be next to `handleNonBlockingNonAllocatingTypeAttr()`.

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


More information about the cfe-commits mailing list