mlugg
9b394a200a
Sema: allow destructuring vectors
...
This was intended to work when destructuring was first implemented, and
was just unintentionally missed out.
2023-11-07 06:11:01 +00:00
Jakub Konka
bf0387b6bb
Merge pull request #17873 from ziglang/elf-archive
...
elf: implement archiving input object files
2023-11-07 03:22:14 +01:00
Andrew Kelley
234693bcbb
tests: skip native CPU std tests on Windows
...
See tracking issue #17902
2023-11-06 16:03:04 -07:00
Jakub Konka
261db02018
CheckObject: support parsing and dumping archive symtab for ELF
2023-11-06 21:18:26 +01:00
Jacob Young
9ced27dace
x86_64: fix passing register-sized payload as non-reigster-sized union
...
Closes #17885
2023-11-06 14:11:31 -05:00
Bogdan Romanyuk
62e67a2b56
Sema: emit error when pointer to extern function is called
2023-11-06 15:26:28 +00:00
Jakub Konka
6490e2ed82
test/link/elf: improve test linking with static lib
2023-11-06 14:47:01 +01:00
Andrew Kelley
1b0b46a8a9
Merge pull request #17871 from jacobly0/x86_64
...
x86_64: get a compiler compiled with the x86_64 backend passing x86_64 backend tests
2023-11-05 18:45:21 -05:00
Andrew Kelley
702b809ea3
Merge pull request #17815 from Luukdegram/wasm-no-entry
...
wasm-linker: implement `-fno-entry` and correctly pass `--shared` and `--pie` when given
2023-11-05 18:44:12 -05:00
Jacob Young
0ea7189c23
behavior: enable test passing with x86_64 backend
2023-11-05 11:54:29 -05:00
Jakub Konka
205f8214d8
test/link/elf: enable our ELF archiver
2023-11-05 13:42:26 +01:00
Bogdan Romanyuk
e9a6197a8e
Sema: fix error notes with wrong extern type
2023-11-05 12:36:06 +02:00
Jakub Konka
f24ceec35a
Merge pull request #17844 from ziglang/elf-object
...
elf: handle emitting relocatables and static libraries - humble beginnings
2023-11-04 20:58:15 +01:00
Jakub Konka
ee66137269
elf: add link smoke tests covering emitting obj and static lib
2023-11-04 09:13:34 +01:00
Jakub Konka
b8c8565e93
elf: implement --gc-sections for non-LLVM Zig source
2023-11-04 09:08:27 +01:00
Jacob Young
509be7cf1f
x86_64: fix std test failures
2023-11-03 23:18:21 -04:00
Luuk de Gram
c893f83715
cli: consolidate entry point flags
2023-11-03 12:48:53 +01:00
Luuk de Gram
938f9dea37
update linker tests
...
This updates all linker tests to include `no_entry` as well as changes
all tests to executable so they do not need to be updated later when
the in-house WebAssembly linker supports dynamic libraries.
2023-11-03 12:48:53 +01:00
Luuk de Gram
db1825e931
wasm: re-enable regressed tests
2023-11-01 19:47:15 +01:00
Andrew Kelley
3fc6fc6812
std.builtin.Endian: make the tags lower case
...
Let's take this breaking change opportunity to fix the style of this
enum.
2023-10-31 21:37:35 -04:00
Jacob Young
d890e81761
mem: fix ub in writeInt
...
Use inline to vastly simplify the exposed API. This allows a
comptime-known endian parameter to be propogated, making extra functions
for a specific endianness completely unnecessary.
2023-10-31 21:37:35 -04:00
Jacob Young
50cdb65784
Sema: fix incorrect error comptime-mutating empty array
2023-10-31 21:37:35 -04:00
kcbanner
825da34769
Add compile error test case for union layout depending on pointer alignment
2023-10-31 01:35:58 +00:00
kcbanner
fb523c6283
sema: when guessing union alignment, save the result and check if the guess was correct
2023-10-31 01:35:58 +00:00
Jakub Konka
10d03acdb5
Merge pull request #17773 from ziglang/elf-exports
...
link: implement exporting anon decls
2023-10-30 17:29:05 +01:00
DilithiumNitrate
91e117697a
Fix hasRuntimeBitsAdvanced lazy case for pointers and optionals
...
As suggested by mlugg, always returns `error.NeedLazy`. If this has a
performance impact, it could be replaced by adding lazy handling to
`comptimeOnlyAdvanced`.
2023-10-29 21:12:43 +00:00
Jakub Konka
71dfea1f17
coff: implement exporting anon decls
2023-10-29 18:55:58 +01:00
Jakub Konka
a7a95ce9c4
macho: implement exporting anon decls
2023-10-29 18:55:58 +01:00
Jakub Konka
eaca72534c
elf: implement exporting anon decls
2023-10-29 18:55:58 +01:00
Jakub Konka
209fd8cb93
elf: add partial implementation of exporting anon decls
2023-10-29 18:55:58 +01:00
Jacob Young
f6f2708d82
x86_64: fix compiler rt test failures
2023-10-29 07:20:36 -04:00
Jacob Young
20ade4ce7f
tests: change some x86_64 backend targets to pic for more coverage
2023-10-29 05:15:35 -04:00
Jakub Konka
13c7aa5fef
Merge pull request #17727 from ziglang/elf-memory-deferred
...
x86_64+elf: do not pass hardcoded memory addresses in prep for build-obj
2023-10-28 19:41:07 +02:00
mlugg
c1c9bc0c41
Sema: do not assume switch item indices align with union field indices
...
Resolves : #17754
2023-10-28 06:30:28 +01:00
Jacob Young
a440cf6d44
x86_64: fix c abi test failures
2023-10-27 23:31:20 -04:00
Andrew Kelley
24d9438bcc
split export behavior test into export_keyword and export_builtin
2023-10-27 12:45:04 -07:00
Andrew Kelley
9f0fd72321
categorize nan behavior test
...
move it from bugs/xxx.zig to its own category
2023-10-27 12:43:34 -07:00
Andrew Kelley
3fb301b16a
categorize fn ptr behavior test
...
move a function pointer test from bugs/xxx.zig to fn.zig
2023-10-27 12:43:34 -07:00
Andrew Kelley
dfe9cae4eb
categorize globals behavior tests
...
moves some tests that store to global variables to their own category
instead of being named after a GitHub issue.
2023-10-27 12:43:34 -07:00
Andrew Kelley
1c85b0acbb
Merge pull request #17735 from ziglang/export-anon
...
link: support exporting constant values without a Decl
2023-10-27 15:20:13 -04:00
Andrew Kelley
4bc88dd116
link: support exporting constant values without a Decl
...
The main motivating change here is to prevent the creation of a fake
Decl object by the frontend in order to `@export()` a value.
Instead, `link.updateDeclExports` is renamed to `link.updateExports` and
accepts a tagged union which can be either a Decl.Index or a
InternPool.Index.
2023-10-26 20:32:16 -07:00
Jacob Young
48526c0eb6
test: enable c-abi-tests for the x86_64 backend
...
Add testing for `x86_64_v2` and `x86_64_v3` with the x86_64 backend.
2023-10-26 21:45:58 -04:00
Jakub Konka
cc394431ae
Merge pull request #17699 from ziglang/elf-better-alloc
...
elf: allocated PHDR table always immediately succeeding the EHDR
2023-10-25 23:25:56 +02:00
Jakub Konka
bc081901dc
Step.Compile: differentiate between fuzzy and exact matches for compile errors
2023-10-25 11:40:16 +02:00
Jacob Young
b55377a5ab
x86_64: pass more tests
...
* 128-bit integer multiplication with overflow
* more instruction encodings used by std inline asm
* implement the `try_ptr` air instruction
* follow correct stack frame abi
* enable full panic handler
* enable stack traces
2023-10-25 04:28:30 -04:00
Jakub Konka
55c7a6d99d
elf: test unknown file type error
2023-10-24 23:11:50 +02:00
Jakub Konka
bc9ab3a613
elf: test mismatched cpu architecture error
2023-10-24 22:48:55 +02:00
Jakub Konka
c9c210a4e7
elf: test path errors in ld script parsing
2023-10-24 22:31:25 +02:00
Jakub Konka
403e539669
elf: test unresolved symbol reference error
2023-10-24 22:08:36 +02:00
Jakub Konka
8087ec8e8c
elf: improve parsing of ld scripts and actually test linking against them
2023-10-24 19:03:00 +02:00