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

via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 13 23:20:10 PDT 2024


================
@@ -10941,6 +10941,55 @@ def warn_imp_cast_drops_unaligned : Warning<
   InGroup<DiagGroup<"unaligned-qualifier-implicit-cast">>;
 
 // Function effects
+def warn_func_effect_allocates : Warning<
+  "'%0' function must not allocate or deallocate memory">,
+  InGroup<FunctionEffects>;
+def note_func_effect_allocates : Note<
+  "function cannot be inferred '%0' because it allocates/deallocates memory">;
----------------
Sirraide wrote:

That should also allow us to collapse some of the cases in `Analyzer::emitDiagnostics` in `EffectAnalysis.cpp`.

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


More information about the cfe-commits mailing list