Alex Rønne Petersen
9840157c18
std.Target.Query: Don't append glibc version in zigTriple() if ABI isn't GNU.
2025-03-09 19:50:13 +01:00
Carmen
17b40b1d68
lib/std/os/uefi/status.zig: add error to enum conversion fn
2025-03-09 10:54:21 +00:00
Meghan Denny
0f6056903b
std: Abi.default: only require an os tag
2025-03-09 09:44:11 +01:00
Pat Tullmann
eace31c6b3
std/lib: {fs,io,posix} test clean up
...
* use `tmp.dir.realpathAlloc()` to get full path into tmpDir instances
* use `testing.allocator` where that simplifies things (vs. manual ArenaAllocator for 1 or 2 allocs)
* Trust `TmpDir.cleanup()` to clean up contained files and sub-trees
* Remove some unnecessary absolute paths (enabling WASI to run the tests)
* Drop some no-longer necessary `[_][]const u8` casts
* Add scopes to reduce `var` usage in favor of `const`
2025-03-09 07:41:06 +01:00
remeh
02f63fdee9
std/containers: improve consistency using gpa parameter name for allocator.
2025-03-09 07:39:20 +01:00
Andrew Kelley
1eb729b9b9
Reapply "build: Don't check parent directories for git tag"
...
This reverts commit 7e0c25eccd8d9bc5b77953dbc9a39a26e383c550.
The `--git-dir` argument is relative to the `-C` argument, making this
patch OK after all.
I added a comment to go along with this since I found it confusing.
Apologies for the revert.
2025-03-08 12:34:13 -08:00
Ian Johnson
0bce4a4e05
Sema: handle generated tag enums in union field order check
...
Fixes #23059
The "note: enum field here" now references the field in the base union type rather than crashing.
2025-03-08 14:29:20 -05:00
Andrew Kelley
61c588d726
Merge pull request #22998 from jacobly0/x86_64-rewrite
...
x86_64: rewrite aggregate init
2025-03-08 14:27:57 -05:00
Jeremy Hertel
801a95035c
std.time.epoch: change getDaysInMonth to accept the year as an argument
2025-03-08 14:25:28 -05:00
Jacob Young
a5900e310e
compiler-rt: fix signed min int from float
2025-03-08 14:21:22 -05:00
Andrew Kelley
7e0c25eccd
Revert "build: Don't check parent directories for git tag"
...
This reverts commit 21620f3c652bc874776acc7251f05b25d2838019.
This breaks running `zig build` from subdirectories.
2025-03-08 11:15:44 -08:00
LN Liberda
21620f3c65
build: Don't check parent directories for git tag
...
Sometimes Zig is built not from a git repository (e.g. from tarball), but inside another git repository (e.g. distro package repository). Make sure that the version check tries to parse a tag of Zig, and not of a parent directory.
2025-03-08 17:54:50 +00:00
Alex Rønne Petersen
3b3c18909d
Compilation: Fix -fno-rtlib-defaultlib unused argument warning in ReleaseSafe.
...
Closes #23138 .
2025-03-08 13:26:09 +01:00
Alex Rønne Petersen
5466a2f72d
llvm: Replace DataLayoutBuilder with a simple target -> string switch.
...
This should be a lot easier to maintain. It's also a small step towards
eventually making the builder API parse the data layout string in order to
answer layout questions that we need to ask during code generation.
2025-03-08 12:16:13 +01:00
Alex Rønne Petersen
5c57e90ffb
test: Disable test-elf-ld-script-path-error for now.
...
https://github.com/ziglang/zig/issues/23125
2025-03-08 07:04:27 +01:00
Jacob Young
5d115632d4
x86_64: reuse single register code during register write splitting
2025-03-07 23:59:38 -05:00
Jacob Young
54ed62755f
x86_64: implement write register splitting
2025-03-07 23:59:31 -05:00
Jacob Young
f8f2a3ea6f
x86_64: rewrite aggregate init
2025-03-07 23:59:09 -05:00
Pat Tullmann
214750fcfe
lib/std/Build/Cache.zig: remove .wasi SkipZigTest checks
...
The build Cache test pass on Wasi now.
Fixes #5437
2025-03-08 04:38:29 +01:00
Alex Rønne Petersen
db77e46b49
zig cc: Don't pass -mabi for assembly files when targeting arm.
...
Clang's integrated Arm assembler doesn't understand -mabi yet, so this results
in "unused command line argument" warnings when building musl code and glibc
stubs, for example.
2025-03-08 03:52:28 +01:00
Andrew Kelley
5765736867
fix InstallArtifact opening empty string
...
this appears to have been a problem since 43f73af3595c3174b8e67e9f2792c3774f2192e9
2025-03-07 15:21:40 -05:00
Andrew Kelley
4cefd1bd1b
Merge pull request #23097 from ziggoon/master
...
std.heap.PageAllocator updates to fix race condition and utilize NtAllocateVirtualMemory / NtFreeVirtualMemory instead of VirtualAlloc / VirtualFree
2025-03-06 14:39:09 -05:00
190n
1e0739f0c6
std.enums.tagName: preserve sentinel in return value
2025-03-06 08:41:51 +01:00
Kiëd Llaentenn
5f7dfc3577
langref: update splat section
2025-03-06 07:26:19 +01:00
ziggoon
5b03e248b7
add FFI & wrappers for NtAllocateVirtualMemory & NtFreeVirtualMemory + add missing alloction constants MEM_RESERVE_PLACEHOLDER / MEM_PRESERVE_PLACEHOLDER
2025-03-04 22:10:49 -06:00
ziggoon
16875b3598
update std.heap.PageAllocator Windows implementation to remove race condition and utilize NtAllocateVirtualMemory / NtFreeVirtualMemory instead of VirtualAlloc and VirtualFree
2025-03-04 22:01:08 -06:00
Linus Groh
79460d4a3e
Remove uses of deprecated callconv aliases
2025-03-05 03:01:43 +00:00
Andrew Kelley
05937b362a
start the 0.15.0 release cycle
2025-03-04 14:31:32 -08:00
Andrew Kelley
5ad91a646a
Release 0.14.0
0.14.0
2025-03-04 14:31:02 -08:00
Alex Rønne Petersen
3c924abb69
std.zig.llvm.bitcode_writer: Fix word byte order on big endian systems.
...
The bitcode format always uses little endian words. Prior to this commit, a
bitcode file produced on e.g. aarch64_be or s390x would fail to be loaded by
LLVM.
2025-03-04 17:28:03 -05:00
Carl Åstholm
8363b95178
Fix "dependency path outside project" error for nested local path dependencies
...
Closes #23076
2025-03-04 17:27:21 -05:00
Carl Åstholm
711b0fef58
init: Substitute invalid package names with foo
...
Closes #23066
2025-03-04 02:42:00 -05:00
Andrew Kelley
13757aacc7
update .mailmap
...
keeps our contributor count in the release notes somewhat accurate
2025-03-03 17:19:09 -08:00
Andrew Kelley
1e2b3b1df9
std.Build.Step: fix missing path sep in error message
...
I have a more robust solution to this coming up in the writer interface
branch.
2025-03-03 17:18:18 -08:00
Matthew Lugg
c76f451abc
Merge pull request #22979 from mlugg/remove-legacy-coercions
...
Sema: remove legacy coercion
2025-03-03 22:18:28 +00:00
mlugg
501e84a96a
incremental: invalidate namespace dependencies when a name changes visibility
...
We could have more fine-grained dependencies here, but I think this is
fine for now.
2025-03-03 22:18:02 +00:00
Fausto Ribeiro
edabcf6192
std.DynLib: fix proper type of chain_ptr on GnuHashSection32
...
Type is correct on GnuHashSection64 but not on 32 bit version. Change it so
use of DynLib on 32-bit archs compiles.
2025-03-03 20:01:05 +01:00
Alex Rønne Petersen
4fad60fd3a
compiler: Don't consider powerpc to have red zone support yet.
...
The command line flag is only supported in Clang 20: https://github.com/ziglang/zig/issues/23056
This gets rid of some warnings when using zig cc.
2025-03-03 19:36:46 +01:00
Linus Groh
6d29ef0baf
Merge pull request #23046 from linusg/uefi-time
...
Three time-related fixes for UEFI
2025-03-03 10:07:41 +00:00
Jacob Young
00a8742bbf
Merge pull request #22982 from mlugg/cache-mode
...
compiler: default to `.whole` cache mode for self-hosted backends
2025-03-02 22:15:42 -05:00
Linus Groh
3bea47883a
std.time: Make Instant.since() work on UEFI
2025-03-02 23:16:34 +00:00
Linus Groh
1a03b8c899
std.os.uefi: Fix two padding mistakes in the Time struct
...
```c
//************************************************
//EFI_TIME
//************************************************
// This represents the current time information
typedef struct {
UINT16 Year; // 1900 - 9999
UINT8 Month; // 1 - 12
UINT8 Day; // 1 - 31
UINT8 Hour; // 0 - 23
UINT8 Minute; // 0 - 59
UINT8 Second; // 0 - 59
UINT8 Pad1;
UINT32 Nanosecond; // 0 - 999,999,999
INT16 TimeZone; // —1440 to 1440 or 2047
UINT8 Daylight;
UINT8 Pad2;
} EFI_TIME;
```
2025-03-02 23:16:34 +00:00
Linus Groh
6378295b77
std.os.uefi: Fix integer overflow in Time.toEpoch()
...
Instead of thinking hard about what the actual supported maximum value
for each sub-calculation is we can simply use an u64 from hours onwards.
2025-03-02 22:58:45 +00:00
Jacob Young
d741be512b
link: fixed bugs uncovered by changing the cache mode
2025-03-02 16:39:18 -05:00
mlugg
725c825829
link: make sure MachO closes the damn files
...
Windows is a ridiculous operating system designed by toddlers, and so
requires us to close all file handles in the `tmp/xxxxxxx` cache dir
before renaming it into `o/xxxxxxx`. We have a hack in place to handle
this for the main output file, but the MachO linker also outputs a file
with debug symbols, and we weren't closing it! This led to a fuckton of
CI failures when we enabled `.whole` cache mode by default for
self-hosted backends.
thanks jacob for figuring this out while i sat there
2025-03-02 16:39:18 -05:00
mlugg
c2983a3f88
compiler: default to .whole cache mode for self-hosted backends
...
This is a better default cache mode until incremental compilation is
enabled by default.
2025-03-02 16:39:18 -05:00
rpkak
0367d684fc
add parentheses in std.heap.page_size_min
2025-03-02 22:27:57 +01:00
Frank Denis
d8d2aa9af4
crypto.pcurves.common: generalize invert() ( #23039 )
...
The Bernstein-Yang inversion code was meant to be used only with the
fields we currently use for the NIST curves.
But people copied that code and were confused that it didn't work as
expected with other field sizes.
It doesn't cost anything to make it work with other field sizes,
that may support in the future. So let's do it.
This also reduces the diff with the example zig code in fiat crypto.
Suggested by @Rexicon226 -- Thank you!
2025-03-02 11:27:04 +01:00
Jacob Young
a6525c1762
Merge pull request #22529 from xtexx/x86-64/shl-sat-int
...
x86_64: Implement integer saturating left shifting codegen
2025-03-02 02:51:36 -05:00
Bingwu Zhang
1da909a1e2
x86_64: add behavior tests for saturating shift left
...
Co-authored-by: Jacob Young <jacobly0@users.noreply.github.com>
Signed-off-by: Bingwu Zhang <xtex@aosc.io>
2025-03-02 10:30:43 +08:00