Veikka Tuominen
e584558bd8
Sema: do not use coerceCompatiblePtr for alignCast
...
Closes #12902
2022-09-19 18:34:52 +03:00
Jakub Konka
e42f83825f
Merge pull request #12893 from ziglang/macho-relocs-cleanup
...
macho: rewrite incremental linker, and init splitting of linking contexts
2022-09-18 23:19:33 +02:00
Loris Cro
2698cb346a
autodoc: don't collect tests, usingnamespace and comptime blocks
...
Previously we were collecting as autodoc decls everything that was a ZIR
decl in a rather naive way. Now we only collect decltests as part of the
data relative to the decl they refer to, and ignore everything else.
2022-09-18 20:00:44 +02:00
Jakub Konka
4474f8dd6e
macho: cleanup how we collect dyld data in incremental linker
2022-09-18 15:13:45 +02:00
Jakub Konka
f4706c23e9
macho: fix after sync with master
2022-09-18 11:01:29 +02:00
Jakub Konka
372acb8350
macho: ensure we extend section size when updating last atom
2022-09-18 10:00:04 +02:00
Jakub Konka
275abf7c57
macho: fix overlapping segments in file offset
2022-09-18 10:00:04 +02:00
Jakub Konka
66942cbc1a
macho: make sure both vmsize and filesize for segments match always
2022-09-18 10:00:04 +02:00
Jakub Konka
2c971f0085
fix code formatting
2022-09-18 10:00:04 +02:00
Jakub Konka
e35a16c7e0
macho: make sure both vmsize and filesize for segments match
2022-09-18 10:00:04 +02:00
Jakub Konka
7f7669a09e
macho: fix building on 32bit targets
2022-09-18 10:00:04 +02:00
Jakub Konka
dc6480dba5
macho: allow for add and ldr when resolving GOT_LOAD_* relocs
2022-09-18 10:00:04 +02:00
Jakub Konka
618c7a3546
macho: add logic for expanding segments in memory
2022-09-18 10:00:04 +02:00
Jakub Konka
e601969244
macho: rewrite how we allocate space in incremental context
2022-09-18 10:00:04 +02:00
Jakub Konka
79ab46ec91
macho: start separating linking contexts
2022-09-18 10:00:04 +02:00
Jakub Konka
53bd7bd044
macho: move to incremental writes and global relocs for incremental
2022-09-18 10:00:04 +02:00
Jakub Konka
34f9360ea2
macho: do not call populateMissingMetadata in full link mode
2022-09-18 10:00:04 +02:00
Jakub Konka
e5da251635
macho: clean up use of section ids
2022-09-18 10:00:04 +02:00
Jakub Konka
05d0c42894
macho: move main driver loop for one-shot into standalone zld module
2022-09-18 10:00:03 +02:00
Jakub Konka
26af8d254a
macho: separate in structure and logic incremental relocs and file relocs
2022-09-18 10:00:03 +02:00
Jakub Konka
5391541f11
macho: do not assume every object has a symtab
...
For example, building stage2 requires an empty `empty.cc` source file
compiling which generates a valid translation unit with no symtab/strtab.
In this case, we cannot simply assume that every translation unit will
have a valid symtab; instead, we cautiously default the input symtab
and strtab fields to optional `null` to signal symtab's presence or its lack of.
In case the symtab is not present, we catch this fact when splitting
input sections into subsections and create a synthetic symbol per every
suitable section.
2022-09-17 18:42:47 +02:00
Veikka Tuominen
b2aedb0709
Merge pull request #12796 from Vexu/referenced-by-v2
...
stage2: add referenced by trace to compile errors attempt #2 (+ some fixes)
2022-09-16 23:49:00 +03:00
Andrew Kelley
8edd7219c0
Sema: improve source location after as_node is used
...
+2 more passing compile error tests
2022-09-16 14:47:17 -04:00
Andrew Kelley
d3d24874c9
std: remove deprecated API for the upcoming release
...
See #3811
2022-09-16 14:46:53 -04:00
Eric Joldasov
a86c7b13a3
docgen: add f80 to builtin types
2022-09-14 20:08:34 -04:00
Koakuma
86dc982e74
stage2: sparc64: Implement airSlicePtr
2022-09-14 16:58:13 -07:00
Koakuma
ed546a7aad
stage2: sparc64: Add placeholder for some Air instructions
...
airAddSat airSubSat airMulSat airShlSat airUnaryMath airPopcount airPrefetch
airPtrElemVal airOptionalPayload airOptionalPayloadPtr airOptionalPayloadPtrSet
2022-09-14 16:58:13 -07:00
Koakuma
0e1c68d90a
stage2: sparc64: Don't track condition_flags_inst in checked binOps
...
This stops the emission of spurious CCR spills.
2022-09-14 16:57:31 -07:00
Koakuma
0464512f2e
stage2: sparc64: Implement airShlWithOverflow
2022-09-14 16:57:31 -07:00
Koakuma
de17fe66a5
stage2: sparc64: Tidy up binOp and enable more operations
...
sub, mul, addwrap, subwrap, mulwrap, shr, shr_exact
2022-09-14 16:57:31 -07:00
Koakuma
ab3d3b260b
stage2: sparc64: Add airClz/airCtz placeholder
2022-09-14 16:57:31 -07:00
Koakuma
b9897c3b84
stage2: sparc64: Implement airMulOverflow for <= 32 bits
2022-09-14 16:57:31 -07:00
Koakuma
844d3a5a74
stage2: sparc64: Fix SPARCv9 shift opcodes encoding
2022-09-14 16:57:31 -07:00
Koakuma
61265fba04
stage2: sparc64: Implement airBinop for bool_and/or
2022-09-14 16:57:31 -07:00
Koakuma
4fc6df9f62
stage2: sparc64: Implement airTagName
2022-09-14 16:57:31 -07:00
Koakuma
f01867f78e
stage2: sparc64: Implement airWrapOptional
2022-09-14 16:57:31 -07:00
Koakuma
b6307144c0
stage2: sparc64: Implement airPtrToInt
2022-09-14 16:57:31 -07:00
Koakuma
2c9ab03b0b
stage2: sparc64: Add airCmpLtErrorsLen placeholder
2022-09-14 16:57:31 -07:00
Koakuma
5b0134e3ed
stage2: sparc64: Change branch_link Mir field definition
2022-09-14 16:57:31 -07:00
Koakuma
64b61f0740
stage2: sparc64: Add airFloatToInt & airIntToFloat placeholder
2022-09-14 16:57:31 -07:00
Andrew Kelley
17596c79a9
stage2: fix compile error merge conflict
...
3250b20ceabea044bd4c7b1653d76d7069840058 had a silent merge conflict
with master branch; fixed now.
2022-09-14 16:41:53 -07:00
Jan Philipp Hafer
8cab0762d8
place zig-cache directory next to build.zig
...
* search upwards, if no build.zig is found
* if this fails or any error occurs, fallback to global zig-cache
Closes #11672
2022-09-14 19:39:25 -04:00
Manlio Perillo
3250b20cea
src/print_env: print the native target
...
Add the native target triple to the zig env command output.
The target triple is formatted the same way as it is done in the
zig targets command.
2022-09-14 19:28:47 -04:00
Andrew Kelley
85b10eb07c
ZIG_EXE envirnoment variable instead of testing build options
...
No longer introduce build options for tests. Instead, ZIG_EXE
environment variable is added to any invocation of `zig run` or `zig
test`.
The end result of this branch is the same: there is no longer a
mandatory positional command line argument when invoking zig test
binaries directly.
2022-09-14 14:56:45 -07:00
Veikka Tuominen
31daea74d2
stage2: implement referenced by trace for error messages
...
Closes #7668
Closes #12141
2022-09-15 00:50:18 +03:00
Veikka Tuominen
5e4483fff8
Sema: handle comptime fields in field call bind
...
Closes #12801
2022-09-15 00:50:18 +03:00
Veikka Tuominen
5e37da6ade
Sema: check_comptime_control_flow needs to check runtime_index
2022-09-15 00:50:18 +03:00
Veikka Tuominen
bf4a3df9a9
Sema: allow runtime break from inline loop
...
Closes #12787
2022-09-15 00:48:47 +03:00
Veikka Tuominen
002260c274
Sema: copy runtime_index & friends when making child blocks
2022-09-15 00:48:47 +03:00
Veikka Tuominen
6f6b14621d
value: hash extern functions
...
Closes #12766
2022-09-15 00:48:47 +03:00