aboutsummaryrefslogtreecommitdiff
path: root/lldb/unittests/ScriptInterpreter/Python
diff options
context:
space:
mode:
authorSimon Tatham <simon.tatham@arm.com>2025-07-29 09:01:37 +0100
committerGitHub <noreply@github.com>2025-07-29 09:01:37 +0100
commitd5985905ae8e5b2e108d1b2772b554134db162dd (patch)
tree3acca8ad10b08c47c6d1b7f708c2c9a241680b22 /lldb/unittests/ScriptInterpreter/Python
parentfc90685354ca36c935ebb0f315bb18592598a83b (diff)
downloadllvm-d5985905ae8e5b2e108d1b2772b554134db162dd.zip
llvm-d5985905ae8e5b2e108d1b2772b554134db162dd.tar.gz
llvm-d5985905ae8e5b2e108d1b2772b554134db162dd.tar.bz2
[Clang][ARM][Sema] Reject bad sizes of __builtin_arm_ldrex (#150419)
Depending on the particular version of the AArch32 architecture, load/store exclusive operations might be available for various subset of 8, 16, 32, and 64-bit quantities. Sema knew nothing about this and was accepting all four sizes, leading to a compiler crash at isel time if you used a size not available on the target architecture. Now the Sema checking stage emits a more sensible diagnostic, pointing at the location in the code. In order to allow Sema to query the set of supported sizes, I've moved the enum of LDREX_x sizes out of its Arm-specific header into `TargetInfo.h`. Also, in order to allow the diagnostic to specify the correct list of supported sizes, I've filled it with `%select{}`. (The alternative was to make separate error messages for each different list of sizes.)
Diffstat (limited to 'lldb/unittests/ScriptInterpreter/Python')
0 files changed, 0 insertions, 0 deletions