Luuk de Gram
6c1ab376dd
wasm: store __zig_lt_errors_len in linear data
...
Rather than using a function call to verify if an error fits within
the global error set's length, we now store the error set' size in
the .rodata segment of the linear memory and load that value onto
the stack to check with the integer value.
2023-04-22 21:57:38 +02:00
Luuk de Gram
d4ceb12ae9
wasm: implement error_set_has_value
...
This implements the safety check for error casts. The instruction
generates a jump table with 2 possibilities. The operand is used
as an index into the jump table. For cases where the value does
not exist within the error set, it will generate a jump to the
'false' block. For cases where it does exist, it will generate
a jump to the 'true' block. By calculating the highest and lowest
value we can keep the jump table smaller, as it doesn't need to
contain an index into the entire error set.
2023-04-22 21:16:23 +02:00
Luuk de Gram
27a41413f7
wasm: enable @intToError test
2023-04-22 21:16:23 +02:00
Luuk de Gram
c4b295bb6e
wasm: implement cmp_lt_errors_len instruction
...
Creates a global undefined symbol when this instruction is called.
The linker will then resolve it as a lazy symbol, ensuring it is
only generated when the symbol was created. In `flush` it will then
generate the function as only then, all errors are known and we can
generate the function body. This logic allows us to re-use the same
functionality of linker-synthetic-functions.
2023-04-22 21:16:23 +02:00
Andrew Kelley
21aa55d34e
Merge pull request #15356 from jacobly0/cbe-std-tests
...
cbe: enable CI for std tests
2023-04-22 11:04:36 -07:00
Casey Banner
c7067ef6e8
sema: fix memory corruption caused by resolveStructLayout
2023-04-22 17:12:35 +00:00
Loris Cro
7e9a760482
Merge pull request #15332 from der-teufel-programming/autodoc-src-files-dirs
...
Autodoc: html files for sources scoped with respect to packages
2023-04-22 19:12:13 +02:00
Loris Cro
c5fb245f60
Merge branch 'master' into autodoc-src-files-dirs
2023-04-22 19:10:23 +02:00
Loris Cro
ad634bca9f
Merge pull request #15385 from der-teufel-programming/autodoc-cc-inline
...
autodoc: Handle calling conventions better
2023-04-22 19:07:28 +02:00
Jakub Konka
c4a63389e4
Merge pull request #15371 from ziglang/better-elf
...
link: make GOT (and other synthetic sections) handling common across linkers
2023-04-22 13:39:07 +02:00
dweiller
68e4a57847
docgen: fix exe_build_err code snippets
...
Fixes #15297 .
2023-04-22 14:30:08 +03:00
David CARLIER
29bc6fc242
process: totalSystemMemory freebsd portage
2023-04-22 14:10:30 +03:00
Borja Clemente
bd801dc489
std: GPA deinit return an enum instead of a bool
2023-04-22 14:09:44 +03:00
David CARLIER
3f259d3550
std: adding netbsd's pthread to cpu affinity api
2023-04-22 13:59:00 +03:00
Bogdan Romanyuk
b22155d352
Add doc comments for ComptimeStringMap
...
Some parts of stdlib are still undocumented yet.
2023-04-22 13:55:30 +03:00
David CARLIER
dbdafb6cc5
os: expand sched_getaffinity wrapper and update freebsd's cpuset api flags.
2023-04-22 13:54:57 +03:00
-k
0282c2a924
doc: fix minor grammar issues
2023-04-22 13:09:15 +03:00
Jacob Young
f5cf732659
zig.h: add missing msvc atomics
2023-04-22 01:16:25 -04:00
Jacob Young
3f1c51ca90
std: remove names from incorrectly named tests
...
Tests that only reference decls for the purpose of analyzing more tests
should be unnamed, otherwise trying to filter for just a referenced test
can become impossible depending on the names.
2023-04-21 23:08:48 -04:00
Jacob Young
08a8aa100d
cbe: fix local aliasing issues in atomic ops
2023-04-21 23:08:48 -04:00
Jacob Young
5feb27c126
zig.h: fix float negation
2023-04-21 23:08:48 -04:00
Krzysztof Wolicki
428f745270
autodoc: Change html file destination dirs
...
Each file is now saved with its package index in data.json
2023-04-22 02:36:19 +02:00
Manlio Perillo
4374ce51b0
std.Build.RunStep: fix captureStdOut function return type
...
The return type of the captureStdOut function is incorrect.
Replace *std.Build.GeneratedFile with std.Build.FileSource.
2023-04-21 15:24:23 -07:00
Jakub Konka
14dfbbc213
macho: rebase lazy pointers and apply corrected base offset
2023-04-21 22:44:28 +02:00
Jakub Konka
9a181f367d
macho: mark relocs dirty by target when updating GOT/stubs
2023-04-21 22:44:28 +02:00
Jakub Konka
a596e48d8f
coff: mark relocs dirty by target when updating GOT
2023-04-21 22:44:28 +02:00
Jakub Konka
dd300d92e1
coff: treat vmaddr of 0 as unallocated when checking if resolvable
2023-04-21 22:44:28 +02:00
Jakub Konka
bee35fe3f0
coff: add image base to GOT relocations
...
Sort base relocations by address for deterministic debugging.
2023-04-21 22:44:28 +02:00
Jakub Konka
ae8fb21514
coff: use TableSection for GOT
2023-04-21 22:44:28 +02:00
Jakub Konka
d6e66cff12
macho: fix dirtying of GOT entries
2023-04-21 22:44:28 +02:00
Jakub Konka
f9e9974c8f
macho: skip GOT for TLVs; handle them separately when lowering
2023-04-21 22:44:27 +02:00
Jakub Konka
9530b95afe
macho: refactor common codepath for collecting bindings from TableSection
2023-04-21 22:44:27 +02:00
Jakub Konka
cec4755310
macho: do not allocate atom for __stub_helper preamble
2023-04-21 22:44:27 +02:00
Jakub Konka
fa40267b04
macho: do not allocate atoms for stub entries
2023-04-21 22:44:27 +02:00
Jakub Konka
c55e821df6
macho: resolve relocs before writing to memory (fixes HCS)
2023-04-21 22:44:27 +02:00
Jakub Konka
91bb9302e5
macho: correctly dirty the GOT table after memory realloc
2023-04-21 22:44:27 +02:00
Jakub Konka
c6e916d7fe
macho: fix runtime panics
2023-04-21 22:44:27 +02:00
Jakub Konka
711bc2cf39
macho: use generic TableSection for GOT mgmt
2023-04-21 22:44:27 +02:00
Jakub Konka
8e3100ae02
elf: make TableSection a generic construct
2023-04-21 22:44:27 +02:00
Jakub Konka
8a3ad3f620
elf: do not reserve a GOT slot for every Atom
2023-04-21 22:44:25 +02:00
Jacob Young
d56c6c7791
cbe: implement 128-bit atomics support
...
* Disable 128-bit atomics for x86_64 generic (currently also baseline)
because they require heavy abi agreement to correctly lower.
** This is a breaking change **
* Enable 128-bit atomics for aarch64 in Sema since it just works.
2023-04-21 16:36:31 -04:00
Jacob Young
5afaaf865f
zig.h: fix msvc abi for f128 with a gnu compiler
2023-04-21 16:36:31 -04:00
Jacob Young
7ca9b835a1
std: disable failing test
...
Tracked by #15381
2023-04-21 16:36:31 -04:00
Jacob Young
6b23a7b61a
behavior: enable a bunch of disabled tests
2023-04-21 16:36:31 -04:00
Jacob Young
a519c9dace
cbe: fix atomic float min/max
...
These need `zig_atomic`, unlike int min/max.
2023-04-21 16:36:31 -04:00
Jacob Young
e364627e3e
cbe: fix float casts involving f16
...
Fixes bugs with a previous fix to the f16 abi on x86 darwin.
2023-04-21 16:36:31 -04:00
Jacob Young
b45bcd6420
cbe: fix f128 and c_longdouble abi
...
Fixes the abi of `f128` on darwin and/or aarch64. Also, when `double`
and `long double` were the same size, we used to incorrectly define
`zig_c_longdouble` as `zig_f128`.
2023-04-21 16:36:31 -04:00
Jacob Young
d9596a128f
zig.h: fix typos affecting msvc
2023-04-21 16:36:31 -04:00
Jacob Young
871d29b1a4
std: add more missing windows libraries when running tests
2023-04-21 16:36:31 -04:00
Jacob Young
ee9ef86d89
test: exclude the last warning from cbe tests
2023-04-21 16:36:31 -04:00