aboutsummaryrefslogtreecommitdiff
path: root/lldb/unittests/ScriptInterpreter/Python
diff options
context:
space:
mode:
authorSimon Tatham <simon.tatham@arm.com>2025-08-05 08:45:54 +0100
committerGitHub <noreply@github.com>2025-08-05 08:45:54 +0100
commit87283db54852a899a52e4e01aa01b471ffa34a1d (patch)
treec29113576bc90ba89cb95eba3bcea8ca8810117a /lldb/unittests/ScriptInterpreter/Python
parentc5e6938c6710a1c34a32830c743f19a29ffef6e5 (diff)
downloadllvm-87283db54852a899a52e4e01aa01b471ffa34a1d.zip
llvm-87283db54852a899a52e4e01aa01b471ffa34a1d.tar.gz
llvm-87283db54852a899a52e4e01aa01b471ffa34a1d.tar.bz2
[clang][ARM] Fix build failure in <arm_acle.h> for __swp (#151354)
In commit d5985905ae8e5b2 I introduced a Sema check that prohibits `__builtin_arm_ldrex` and `__builtin_arm_strex` for data sizes not supported by the target architecture version. However, `arm_acle.h` unconditionally uses those builtins with a 32-bit data size. So now including that header will cause a build failure on Armv6-M, or historic architectures like Armv5. To fix it, `arm_acle.h` now queries the compiler-defined `__ARM_FEATURE_LDREX` macro (also fixed recently in commit 34f59d79209268e so that it matches the target architecture). If 32-bit LDREX isn't available it will fall back to the older SWP instruction, or failing that (on Armv6-M), a libcall. While I was modifying the header anyway, I also renamed the local variable `v` inside `__swp` so that it starts with `__`, avoiding any risk of user code having #defined `v`.
Diffstat (limited to 'lldb/unittests/ScriptInterpreter/Python')
0 files changed, 0 insertions, 0 deletions