diff options
| author | gingerBill <bill@gingerbill.org> | 2024-03-20 17:27:05 +0000 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2024-03-20 17:27:05 +0000 |
| commit | e804fbd891092c89f21aa62e6ed05bc4feb4761b (patch) | |
| tree | 523df63ae031bb7a9b4e4d27c97157900ae23a57 /src/llvm_abi.cpp | |
| parent | b4fe9677a1f69acde12e7cf296269f0c4d98362f (diff) | |
Force packed structs in ABI parameters
Diffstat (limited to 'src/llvm_abi.cpp')
| -rw-r--r-- | src/llvm_abi.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/llvm_abi.cpp b/src/llvm_abi.cpp index fcd22a40d..62658d178 100644 --- a/src/llvm_abi.cpp +++ b/src/llvm_abi.cpp @@ -876,7 +876,7 @@ namespace lbAbiAmd64SysV { if (types.count == 1) { return types[0]; } - return LLVMStructTypeInContext(c, types.data, cast(unsigned)types.count, false); + return LLVMStructTypeInContext(c, types.data, cast(unsigned)types.count, true); } gb_internal void classify_with(LLVMTypeRef t, Array<RegClass> *cls, i64 ix, i64 off) { @@ -1312,7 +1312,7 @@ namespace lbAbiWasm { // ignore padding LLVMStructGetTypeAtIndex(type, 2) }; - LLVMTypeRef new_type = LLVMStructTypeInContext(c, types, gb_count_of(types), false); + LLVMTypeRef new_type = LLVMStructTypeInContext(c, types, gb_count_of(types), true); return lb_arg_type_direct(type, new_type, nullptr, nullptr); } else { return is_struct(c, type, calling_convention); |