Andrew Kelley
f545fc28b3
build: pass --abbrev to git rather than relying on global config
...
For computing the zig version number, pass --abbrev=9 rather than
requiring the user to set their git configuration in order to make zig
versions match the standard.
2023-12-19 00:54:48 -08:00
Carl Åstholm
4d9c4ab82c
More accurate argv-to-command-line serialization when spawning child processes on Windows
...
The old implementation had a bug in it in that it didn't quote empty strings, but it also didn't properly follow the special quoting rules required for the first argument (the executable name). This new implementation serializes the argv correctly such that it can be parsed by the `CommandLineToArgvW` algorithm.
2023-12-18 23:58:26 +01:00
Carl Åstholm
13f78e24b8
Update ArgIterator on Windows to follow standard Windows parsing rules
...
This adds `ArgIteratorWindows`, which faithfully replicates the quoting and escaping behavior observed in `CommandLineToArgvW` and should make Zig applications play better with processes that abuse these quirks.
2023-12-18 22:55:46 +01:00
Artem Kolichenkov
90a19f7411
std.net: add explicit error sets for IP parsing
...
Inferred errors in switch statements prevented IP address parsing at comptime.
Adding explicit error sets fixes it.
Closes #18276
2023-12-16 16:15:51 +00:00
Carl Åstholm
779b8e2598
Expose -f(no-)formatted-panics to the build system
2023-12-16 04:08:05 +02:00
Jan Philipp Hafer
70664547ce
std.net.test: cleanup socket stream
2023-12-15 21:15:35 +02:00
Andrew Kelley
225fe6ddbf
Compilation: remove parent_compilation_link_libc
...
This option is not needed since the link_libc flag can be set directly
when creating compiler_rt.
This fixes a problem where an immutable flag was being mutated in Sema.
2023-12-13 11:28:42 -08:00
Jakub Konka
4574dea13a
Merge pull request #18271 from ziglang/check-object-scoped-checks
...
lib/std/Build/CheckObject: introduce scoped checks
2023-12-13 18:47:09 +01:00
Jakub Konka
5d12622469
lib/std/Build/CheckObject: split dyld info into subsections for easier scoped testing
2023-12-13 13:53:05 +01:00
Jakub Konka
f26459e594
lib/std/Build/CheckObject: update all tests to new API
2023-12-13 12:06:25 +01:00
Jakub Konka
c4519d6bba
lib/std/Build/CheckObject: implement for Wasm
2023-12-13 11:41:51 +01:00
Jakub Konka
92cca7fbf1
lib/std/Build/CheckObject: implement for ELF
2023-12-13 11:38:57 +01:00
Jakub Konka
2492488501
lib/std/Build/CheckObject: introduce scoped checks; implement for MachO
2023-12-13 11:22:46 +01:00
Jakub Konka
a38af5f542
lib/std/Build/CheckObject: fix parsing and dumping special dylib lookup values
2023-12-13 01:29:01 +01:00
loris
37458cc886
allow sqe entries up to 32768
2023-12-12 06:49:19 +02:00
Loris Cro
26e27f5f64
std.Build.Cache: add HexDigest type
2023-12-11 23:08:03 +01:00
Eric Eastwood
5c1428ea9d
Add getPtrConstAssertContains(...) for compatibility with a const std.EnumMap
...
This way people can use `const` with a `std.EnumMap`
and be able to `getPtrAssertContains(...)` like the
would with a mutable `var` instance.
Aligns with the existing `getPtr(...)`/`getPtrConst(...)`
methods.
2023-12-11 22:04:43 +00:00
Andrew Kelley
3d23ba9c35
Revert "Sema: forbid @breakpoint from being called at comptime"
...
This reverts commit f88b523065fbb8afbd723fd6e803ace0334b713c.
Let's please go through the language proposal process for this change. I
don't see any justification for this breaking change even in the commit
message.
2023-12-11 12:24:15 -07:00
Bogdan Romanyuk
f88b523065
Sema: forbid @breakpoint from being called at comptime
2023-12-11 17:52:19 +02:00
Travis Staloch
5bbacb0c8c
fmt.parseWithSign(): prevent edge case overflows
...
previously when T was smaller than 8 bits, it was possible for base
to overflow T (because base is a u8). this patch prevents this by
accumulating into a U rather than T which is at least 8 bits wide.
this is the best way i could think of to maintain performance. this
will only affect parsing of integers less than 8 bits by adding one
additional cast at return. additionally, this patch may be slightly
slower to return an error for integers less than 8 bits which overflow
because it will accumulate a few more digits before the overflow check
at return.
* add tests which previously overflowed when they shouldn't have
closes #18157
2023-12-11 17:49:22 +02:00
xdBronch
a817e27c7d
use linux.perf_event_open directly
2023-12-11 17:48:18 +02:00
Jakub Konka
5c0d58b71f
Merge pull request #18243 from ziglang/check-macho-more
...
lib/std/Build/CheckObject: dump more Mach-O info
2023-12-10 09:48:50 +01:00
Jakub Konka
a2d8e03931
lib/std/Build/CheckObject: dump Mach-O dyld_info_only bind, weak-bind and lazy-bind data
2023-12-10 00:50:52 +01:00
Jakub Konka
5bda88f9a3
lib/std/Build/CheckObject: dump Mach-O dyld_info_only rebase data
2023-12-10 00:14:53 +01:00
Jakub Konka
40952b4cdb
lib/std/Build/CheckObject: dump Mach-O dyld_info_only exports data
2023-12-09 10:57:12 +01:00
Jakub Konka
eb70c8801e
lib/std/Build/CheckObject: dump Mach-O symbol attributes
2023-12-09 09:38:23 +01:00
Veikka Tuominen
69195d0cd4
AstGen: add error for using inline loops in comptime only scopes
2023-12-08 16:54:32 -08:00
Jakub Konka
36981d46a3
lib/std/Build/CheckObject: dump Mach-O header
2023-12-08 20:31:45 +01:00
Carter Snook
d270020114
std.os.dl_iterate_phdr: remove u16 error cast
2023-12-08 16:10:33 +02:00
yunsh1
7e4177a4b1
fmt: Skip extra newline if doc_comment exists
2023-12-08 16:05:46 +02:00
Meghan Denny
6a12fd62c1
std: make std.unicode.initComptime() a comptime-known function
...
resolved a TODO :)
2023-12-08 15:59:17 +02:00
xdBronch
7a46c20a79
switch to mem.span
...
Co-authored-by: erikarvstedt <36110478+erikarvstedt@users.noreply.github.com>
2023-12-08 15:58:08 +02:00
xdBronch
e9bd10cfda
add getName helper to inotify_event
2023-12-08 15:58:08 +02:00
Jakub Konka
56deb5b054
macho: rename flag to EXPORT_SYMBOL_FLAGS_WEAK_DEFINITION
2023-12-06 23:29:08 +01:00
Jakub Konka
79316ee10b
lib/std/macho: add missing LC defs and missing N_NO_DEAD_STRIP desc for nlists
2023-12-06 22:25:44 +01:00
Andrew Kelley
559e216f3f
Merge pull request #18207 from ziglang/elf-error-handler
...
elf: report errors for some detected malformed object contents
2023-12-05 14:06:37 -08:00
Jakub Konka
da417b851b
elf: return error.FlushFailure in flushObject and flushStaticLib codepaths when found errors
2023-12-05 18:12:58 +01:00
Jakub Konka
418b042f49
elf: fix typo
2023-12-05 18:10:09 +01:00
Jakub Konka
d05db52616
elf: copy out committed ZigObject to a buffer when creating static lib
2023-12-05 17:29:26 +01:00
Jakub Konka
ab423bd63c
elf: exit early with an error when parsing or init failed when flushing object/archive
2023-12-05 16:35:08 +01:00
Jakub Konka
ee1630beea
elf: exit early with an error when parsing or init failed
2023-12-05 16:31:47 +01:00
Jakub Konka
205857e342
elf: refactor
2023-12-05 14:54:03 +01:00
Jakub Konka
297c39ff56
test/link/elf: adjust tests for new errors
2023-12-05 14:40:13 +01:00
Jakub Konka
e3592281da
elf: escape invalid token string when reporting an error
2023-12-05 14:39:56 +01:00
Jakub Konka
e349bb2b66
elf: upcast e_shnum to u64 to check for valid ranges
2023-12-05 14:27:03 +01:00
Jakub Konka
b294103c7e
elf: report malformed archive when parsing errors
2023-12-05 14:11:45 +01:00
Jakub Konka
52959bba7c
elf: re-instate basic error reporting for LD script parser
2023-12-05 14:08:04 +01:00
Jakub Konka
2e1dd1e554
elf: move basic parse error reporting to SharedObject
2023-12-05 13:53:11 +01:00
Jakub Konka
3f42ed3ca2
elf: do not write ELF header if there were errors
2023-12-05 13:49:55 +01:00
Jakub Konka
af8621db2d
elf: report error at the point where it is happening
2023-12-05 13:28:47 +01:00