joachimschmidt557
25f73224f7
stage2 AArch64: pass a few more behavior tests
2022-02-21 23:05:16 +01:00
joachimschmidt557
2ba1ef165a
stage2 AArch64: implement genSetReg for ptr_stack_offset
2022-02-21 22:54:14 +01:00
joachimschmidt557
ec62e76455
stage2 AArch64: replace genMulConstant with binOp
2022-02-21 22:54:09 +01:00
joachimschmidt557
19c683fab0
stage2 AArch64: distinguish between sp/wsp and xzr/wzr
2022-02-21 22:44:47 +01:00
joachimschmidt557
a9154a7eaf
stage2 AArch64: implement storing to memory
2022-02-21 22:44:40 +01:00
Stephen Gutekanst
b341967da0
zig build: use a custom iterator for merging args and response file
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-21 14:20:38 -07:00
Stephen Gutekanst
efd473bbfc
std: Builder: use response files for zig test invocations too
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-21 13:06:23 -07:00
Stephen Gutekanst
9c1c4747f4
std: Builder: account for null term considering response files
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-21 12:58:13 -07:00
Stephen Gutekanst
fb61db1ee4
zig build: use orelse to fetch next argument
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-21 12:52:10 -07:00
Andrew Kelley
74303a3d95
Merge pull request #10925 from Vexu/stage2
...
stage2: support anon init through error unions and optionals
2022-02-21 14:18:17 -05:00
gwenzek
628e9e6d04
enable Gpu address spaces ( #10884 )
2022-02-21 14:05:27 -05:00
Carlos Zúñiga
d8da9a01fc
Use lowercase in shasum for windows builds
2022-02-21 00:40:46 -05:00
Ali Chraghi
a4df443f96
Update Tokenizer Dump Function
...
fix missed `loc` field
2022-02-20 17:47:42 -05:00
Stephen Gutekanst
2bd10f4db9
std: have Builder use response files if zig build args exceed OS limits
...
In Mach engine we're seeing command line arguments to `zig build-lib`
exceed the 32 KiB limit that Windows imposes, due to the number of
sources and compiler flags we must pass in order to build gpu-dawn.
This change fixes the issue by having `Builder` check if the arguments
to a `zig build-*` command are >30 KiB and, if so, writes the arguments
to a file `zig-cache/args/<SHA2 of args>`. Then the command invocation
merely becomes `zig build-lib @<that file>`.
Fixes #10693
Fixes hexops/mach#167
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-20 14:44:39 -07:00
Stephen Gutekanst
e41d4df93c
enable passing build-[lib|exe|obj] params via @args.rsp file
...
This change enables `zig build-lib` and friends to take a response file
of command line arguments, for example:
```sh
zig build-lib @args.rsp
```
Which effectively does the same thing as this in Bash:
```sh
zig build-lib $(cat args.rsp)
```
Being able to use a file for arguments is important as one can quickly
exceed the 32 KiB limit that Windows imposes on arguments to a process.
Helps #10693
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-20 13:50:09 -07:00
Stephen Gutekanst
0778f644b5
use process.argsWithAllocator iterator for command line handling
...
This change refactors the `zig` argument handling (for `build-lib`, etc.
commands) to use a `process.argsWithAllocator` iterator instead of
directly accessing arguments via array indices. This supports the next
commit which will enable us to use a response file argument iterator
here seamlessly.
Helps #10693
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-02-20 13:47:41 -07:00
Steven Fackler
2c8541bdde
Support -Wl,--soname
2022-02-20 13:56:12 -05:00
David John
bdb5713941
stage2: fix typo in riscv64/Emit.zig
2022-02-20 19:10:54 +01:00
Luuk de Gram
bb05a8a08a
stage2: Fix 32bit builds
2022-02-20 18:16:28 +01:00
Veikka Tuominen
a5ac062689
stage2: make field/array base ptr work at comptime
2022-02-20 11:59:49 +02:00
Veikka Tuominen
65aa333197
fix formatting in openbsd.zig
...
CI was failing for unrelated reasons so this went unnoticed
2022-02-20 11:58:42 +02:00
Dante Catalfamo
ec59a04138
Add OpenBSD auth functions
2022-02-20 09:58:58 +02:00
Andrew Kelley
7d9e3840bb
Sema: fix inline break from a non-comptime scope to outer one
...
Prior to this, the compiler would hit an assertion because the
break_inline would not successfully move the compile-time control flow.
2022-02-20 00:20:29 -07:00
Andrew Kelley
01638c250f
Sema: implement readFromMemory for arrays
2022-02-20 00:08:05 -07:00
Andrew Kelley
bfff8544e1
AstGen: emit break_inline for corresponding inline loops
...
Prior to this commit there would be a `break` ZIR instruction to break
from a `block_inline` which is a mismatch.
2022-02-19 20:26:57 -07:00
Veikka Tuominen
a2533e6fca
stage2: validate struct/array init ty
2022-02-20 02:11:06 +02:00
Veikka Tuominen
6f0601c793
stage2: support anon init through error unions and optionals at runtime
2022-02-20 02:11:02 +02:00
Andrew Kelley
8841a71aa6
AstGen: evaluate comptime var init expressions in a comptime context
2022-02-19 15:11:18 -07:00
Andrew Kelley
746435a954
Sema: implement @typeInfo for list literals
2022-02-19 15:11:18 -07:00
Lee Cannon
b0cdd3d0e6
StackIterator should not try to check validity on freestanding
2022-02-19 15:38:56 -05:00
Veikka Tuominen
27c63bf433
stage2: implement errunion_payload_ptr_set
2022-02-19 20:48:00 +02:00
Veikka Tuominen
89f6ff1771
stage2: correct use of .unwrap_err_union_* in LLVM and C backend
2022-02-19 20:21:48 +02:00
Veikka Tuominen
e027492243
stage2: support anon init through error unions and optionals
2022-02-19 20:21:19 +02:00
Jakub Konka
539bb8a2d7
Merge pull request #10927 from ziglang/x64-idiv-imul
...
stage2,x64: implement integer division
2022-02-19 17:35:58 +01:00
Joachim Schmidt
e86a89d3f0
Merge pull request #10926 from joachimschmidt557/stage2-arm
...
stage2 ARM: move to binOp lowering mechanism
2022-02-19 15:37:06 +01:00
Jakub Konka
59df39e949
add integer division tests
2022-02-19 14:24:03 +01:00
Jakub Konka
da86839af0
x64: clean up implementation of divs, mod, rem for integers
2022-02-19 14:24:03 +01:00
Jakub Konka
bd396d7e07
x64: add unsigned div and move logic into a helper fn
2022-02-19 14:24:03 +01:00
Jakub Konka
2c13a4b87e
x64: implement div_exact for ints (signed+unsigned)
2022-02-19 14:24:03 +01:00
Jakub Konka
1f4aa5ef78
x64: add lowering for single operand imul and idiv
2022-02-19 14:24:03 +01:00
David Martschenko
176f7b8600
C backend: adjust order of parameters in renderDeclName
2022-02-19 13:05:09 +01:00
David Martschenko
4a6454fb8d
C backend: fix codegen for field_ptr/elem_ptr values
2022-02-19 13:04:59 +01:00
joachimschmidt557
669603029e
stage2 ARM: implement airCmp with binOp lowering mechanism
2022-02-19 12:12:29 +01:00
joachimschmidt557
c29bf2f51a
stage2 ARM: move shl, shr to binOp lowering mechanism
2022-02-19 12:06:34 +01:00
joachimschmidt557
3b1762bb47
stage2 ARM: fix boolean and bitwise not
2022-02-19 12:06:34 +01:00
joachimschmidt557
7b833b2fba
stage2 ARM: move {bool,bit}_{or,and} to binOp lowering mechanism
2022-02-19 12:06:34 +01:00
joachimschmidt557
985a442f46
stage2 ARM: move mul to binOp lowering mechanism
2022-02-19 12:06:34 +01:00
joachimschmidt557
67e3346633
stage2 ARM: move add and sub to new binOp lowering mechanism
2022-02-19 12:06:30 +01:00
joachimschmidt557
23915c2c44
stage2 ARM: simplify invocations of genInlineMemcpy
2022-02-19 12:04:54 +01:00
Veikka Tuominen
2f0204aca3
parser: fix "previous field here" pointing to wrong field
2022-02-19 10:15:54 +02:00