kcbanner
a9b68308b9
cbe: fixes for tls, support for not linking libc, and enabling tests
...
- cbe: Implement linksection support, to support TLS when not linking libc
- cbe: Support under-aligned variables / struct fields
- cbe: Support packed structs (in the C definition of packed)
- windows: Fix regression with x86 _tls_array
- compiler_rt: Add 128-bit atomics to compiler_rt
- tests: Re-enable threadlocal tests on cbe+windows, and llvm+x86
- tests: Re-enable f80 tests that now pass
- ci: change windows ci to run the CBE behaviour tests with -lc, to match how the compiler is bootstrapped
- update zig1.wasm
2023-01-29 15:04:13 -05:00
kcbanner
fcb05ee2e7
cbe: don't emit unused undefined array literals
2023-01-29 15:02:04 -05:00
joachimschmidt557
090186a0c2
stage2 AArch64: move copy-register-arg-to-stack code to fn prologue
...
This enhances the debugging experience as upon encountering a
breakpoint in a function, all arguments passed as registers have
already been moved to the stack, ready to be inspected by the
debugger.
2023-01-29 20:00:53 +01:00
Jakub Konka
a898729139
self-hosted: remove allocateDeclIndexes from the public link.File API
2023-01-27 19:51:06 +01:00
Luuk de Gram
b25efb86e1
wasm: migrate to new non-allocateDeclIndexes API
2023-01-27 19:24:15 +01:00
Jakub Konka
cc1d7a0e31
coff: migrate to new non-allocateDeclIndexes API
2023-01-26 14:29:14 +01:00
Jakub Konka
e1b9800ffa
elf: migrate to new non-allocateDeclIndexes API
2023-01-26 14:29:14 +01:00
Jakub Konka
fb8d754a4b
elf: move TextBlock into its own module and rename to Atom
2023-01-26 14:29:14 +01:00
Jakub Konka
2b5d0ca73b
elf: pull out logic for allocating a GOT entry into a helper
2023-01-26 14:29:14 +01:00
Jakub Konka
041bc71bc8
self-hosted: clean up calling logic for x86_64 and aarch64 across linkers
2023-01-26 14:29:14 +01:00
Jakub Konka
4d804c1b23
macho: completely remove allocateDeclIndexes in favor of linker tracking
2023-01-26 14:29:14 +01:00
Jakub Konka
48f9e491cb
Merge pull request #14453 from ziglang/self-hosted-codegen-cleanup
...
self-hosted: cleanup codegen.Result
2023-01-26 08:01:51 +01:00
Andrew Kelley
96a55f6ce8
Merge pull request #14434 from FnControlOption/xz
...
Add xz decoder
closes #14300
closes #2851
2023-01-25 20:31:55 -05:00
Der Teufel
e6cab917e1
autodoc: added support for tuple structs
2023-01-25 15:34:04 +01:00
Jakub Konka
a95d58caf2
self-hosted: rename codegen Result.appended to Result.ok
2023-01-25 10:28:18 +01:00
Jakub Konka
4983da40d0
self-hosted: remove unused externally_managed prong for Decls code
2023-01-25 10:10:50 +01:00
Jakub Konka
e675af0698
elf+macho: append null to DWARF strtab to avoid overlapping sects
...
Otherwise, we were risking having strtab zero-sized and overlap
with another section.
2023-01-25 09:58:13 +01:00
Andrew Kelley
cb9d00e1af
Merge pull request #14402 from kcbanner/cbe_x86_fixes
...
CBE: x86 support and MSVC ABI fixes
2023-01-24 17:53:54 -05:00
Andrew Kelley
d94613c1d0
support xz compressed tarballs in the package manager
...
This includes a breaking change:
std.compress.gzip.GzipStream renamed to
std.compress.gzip.Decompress
This follows the same naming convention as std.compress.xz so that the
stream type can be passed as a comptime parameter.
2023-01-24 15:24:19 -07:00
Der Teufel
dd8e16b906
autodoc: Add tag handling to enums and unions. Add support for Struct, Enum, Union types in exprName.
...
Anonymous types now work via a hack to ast_nodes.
2023-01-24 19:07:25 +01:00
Loris Cro
af820bbb94
autodoc: init support for guides
2023-01-24 18:56:35 +01:00
kcbanner
8dd0107255
zig fmt fixup
2023-01-23 13:48:37 -05:00
kcbanner
77084093d8
cbe: handle building for -msvc using clang and -gnu using msvc
2023-01-23 13:48:37 -05:00
kcbanner
1aa2c32055
cbe: fixes for x86
...
- Emit calling convention
- Fix .Naked handling for msvc
- Add teb helper for x86
- Fix 128-bit shl implementation when rhs is >= 64
- Add 128-bit shl tests
2023-01-23 13:48:36 -05:00
Veikka Tuominen
220020599c
Merge pull request #13670 from mlugg/fix/astgen-ambiguous-package
...
AstGen: detect and error on files included in multiple packages
2023-01-23 14:25:42 +02:00
Andrew Kelley
d395127552
Merge pull request #14389 from ziglang/ci-macos-debug
...
CI: additionally test x86_64-macos with a debug build of the zig compiler
2023-01-23 02:08:18 -05:00
Jan Philipp Hafer
55e879d2ed
std.os.windows: add possible error NETNAME_DELETED of ReadFile
...
Closes #13631
2023-01-23 02:07:12 -05:00
Andrew Kelley
8484df5bd2
zig cc: add -Wno-overriding-t-option to clang on darwin
...
This avoids a warning that sometimes occurs when providing both a
-target argument that contains a version as well as the
-mmacosx-version-min argument. Zig provides the correct value in both
places, so it doesn't matter which one gets overridden.
2023-01-22 12:27:18 -07:00
mlugg
5f9186d0ce
AstGen: detect and error on files included in multiple packages
...
Previously, if a source file was referenced from multiple packages, it
just became owned by the first one AstGen happened to reach; this was a
problem, because it could lead to inconsistent behaviour in the compiler
based on a race condition. This could be fixed by just analyzing such
files multiple times - however, it was pointed out by Andrew that it
might make more sense to enforce files being part of at most a single
package. Having a file in multiple packages would not only impact
compile times (due to Sema having to run multiple times on potentially a
lot of code) but is also a confusing anti-pattern which more often than
not is a mistake on the part of the user.
Resolves : #13662
2023-01-22 19:00:03 +00:00
mlugg
6d71d79dc2
Package: store package name directly
...
By @Vexu's suggestion, since fetching the name from the parent package
is error-prone and complex, and optimising Package for size isn't really
a priority.
2023-01-22 19:00:03 +00:00
joachimschmidt557
c0284e242f
stage2 ARM: add basic debug info for locals
...
Also disables one behavior test which was failing
2023-01-22 12:00:04 +01:00
Andrew Kelley
a51c76541d
Merge pull request #14403 from Vexu/fixes
...
Misc fixes
2023-01-22 00:36:50 -05:00
Jakub Konka
562d52e23d
Merge pull request #14397 from ziglang/macho-unwind-info
...
zld: handle parsing and synthesising unwind info in the MachO linker
2023-01-22 00:44:44 +01:00
Veikka Tuominen
aa626deadd
llvm: implement explicit Win64 and SysV calling conventions
2023-01-22 01:04:20 +02:00
Veikka Tuominen
a28fbf3132
Sema: fix error message for bad pointer arithmetic
...
Closes #14388
2023-01-22 01:04:20 +02:00
Veikka Tuominen
1f475de852
Sema: fix unwrapping null when reporting error on member access
...
Closes #14399
2023-01-22 01:04:20 +02:00
Veikka Tuominen
5259d11e3b
Sema: resolve fields before checking tuple len
...
Closes #14400
2023-01-22 00:12:37 +02:00
Veikka Tuominen
5f5ab49168
Value: implement compareAllWithZero for bytes and str_lit
...
Closes #10692
2023-01-22 00:12:37 +02:00
Veikka Tuominen
a492a607d5
type: correct condition for eliding pointer alignment canonicalization
...
Closes #14373
2023-01-22 00:12:37 +02:00
Veikka Tuominen
d284c00fda
Sema: handle lazy values in more places
...
* resolve lazy values in anon structs being passed to anytype params
* use `resolveMaybeUndefValIntable` where appropriate
Closes #14356
2023-01-22 00:12:36 +02:00
Stephen Gregoratto
7f635ae7bd
FreeBSD: add mcontext_t for aarch64
...
What isn't disabled for test-std mostly passes, except for the copysign
and signbit tests for f16. Seemingly related to #14366 .
2023-01-21 23:20:50 +02:00
Jakub Konka
6fd1d7b372
zld: fix 32bit build
2023-01-21 17:17:34 +01:00
Jakub Konka
983e373409
macho: fix sorting symbols by seniority
2023-01-21 16:53:46 +01:00
Jakub Konka
02db9933a4
macho: properly relocate target symbol address in __eh_frame
2023-01-21 14:11:56 +01:00
Jakub Konka
3dff040ca5
macho: synthesise unwind records in absence of compact unwind section
...
Unlike Apple ld, we will not do any DWARF CFI parsing and simply
output DWARF type unwind records.
2023-01-21 13:37:48 +01:00
Jakub Konka
835a60a34f
zld: parse, synthesise and emit unwind records
2023-01-20 18:43:16 +01:00
Jakub Konka
9f0cb763a4
macho: disable some log messages
2023-01-20 13:10:20 +01:00
Jakub Konka
9d2711a3d9
macho: use ArrayHashMap for tracking of dyld runtime metadata
2023-01-20 12:10:16 +01:00
Jakub Konka
e17c551a2e
macho: revert ordering tweak of lazy bind pointers and add logging
2023-01-20 11:00:08 +01:00
Jakub Konka
dcdbfba770
macho: require an exclusive lock to the Cache.Manifest
2023-01-20 10:59:48 +01:00