Andrew Kelley
6ac7931bec
std: hacking around with buffered reader / writer semantics
...
I think I'm going to back out these vtable changes in the next commit
2025-07-01 16:35:26 -07:00
Andrew Kelley
890a02c345
std.io: move getStdIn, getStdOut, getStdErr functions to fs.File
...
preparing to rearrange std.io namespace into an interface
2025-07-01 16:35:26 -07:00
Andrew Kelley
4aed226e07
zig fmt compiling
2025-07-01 16:35:26 -07:00
Andrew Kelley
bb1dffcf32
much of the compiler upgraded to new API
2025-07-01 16:35:26 -07:00
Andrew Kelley
f3be721785
build runner compiling
2025-07-01 16:35:26 -07:00
Andrew Kelley
716b4489be
update more of the std lib to new API
2025-07-01 16:35:26 -07:00
Andrew Kelley
fced9467e8
std ArrayList unit tests passing
2025-07-01 16:35:26 -07:00
Jacob Young
917640810e
Target: pass and use locals by pointer instead of by value
...
This struct is larger than 256 bytes and code that copies it
consistently shows up in profiles of the compiler.
2025-06-19 11:45:06 -04:00
Jacob Young
3ce8d19f76
llvm.ir: fix subrange version
...
Closes #23898
2025-06-13 21:23:41 -04:00
xdBronch
a74119ac49
bail when failing to parse error
2025-06-13 18:44:53 +01:00
Andrew Kelley
dcdb4422b8
Merge pull request #24124 from mlugg/better-backend-pipeline-2
...
compiler: threaded codegen (and more goodies)
2025-06-12 20:46:36 -04:00
Daniel Kongsgaard
5e3c0b7af7
Allow more operators on bool vectors ( #24131 )
...
* Sema: allow binary operations and boolean not on vectors of bool
* langref: Clarify use of operators on vectors (`and` and `or` not allowed)
closes #24093
2025-06-12 15:16:23 -07:00
Jacob Young
c95b1bf2d3
x86_64: remove air references from mir
2025-06-12 13:55:41 +01:00
Jacob Young
0bf8617d96
x86_64: add support for pie executables
2025-06-06 23:42:14 -07:00
mlugg
38266c5035
AstGen: fix name strategy bugs
...
Representing this with a `GenZir` field is incredibly bug-prone.
Instead, just pass this data directly to the relevant expression in the
very few places which actually provide a name strategy.
Resolves : #22798
2025-06-06 22:04:51 +01:00
Alex Rønne Petersen
9d534790eb
std.Target: Introduce Cpu convenience functions for feature tests.
...
Before:
* std.Target.arm.featureSetHas(target.cpu.features, .has_v7)
* std.Target.x86.featureSetHasAny(target.cpu.features, .{ .sse, .avx, .cmov })
* std.Target.wasm.featureSetHasAll(target.cpu.features, .{ .atomics, .bulk_memory })
After:
* target.cpu.has(.arm, .has_v7)
* target.cpu.hasAny(.x86, &.{ .sse, .avx, .cmov })
* target.cpu.hasAll(.wasm, &.{ .atomics, .bulk_memory })
2025-06-05 06:12:00 +02:00
Alex Rønne Petersen
3b2bef8a95
Merge pull request #24025 from alexrp/glibc-deduplication
...
`libc`: Merge header directories for glibc and NetBSD libc where applicable
2025-06-04 05:14:21 +02:00
Jacob Young
b483defc5a
Legalize: implement scalarization of binary operations
2025-05-31 18:54:28 -04:00
Alex Rønne Petersen
0cbff2ff7f
mingw: Remove libscrnsav(e,w) support.
...
This defines a WinMain() function that can be potentially problematic when it
isn't wanted. If we add back support for this library in the future, it should
be built separately from mingw32.lib and on demand.
2025-05-30 01:03:47 +02:00
Alex Rønne Petersen
7c7627b18a
compiler: Use new merged header paths for glibc and NetBSD libc.
2025-05-30 00:15:37 +02:00
Jacob Young
8bacf3e757
x86_64: implement integer @reduce(.Max)
2025-05-28 15:10:22 -04:00
Jacob Young
3fd3358f37
x86_64: implement integer @reduce(.Min)
2025-05-28 15:10:22 -04:00
Jacob Young
a4a1ebdeed
x86_64: implement optimized float @reduce(.Mul)
2025-05-28 15:10:22 -04:00
Jacob Young
d69f4c48fc
x86_64: rewrite bitwise @reduce
2025-05-28 15:10:22 -04:00
KNnut
7dbd21bd5b
std.zig.LibCDirs: fix wasi-libc support
2025-05-24 13:32:17 +02:00
Alex Rønne Petersen
f925e1379a
std.zig.target: Remove thumb-freebsd-eabihf.
...
Leftover from 76d525f74a33e20dfa4c9e84b27ce8ad84529cac.
2025-05-21 09:55:23 +02:00
Alex Rønne Petersen
b27c5fbbde
Merge pull request #23913 from alexrp/netbsd-libc
...
Support dynamically-linked NetBSD libc when cross-compiling
2025-05-20 07:46:08 +02:00
Jacob Young
a3b0c242b0
x86_64: rewrite @splat
2025-05-17 18:00:17 -04:00
Jacob Young
6d68a494c8
x86_64: rewrite vector +|
2025-05-17 02:08:41 -04:00
Alex Rønne Petersen
a090ef007b
std.zig.target: Add NetBSD libc support.
2025-05-17 04:41:27 +02:00
Alex Rønne Petersen
35f8121194
std.zig.LibCDirs: Add NetBSD libc support.
2025-05-17 04:41:27 +02:00
wooster0
56fad6a195
make error messages prettier
...
Error messages never contain periods or grave accents.
Get rid of the periods and use apostrophes instead in
probably the only two error messages that had them.
2025-05-15 16:39:15 +01:00
Alex Rønne Petersen
bc3c50c21e
Merge pull request #23700 from sorairolake/rename-trims
...
chore(std.mem): Rename `trimLeft` and `trimRight` to `trimStart` and `trimEnd`
2025-05-12 17:11:52 +02:00
Alex Rønne Petersen
833d4c9ce4
Merge pull request #23835 from alexrp/freebsd-libc
...
Support dynamically-linked FreeBSD libc when cross-compiling
2025-05-12 01:19:23 +02:00
Alex Rønne Petersen
eeaa1b17c6
std.zig.target: Add FreeBSD libc support.
2025-05-10 12:19:26 +02:00
Alex Rønne Petersen
01390cc533
std.zig.LibCDirs: Add FreeBSD libc support.
2025-05-10 12:19:26 +02:00
Alex Rønne Petersen
35f30558ad
std.Build: Rename --glibc-runtimes to --libc-runtimes and enable it for musl.
2025-05-06 01:52:47 +02:00
Andrew Kelley
7bd3207921
make @memcpy and @memmove share panic handlers
2025-04-27 23:30:00 -07:00
Andrew Kelley
1b76d4c53a
Merge pull request #22605 from dweiller/memmove
...
add `@memmove` builtin
2025-04-27 14:39:21 -04:00
Shun Sakai
5fc4448e45
chore(std.mem): Rename trimLeft and trimRight
...
Rename `trimLeft` to `trimStart`, and `trimRight` to `trimEnd`.
`trimLeft` and `trimRight` functions remain as deprecated aliases for
these new names.
2025-04-27 18:03:59 +09:00
Alex Rønne Petersen
23440fbb99
std.Target: Remove Abi.gnuilp32.
...
* This has not seen meaningful development for about a decade.
* The Linux kernel port was never upstreamed.
* The glibc port was never upstreamed.
* GCC 15.1 recently deprecated support it.
It may still make sense to support an ILP32 ABI on AArch64 more broadly (which
we already have the Abi.ilp32 tag for), but, to the extent that it even existed
in any "official" sense, the *GNU* ILP32 ABI is certainly dead.
2025-04-26 22:12:31 +02:00
dweiller
898ca82458
compiler: add @memmove builtin
2025-04-26 13:34:16 +10:00
Chris Boesch
206bd1ced8
Merge pull request #23268 from chrboesch/i19875
...
std.posix: Added 'error.ProcessNotFound' where necessary
2025-04-14 22:20:44 +02:00
Alex Rønne Petersen
9352f379e8
Merge pull request #23529 from alexrp/2879-groundwork
...
Introduce libzigc for libc function implementations in Zig
2025-04-12 18:14:17 +02:00
Alex Rønne Petersen
ed9aa8f259
compiler: Move int size/alignment functions to std.Target and std.zig.target.
...
This allows using them in e.g. compiler-rt.
2025-04-11 05:22:00 -04:00
Jacob Young
c82e1fe880
Merge pull request #23355 from jacobly0/x86_64-rewrite
...
x86_64: start rewriting overflow operations
2025-04-11 05:21:44 -04:00
Alex Rønne Petersen
0a5c088ecc
compiler: Add hexagon-linux-musl support.
...
Closes #21588 .
2025-04-11 02:28:35 +02:00
Alex Rønne Petersen
71a237e764
std.zig.system: Force soft_float feature on for MIPS soft float targets.
...
Workaround for: https://github.com/llvm/llvm-project/issues/135283
2025-04-11 02:08:18 +02:00
Jacob Young
06eebafadd
AstGen: redistribute inline asm limits
2025-04-10 06:04:09 -04:00
Meghan Denny
70437354c0
std: add nvidia as a known arm implementer
2025-04-09 10:14:42 +02:00