aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_abi.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-07-12 11:03:12 +0100
committergingerBill <bill@gingerbill.org>2021-07-12 11:03:12 +0100
commit76707e1d2f3a33bc5dabf367318ccd76ce242b6a (patch)
treef8858e15dba0312f85e0b25f7be12a97fd420c9b /src/llvm_abi.cpp
parentff2e5c3efe931e6a088c2368b0ce5d5c21f03c65 (diff)
Add sanity casts for 32/64 bit correctness
Diffstat (limited to 'src/llvm_abi.cpp')
-rw-r--r--src/llvm_abi.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/llvm_abi.cpp b/src/llvm_abi.cpp
index 78ce52b3f..e9bae42af 100644
--- a/src/llvm_abi.cpp
+++ b/src/llvm_abi.cpp
@@ -565,7 +565,7 @@ namespace lbAbiAmd64SysV {
}
void unify(Array<RegClass> *cls, i64 i, RegClass const newv) {
- RegClass const oldv = (*cls)[i];
+ RegClass const oldv = (*cls)[cast(isize)i];
if (oldv == newv) {
return;
}
@@ -597,7 +597,7 @@ namespace lbAbiAmd64SysV {
}
}
- (*cls)[i] = to_write;
+ (*cls)[cast(isize)i] = to_write;
}
void fixup(LLVMTypeRef t, Array<RegClass> *cls) {
@@ -606,7 +606,7 @@ namespace lbAbiAmd64SysV {
if (e > 2 && (lb_is_type_kind(t, LLVMStructTypeKind) ||
lb_is_type_kind(t, LLVMArrayTypeKind) ||
lb_is_type_kind(t, LLVMVectorTypeKind))) {
- RegClass &oldv = (*cls)[i];
+ RegClass &oldv = (*cls)[cast(isize)i];
if (is_sse(oldv)) {
for (i++; i < e; i++) {
if (oldv != RegClass_SSEUp) {
@@ -620,7 +620,7 @@ namespace lbAbiAmd64SysV {
}
} else {
while (i < e) {
- RegClass &oldv = (*cls)[i];
+ RegClass &oldv = (*cls)[cast(isize)i];
if (oldv == RegClass_Memory) {
all_mem(cls);
return;