Andrew Kelley
367e2b2fe4
Merge pull request #11800 from Vexu/stage2
...
`zig2 build test-std` progress
2022-06-06 16:12:31 -04:00
Veikka Tuominen
14685e59b2
stage2: use correct type (u29) for alignment
2022-06-06 13:11:54 -07:00
Veikka Tuominen
32568dba74
std: handle stage2 function pointer semantics in test
2022-06-06 13:11:50 -07:00
Veikka Tuominen
61c5d8f8f1
std.fs: fix incorrect passing of pointer to temporary
2022-06-06 13:11:50 -07:00
Veikka Tuominen
bb84c87a47
std: add necessary @alignCasts
2022-06-06 13:11:50 -07:00
Veikka Tuominen
15ec55406d
std: fix ambiguous references
2022-06-06 13:11:50 -07:00
Veikka Tuominen
84000aa820
Sema: fix inline call of func using ret_ptr with comptime only type
2022-06-06 13:11:50 -07:00
Veikka Tuominen
8fa88c88c2
AstGen: fix coercion scope type when stores are eliminated
2022-06-06 13:11:50 -07:00
Veikka Tuominen
cb5d2b691a
Sema: validate equality on store to comptime field
2022-06-06 13:11:50 -07:00
Veikka Tuominen
a040ccb42f
Sema: fix coerce result ptr outside of functions
2022-06-06 13:11:50 -07:00
Andrew Kelley
41bf81dc32
Revert "Treat blocks with "return" as "noreturn""
...
This reverts commit 135b91aecd9be1f6f5806b667e07e383dd481198.
"endsWithBreak()" is not a meaningful question to ask and should not be
used this way. A simple example that defeats this logic is:
```zig
export fn entry() void {
outer: {
{
break :outer;
}
return;
}
}
```
2022-06-06 11:31:54 -07:00
BratishkaErik
1bdc2b777b
tools: fix update-linux-headers.zig and process_headers.zig
...
Signed-off-by: BratishkaErik <bratishkaerik@getgoogleoff.me>
2022-06-06 15:53:53 +02:00
Gregory Anders
135b91aecd
Treat blocks with "return" as "noreturn"
...
Block statements that end with "break" should not be considered
"noreturn" for the enclosing scope, but other "noreturn" instructions
(return, panic, compile error, etc.) should be. This differentiation
necessitates handling "break" differently from the other "noreturn"
instructions when inside a block statement.
2022-06-06 13:13:52 +03:00
Jakub Konka
33826a6a2e
x64: disable misbehaving behavior tests
2022-06-05 10:36:54 +02:00
Jakub Konka
1b5dd4e148
Merge pull request #11790 from joachimschmidt557/stage2-arm
...
stage2 ARM: implement basic switch expressions
2022-06-05 09:10:12 +02:00
Andrew Kelley
43db697b46
Merge pull request #11789 from Vexu/stage2
...
Stage2 fixes towards `zig2 build test-std` working
2022-06-04 16:29:26 -04:00
joachimschmidt557
d5ee451177
stage2 ARM: introduce support for basic switch expressions
2022-06-04 19:58:34 +02:00
Veikka Tuominen
50a6b0f3ac
Sema: fix function type callconv inference
2022-06-04 11:33:18 +03:00
Veikka Tuominen
6d44c0a16c
std: update tests to stage2 semantics
2022-06-03 20:21:20 +03:00
Veikka Tuominen
1a7b4ddeae
std: disable tests that crash stage2
2022-06-03 20:21:20 +03:00
Veikka Tuominen
2b93546b39
Sema: fix initialization of array with comptime only elem type
2022-06-03 20:21:20 +03:00
Veikka Tuominen
4e1aa5d543
Sema: handle the_only_possible_value in beginComptimePtrMutation
2022-06-03 15:25:53 +03:00
Veikka Tuominen
019537cb2a
Sema: @sizeOf function should give an error
2022-06-03 15:24:58 +03:00
Veikka Tuominen
8f45e81c84
stage2: ignore asm inputs named _
...
This is a hacky solution but the entire asm syntax is supposed to be
reworked anyways.
2022-06-03 15:10:37 +03:00
Veikka Tuominen
5c65b086d6
Value: implement {read,write}Value for more types
2022-06-03 14:29:24 +03:00
Veikka Tuominen
3db4513b33
Sema: fix type of alloc
2022-06-03 14:28:56 +03:00
Veikka Tuominen
1258b5f7d6
Type: implement elemType2 for anyframe
2022-06-03 14:28:10 +03:00
Veikka Tuominen
9aae4d57cb
compiler_rt: fix infinite loop
2022-06-03 14:27:45 +03:00
joachimschmidt557
4fdacca512
stage2 ARM: rework cmp in preparation for switch
2022-06-02 20:19:18 +02:00
Jakub Konka
e498fb1550
tapi: sync with upstream
...
gitrev kubkon/zig-yaml 8cf8dc3bb901fac8189f441392fc0989ad14cf71
Calculate line and col info indexed by token index. We can then
re-use this info to track current column number (aka indentation
level) of each "key:value" pair (map) or "- element" (list).
This significantly cleans up the code, and leads naturally to
handling of unindented lists in tbd files.
2022-06-02 10:41:13 +02:00
Andrew Kelley
288e89b606
Sema: fix compiler crash with comptime arithmetic involving @ptrToInt
2022-06-01 16:45:28 -07:00
Andrew Kelley
a4cdb49a58
Merge pull request #11763 from Vexu/stage2-alloc-const
...
Stage2: detect when initializer of const variable is comptime known
2022-06-01 18:59:13 -04:00
Andrew Kelley
b82cccc9e9
Sema: fix alignment of element ptr result type
2022-06-01 15:43:21 -07:00
Andrew Kelley
b095aa6986
CI: skip single-threaded tests on Drone
...
sure would be nice if they would just give us another hour of CI run time.
2022-06-01 14:05:58 -07:00
Andrew Kelley
de14fba247
LLVM: convert two ArrayLists into a MultiArrayList
2022-06-01 11:53:47 -07:00
Andrew Kelley
69323fc143
CI: skip non native ReleaseFast and ReleaseSafe tests on drone
...
Because we're hitting the 2 hour time limit.
2022-06-01 11:19:19 -07:00
Veikka Tuominen
94624893d8
disable failing test
2022-06-01 13:06:31 +03:00
Veikka Tuominen
9431100736
Sema: apply previous changes to validateUnionInit
2022-06-01 13:01:39 +03:00
Andrew Kelley
cbb806da6e
stage2: -fbuild-id causes default linker to be LLD
...
until zig's self-hosted linker gains this functionality.
2022-05-31 22:56:39 -07:00
Andrew Kelley
8c0f4e6f54
LLVM: add target-cpu and target-features fn attributes
2022-05-31 22:13:24 -07:00
Andrew Kelley
2f9533f639
LLVM: pass slices as ptr/len combo
...
LLVM optimization passes handle this better, and it allows Zig to
specify pointer parameter attributes such as readonly, nonnull, noalias,
and alignment.
closes #561
2022-05-31 18:25:57 -07:00
Andrew Kelley
356a865b87
stage2: introduce support for noalias
...
Not implemented yet is enhancements to coerceInMemory to account for
noalias parameters.
Related to #11498 .
2022-05-31 17:38:42 -07:00
Andrew Kelley
602af1b88f
Merge pull request #11765 from ziglang/llvm-param-attrs
...
LLVM: add readonly, nonnull, align attributes to pointer params
2022-05-31 20:25:13 -04:00
Veikka Tuominen
3c4e7abfbf
Sema: handle dbg_smtts when deleting runtime instructions in validateStructInit
2022-06-01 02:18:45 +03:00
Veikka Tuominen
a73895339a
Sema: handle bitcasts produced by coerce_result_ptr in validate{Array,Struct}Init
2022-06-01 02:10:18 +03:00
Andrew Kelley
ec919c3c9b
LLVM: integrate param attrs with iterateParamTypes
...
This moves some logic from resolveLlvmFunction to updateFunc and takes
advantage of the iteration we already do that takes into account C ABI
lowering, making LLVM parameter attributes accurate for C ABI functions
as well as our own unspecified calling convention.
Related to #11498 .
2022-05-31 15:32:15 -07:00
Veikka Tuominen
f2626a3d8e
Sema: validate{Array,Struct}Init shortcut only valid if base ptr is comptime known
2022-06-01 01:24:11 +03:00
Veikka Tuominen
e49fd39463
Sema: detect comptime values in zirMakePtrConst
2022-06-01 01:23:52 +03:00
Andrew Kelley
43311e19f4
LLVM: add readonly, nonnull, align attributes to pointer params
2022-05-31 15:16:38 -07:00
Andrew Kelley
6d691d3540
build: include a build-id note only if explicitly requested
2022-05-31 13:51:59 -07:00