Jacob Young
Jacob Young
This segfaults when compiling any non-erroring program with -L, probably the same as in #23.
We output llvm for unions in the same way as clang does, as can be seen by the fact that this bug [reproduces](https://github.com/llvm/llvm-project/issues/64081) with clang.
> Fixed by #17963. That's a workaround, the issue stays open to track the upstream bug and a revert of the workaround.
Oh, actually a simple packed struct equality bug (frontend support was added without verification that backend support was functional.
Instruction selection of `bitcast`, `load`, `store`, `store_safe`, `struct_field_val`, and `aggregate_init` on packed pointers/fields need to be rewritten in the self-hosted x86_64 backend.
Sorry for being unclear, my comment on `__addvsi3` applies to all the functions in this PR. (Also the subs are sorted backwards)
> If this is PR accepted, I'm also willing to implement it in the self-hosted DWARF backend. Just FYI, I would advise against spending time on this because I expect...
Backends should never be calling `importPkg`, another solution to this will need to be found before enabling llvm backend threading.
`v0` is passed by reference to the actual element in the `items` slice, which is invalidated by the array list resize, causing the actual append to crash.
Added a reduction of this issue to #22419