================
@@ -1402,6 +1402,29 @@ def CXX11NoReturn : InheritableAttr {
   let Documentation = [CXX11NoReturnDocs];
 }
 
+def NoLock : DeclOrTypeAttr {
+  let Spellings = [CXX11<"clang", "nolock">,
+                   C23<"clang", "nolock">,
+                   GNU<"clang_nolock">];
+
+  // Subjects - not needed?
+  //let Subjects = SubjectList<[FunctionLike, Block, TypedefName], ErrorDiag>;
----------------
Sirraide wrote:

I’m pretty sure `AnnotateType` is a rather unusual attribute.

> that type attributes have some built-in defense.

Hmm, you’re right, my bad, it’s a `DeclOrTypeAttr`, and a lot of those don’t 
have a `Subjects` list, so in that case if it works without one, then that’s 
fine I’d say. And yes, tests for appertainment are a good idea.


https://github.com/llvm/llvm-project/pull/84983
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to