[clang] nonblocking/nonallocating attributes: 2nd pass caller/callee analysis (PR #99656)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 13 23:05:06 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">;
+def warn_func_effect_throws_or_catches : Warning<
+ "'%0' function must not throw or catch exceptions">,
+ InGroup<FunctionEffects>;
+def note_func_effect_throws_or_catches : Note<
+ "function cannot be inferred '%0' because it throws or catches exceptions">;
+def warn_func_effect_has_static_local : Warning<
+ "'%0' function must not have static locals">,
----------------
Sirraide wrote:
I’d replace ‘local(s)’ w/ ‘local variable(s)’ everywhere because that’s the terminology we seem to be using everywhere else (in the diagnostic text; the name of the diagnostic is irrelevant in that respect imo).
https://github.com/llvm/llvm-project/pull/99656
More information about the cfe-commits
mailing list