[clang] [clang][TSA] Make RequiresCapability a DeclOrType attribute (PR #67095)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 6 07:05:06 PST 2023


Timm =?utf-8?q?Bäder?= <tbaeder at redhat.com>,
Timm =?utf-8?q?Bäder?= <tbaeder at redhat.com>,
Timm =?utf-8?q?Bäder?= <tbaeder at redhat.com>,
Timm =?utf-8?q?Bäder?= <tbaeder at redhat.com>,
Timm =?utf-8?q?Bäder?= <tbaeder at redhat.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/67095 at github.com>


================
@@ -3341,7 +3341,7 @@ def RequiresCapability : InheritableAttr {
   let TemplateDependent = 1;
   let ParseArgumentsAsUnevaluated = 1;
   let InheritEvenIfAlreadyPresent = 1;
-  let Subjects = SubjectList<[Function]>;
+  let Subjects = SubjectList<[Function, FunctionPointer]>;
   let Accessors = [Accessor<"isShared", [Clang<"requires_shared_capability", 0>,
                                          Clang<"shared_locks_required", 0>]>];
   let Documentation = [Undocumented];
----------------
erichkeane wrote:

Oooh, yeah, i think that would be enough if this/others linked to it.  I went to our attributes page to figure out what this does, and saw "not documented".  Just a 2-sentence summary + "This is part of Thread Safety Analysis, as documented here" would be great!  

Also, jsut figured out what "TSA" refers to here...

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


More information about the cfe-commits mailing list