[clang] nonblocking/nonallocating attributes (was: nolock/noalloc) (PR #84983)

Doug Wyatt via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 15 15:45:46 PDT 2024


dougsonos wrote:

I worked out an idea for moving much of the FunctionEffect plumbing out of Type.h, into somewhere under Sema (probably new files because Sema.h is huge). It's outlined in a comment in Type.h.

Initial support for an optional conditional expression attached to an effect is now in place. It's a separate array of trailing objects on the FunctionProtoType. The "set" objects hold parallel arrays of effects and conditions and for usability, iterate through them in unison. The attribute parser doesn't yet populate the conditions, and template instantiation doesn't yet try to evaluate and eliminate them. I think the code to do this could live in the effect set if it were under Sema (as I just described).

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


More information about the cfe-commits mailing list