# Revert "stage2 llvm: Use unpacked struct for unions and arrays" · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/8c14d170b579e078ff961973e4d28a4946df36d7)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: 8c14d170b579e078ff961973e4d28a4946df36d7

Requested commit: 8c14d170b579e078ff961973e4d28a4946df36d7

Commit: 8c14d170b579e078ff961973e4d28a4946df36d7

Tree: 63d2c4d8eaeaa1ae08eac8438d26982f25ddf4b1

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

````
Revert "stage2 llvm: Use unpacked struct for unions and arrays"

This reverts commit 2eaef84ebe968224b0cf25206abf12ea1c5e0f5a.

Here is a motivating example:

```zig
const E = union(enum) {
    A: [9]u8,
    B: u64,
};
```

```llvm
%test2.E = type { { i64, [1 x i8] }, i1, [6 x i8] }
```

```
error(codegen): when lowering test2.E, Zig ABI size = 16 but LLVM ABI size = 24
```

````

## Parents

- [9c136be78fcc44d4dd4902605de6af14358c67a3](https://git.cafe/gitcafe/zig/commit/9c136be78fcc44d4dd4902605de6af14358c67a3?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/8c14d170b579e078ff961973e4d28a4946df36d7?format=markdown)
