Closed
Description
This is a tracking issue for when we can completely replace stage1 with self-hosted in official builds of Zig.
- add debug info to the LLVM backend
- initial implementation stage2 LLVM debug info #11085
- implement debug info for structs in the llvm backend #11095
- implement debug info for unions in the llvm backend #11096
- implement debug info for global variables in the llvm backend #11097
- stage2: add debug info for locals in the LLVM backend #11145
- make function calls contain debug stmt line/column info #11158
- make else if conditions contain debug stmt info #11160
- all runtime safety tests passing for stage2 #11674
- get compilation errors into an acceptable state
- adjust the default backend to be LLVM until other backends reach full behavior test coverage
-
async/await/suspend/resume #6025async/await/suspend/resume will not be available in 0.10.0 - Audit and consolidate stage1/stage2 tests. All behavior tests passing for self-hosted. #6034
- stage2: array-like tuple initialization gets LLVM verification panic #11159
-
std.fmt.parseFloat
does not parse 9007199254740993.0 correctly #11169 - stage2: Sema cannot distinguish vectors from arrays in expressions #11251
- implement error return tracing in the self-hosted compiler #11259
- all std lib tests passing with the LLVM backend
- Stage2: simple if expression randomly has wrong result when safety checks are enabled #11898
- Stage2 miscompiles call to
std.math.big.int.Managed.shiftLeft
#11897 - Stage2 specific union segfaults test runner when used in error union or optional #11857
- Stage2 miscompiles vector element acces via slice of vectors #11856
- Stage2 can't negate a NaN at runtime #11853
- struct with field default initialized to size of the struct gives false positive 'depends on itself' error #12029
- stage3 fails the behavior tests #11450
- stage2-generated binaries are slower and more bloated than stage1-generated binaries #11498
- implement noinline #11767
- Upgrade to LLVM 14 #11274
- full test suite passing with the LLVM backend
-
check all the TODO comments in stage2 source code and convert relevant ones into issues blocking this oneconvert TODO comments from source code into issues #363 - Eliminate use of conditional compilation on zig_backend in compiler-rt, freestanding libc, test runner, and default panic
- use the real start code
- eliminate conditional compilation on zig_backend in the std lib
- Eliminate the other TODO items from generated builtin.zig file
- work with individual third party projects to make sure the stage2 transition completes successfully
- Bun (cc @Jarred-Sumner)
- zig-gamedev (cc @michal-z)
- mach (cc @slimsag)
- River (cc @ifreund)
- aquila (cc @nektro)
- https://github.com/ominitay/zigvale-barebones (cc @ominitay)
- ncdu
- https://github.com/ZigEmbeddedGroup/microzig (
zig build -Drelease-small
) - https://github.com/mattnite/gyro (
zig build
, good amount of zig and C code in here) - ZLS
- https://github.com/sin-ack/zigself
- https://github.com/floooh/sokol-zig