[clang] [Clang][ARM][Sema] Check validity of ldrexd/strexd builtin calls (PR #164919)
Simon Tatham via cfe-commits
cfe-commits at lists.llvm.org
Mon Oct 27 02:17:32 PDT 2025
================
@@ -24,3 +24,27 @@ int test_strex(char *addr) {
res |= __builtin_arm_strex(42, (long long *)addr); // expected-error {{address argument to load or store exclusive builtin must be a pointer to 1,2 or 4 byte type}}
return res;
}
+
+int test_ldrexd(char *addr) {
+ int sum = 0;
+ sum += __builtin_arm_ldrexd(addr); // expected-error {{load and store exclusive builtins are not available on this architecture}}
----------------
statham-arm wrote:
Wow, that's surely a bug in Tablegen!
I especially like the way that the complaint "Diagnostics should not start with a capital letter" starts with a capital letter :slightly_smiling_face:
I'm happy with 'eight-byte'. It might not be worded exactly the same as the other messages, but it conveys the important information.
https://github.com/llvm/llvm-project/pull/164919
More information about the cfe-commits
mailing list