================
@@ -1977,15 +1977,15 @@ def AtomicNandFetch : AtomicBuiltin {
let Prototype = "void(...)";
}
-def AtomicTestAndSet : Builtin {
+def AtomicTestAndSet : AtomicBuiltin {
let Spellings = ["__atomic_test_and_set"];
- let Attributes = [NoThrow];
+ let Attributes = [NoThrow, CustomTypeChecking];
let Prototype = "bool(void volatile*, int)";
}
-def AtomicClear : Builtin {
+def AtomicClear : AtomicBuiltin {
let Spellings = ["__atomic_clear"];
- let Attributes = [NoThrow];
+ let Attributes = [NoThrow, CustomTypeChecking];
----------------
efriedma-quic wrote:
For builtins that use custom type checking, we usually use something like
`void(...)` instead of `void(void volatile*, int)`. But as far as I remember,
we ignore the signature anyway, so it doesn't matter very much.
https://github.com/llvm/llvm-project/pull/120449
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits