diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-04-27 23:33:16 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-04-27 23:35:56 -0700 |
| commit | 11911f55a73a49e2fda85bddd38d1993b93547c9 (patch) | |
| tree | 0ee9eb36a44a230fb356aec6f0e056b3e74c186a /test/incremental/recursive_inline_function.0.zig | |
| parent | 9d098657a069b36e3eed9bc63c3421c031be7348 (diff) | |
| download | zig-11911f55a73a49e2fda85bddd38d1993b93547c9.tar.gz zig-11911f55a73a49e2fda85bddd38d1993b93547c9.zip | |
stage1: fix incorrect struct padding
Before this change, struct {f80, f80} targeting i386-windows-msvc lowers
to
```llvm
%"std.testing.struct:78:61.6" = type { x86_fp80, [6 x i8], x86_fp80, [6 x i8] }
```
which has an incorrect ABI size of 40. After this change, the struct
lowers to
```llvm
%"std.testing.struct:78:61.6" = type { x86_fp80, [4 x i8], x86_fp80, [4 x i8] }
```
which has the correct ABI size of 32, and properly aligns the second
field to 16 bytes.
The other place that calculates field padding (lowering of constant
values in codegen.cpp) already correctly calls LLVMABISizeOfType
rather than LLVMStoreSizeOfType.
This fixes the compiler-rt tests for i386-windows in this branch.
Diffstat (limited to 'test/incremental/recursive_inline_function.0.zig')
0 files changed, 0 insertions, 0 deletions
