aboutsummaryrefslogtreecommitdiff
path: root/stage1/zig.h
AgeCommit message (Collapse)Author
2025-11-19stage1: update zig1.wasmAlex Rønne Petersen
Signed-off-by: Alex Rønne Petersen <alex@alexrp.com>
2025-11-12zig.h: drop dependency on deleted compiler_rt functionsMatthew Lugg
It turns out we did use these in the C backend. However, it's really just as easy, if not easier, to replicate the logic directly in C. Synchronizes stage1/zig.h to make sure the bootstrap doesn't depend on these functions either. The actual zig1 tarball is unmodified because regenerating it is unnecessary in this instance.
2025-09-30cbe: workaround GCC miscompilationmlugg
This was causing a zig2 miscomp, which emitted slightly broken debug information, which caused extremely slow stack unwinding. We're working on fixing or reporting this upstream, but we can use this workaround for now, because GCC guarantees arithmetic signed shift.
2025-09-18stage1: update zig1.wasmAlex Rønne Petersen
Needed due to LoongArch CPU model changes. Signed-off-by: Alex Rønne Petersen <alex@alexrp.com>
2025-08-30stage1: update zig1.wasmAlex Rønne Petersen
Needed because some std.Target.aarch64 features were renamed in LLVM 21. Signed-off-by: Alex Rønne Petersen <alex@alexrp.com>
2025-06-15stage1: update zig1.wasmJacob Young
Compiler needs a subset of the legalization features enabled.
2025-06-01stage1: update zig1.wasmJacob Young
Compiler needs cbe reserved identifier change. This also allows us to delete the old `@intCast` panic handler declarations from the standard library.
2025-03-27stage1: Update zig1.wasm.Alex Rønne Petersen
Signed-off-by: Alex Rønne Petersen <alex@alexrp.com>
2025-02-17stage1: Update zig1.wasm.Alex Rønne Petersen
Signed-off-by: Alex Rønne Petersen <alex@alexrp.com>
2025-01-16stage1: update zig1.wasmmlugg
Implementing the changes from the prior commit, to prepare for the following commit. This also means that zig1 now uses the new value interpret mode, so that adding and removing fields from `std.builtin` types is easier. Signed-off-by: mlugg <mlugg@mlugg.co.uk>
2024-11-04zig.h: Improve portability of zig_*_windows_teb() helpers.Alex Rønne Petersen
* Make it work for thumb and aarch64. * Clean up std.os.windows.teb() a bit. I also updated stage1/zig.h since the changes are backwards-compatible and are necessary due to the std.os.windows changes that call the newly-added functions.
2024-10-19stage1: update zig1.wasmmlugg
As well as being necessary for the `CallingConvention` changes, this update includes the following notable changes: * Fix unlabeled `break` targeting the wrong scope in the presence of labeled continue, unblocking #21422 * Implement `@FieldType` * Implement `@splat` on arrays Signed-off-by: mlugg <mlugg@mlugg.co.uk>
2024-07-26zig.h: fixup pointer atomic load definitionskcbanner
2024-07-13zig.h: expand zig_msvc_atomic_load_ into version for relaxed, acquire, and ↵kcbanner
seq_cst
2024-07-13zig.h: replace `_InterlockedExchangeAdd` with a plain volatile loadkcbanner
This was causing zig2.exe to crash during bootstrap, because there was an atomic load of read-only memory, and the attempt to write to it as part of the (idempotent) atomic exchange was invalid. Aligned reads (of u32 / u64) are atomic on x86 / x64, so this is replaced with an optimization-proof load (`__iso_volatile_load8*`) and a reordering barrier.
2024-06-21- Fix `ypedef` -> `typedef`kcbanner
2024-05-08update zig1.wasmAndrew Kelley
In particular, contains fixes to the C backend that avoid tripping UBSAN in clang 18.
2024-03-30update zig1.wasmJacob Young
Removes the first argument of `@fieldParentPtr`.
2024-03-17update zig1.wasmJacob Young
Removes `std.builtin.Type.Fn.alignment`.
2023-11-12zig.h: workaround for gcc `f128` miscompilationsJacob Young
2023-09-27update zig1.wasmAndrew Kelley
Needed because the compiler used the now removed `@fabs` builtin and instead depends on the new `@abs` builtin.
2023-09-24update zig1.wasmAndrew Kelley
Notable changes in this update: 127198e58cb3dcf2d2287124cf15a23a7d3a9c02 fixes building zig2 artifact on macOS Sonoma 14.0 (more specifically the SDK 14.0 linker). a8d2ed806558cc1472f3a532169a4994abe17833 fixed some alignment edge cases which is needed to do the store_hash=false change in the compiler source code. df5f0517b33b5f7bc2a508cf6a0ee62246f02d21 preserves result type information through the address-of operator.
2023-08-20stage1: update zig1mlugg
This is necessary due to the CBE fixes in the previous commit. Signed-off-by: Andrew Kelley <andrew@ziglang.org>
2023-07-12update zig1.wasmAndrew Kelley
Needed due to the breaking changes to `@splat` which are used by the self-hosted compiler. This update also includes the improvement that allows casting builtins to infer the result type through optionals and error unions.
2023-07-04bootstrap: support aarch64 in 32-bit modeJacob Young
* `CMakeLists.txt`: support the weird `uname -m` output. * `CMakeLists.txt`: detect and use the C compiler's default arm mode. * cbe: support gcc with both `f128` and `u128` emulated. * std.os.linux.thumb: fix incorrectly passed asm inputs.
2023-06-16Update zig1.wasmmlugg
This is needed in order to remove math.{min,max} from std in favour of the builtins, since the builtins need the behavior fix from the previous commit. Note from Andrew: I updated this commit with zig1.wasm built by me. Signed-off-by: Andrew Kelley <andrew@ziglang.org>
2023-04-28update zig1.wasmAndrew Kelley
This is needed because bug fixes to the C backend are required in order to actually update the standard library and compiler sources to use the new `@memcpy` and `@memset` semantics.
2023-04-23update zig1.wasmAndrew Kelley
2023-04-08zig.h: fix typo for zig_trap definitionAndrew Kelley
2023-04-06zig.h: f16 fix for compiler_rtAndrew Kelley
See #15092
2023-04-05update zig1.wasmAndrew Kelley
2023-03-10Include `signal.h` to define SIGTRAP in Stage 1 compiler (#14867)Lavt Niveau
copy lib/zig.h to stage1/zig.h In this case, it looks safe to backport over with no changes. Co-authored-by: Andrew Kelley <andrew@ziglang.org>
2023-03-05update zig1.wasmAndrew Kelley
2023-02-20CBE: use stdint.h types instead of `zig_` prefixesJacob Young
This requires manual defines before C99 which may not have stdint.h. Also have update-zig1 leave a copy of lib/zig.h in stage1/zig.h, which allows lib/zig.h to be updated without needing to update zig1.wasm. Note that since the object already existed with the exact same contents, this completely avoids repo bloat due to zig.h changes.