Jacob Young
e7ea7d3480
test: fix cbe execution tests
2023-07-19 23:20:25 -04:00
Luuk de Gram
cec1e973b6
Merge pull request #16439 from Luukdegram/wasm-linker
...
wasm-linker: finish shared-memory & TLS implementation
2023-07-19 21:55:30 +02:00
Luuk de Gram
142dbc7b82
wasm-linker: create TLS Wasm globals correctly
...
Previously, they were only created when we had any TLS segment.
This meant that while the symbol existed, the global itself wouldn't.
The result of this was a crash during symbol names writing as it
would attempt to write the symbol name of a global that didn't exist.
Now we always create them, and instead update its `init` value during
`setupMemory`.
In the future, the entire symbol (and global) will be removed by
the garbage collector.
2023-07-19 17:22:46 +02:00
Luuk de Gram
1a3304ed23
test/link: add shared-memory test for WebAssembly
2023-07-19 17:22:46 +02:00
Andrew Kelley
c597ba32d9
Sema: fix return type of generic function is function pointer
...
also that's one less standalone test and one more behavior test.
2023-07-18 21:15:16 -07:00
Andrew Kelley
3145ae561d
Sema: fix compile error source location regressions
2023-07-18 19:02:06 -07:00
Andrew Kelley
8daa8d255b
Sema: fix fn_proto_param LazySrcLoc resolution
...
to match source code span from merge-base.
2023-07-18 19:02:06 -07:00
Andrew Kelley
0153f3a8f9
Sema: fix crash: array_in_c_exported_function
...
Fuck it, we're storing decl indexes in LazySrcLoc now.
2023-07-18 19:02:06 -07:00
Andrew Kelley
47499bf47b
Sema: enhance generic call error message
...
when the type of an anytype parameter is a comptime-only type but the
argument at the callsite is runtime-known.
2023-07-18 19:02:06 -07:00
kcbanner
3ec337484b
linker tests: add missing dependOn calls for CheckObject steps
2023-07-13 22:26:19 +02:00
Andrew Kelley
f2d433a193
Merge pull request #15708 from xxxbxxx/build-link
...
build: avoid repeating objects when linking a static library
2023-07-13 09:48:39 -07:00
antlilja
a0ec2266fe
Update tests to new splat syntax
2023-07-12 15:35:57 -07:00
Anton Lilja
711b4e93e2
Fixes crash when a struct is given as the first parameter to the unionInit builtin ( #16385 )
2023-07-11 23:37:42 -07:00
Anton Lilja
ff0e2ab398
Fixes wrong error location for unionInit when first parameter is not a type ( #16384 )
2023-07-11 23:35:50 -07:00
Xavier Bouchoux
8142bc20ea
test: linking static libraries built from intermediary object files
2023-07-11 11:46:59 +02:00
Luuk de Gram
dbc560904a
Merge pull request #16345 from ziglang/15920
...
Emit check for memory intrinsics for WebAssembly
2023-07-11 09:11:22 +02:00
Luuk de Gram
37e2a04da8
add stand alone test to verify bulk-memory features
...
This adds a standalone test case to ensure the runtime does not trap
when performing a memory.copy or memory.fill instruction while the
destination or source address is out-of-bounds and the length is 0.
2023-07-10 20:05:13 +02:00
r00ster91
0b1e8690da
AstGen: make sure for range start and end are usizes
...
Fixes #16311
The actual cause of #16311 is the `start_is_zero` special case:
```zig
const range_len = if (end_val == .none or start_is_zero)
end_val
else
try parent_gz.addPlNode(.sub, input, Zir.Inst.Bin{
.lhs = end_val,
.rhs = start_val,
});
```
It only happens if the range start is 0. In that case we would not perform any type checking.
Only in the other cases coincidentally `.sub` performs type checking in Sema, but the errors are still rather poor:
```
$ zig test x.zig
x.zig:9:15: error: invalid operands to binary expression: 'Pointer' and 'Pointer'
for ("abc".."def") |val| {
~~~~~^~~~~~~
```
Note how it's the same as if I use `-`:
```
x.zig:9:11: error: invalid operands to binary expression: 'Pointer' and 'Pointer'
"abc" - "def";
~~~~~~^~~~~~~
```
Now after this PR, the errors are much clearer for both range start and end:
```
x.zig:9:10: error: expected type 'usize', found '*const [3:0]u8'
for ("abc".."def") |val| {
^~~~~
```
This is why I decided to use `.ty` instead of `.coerced_ty` for both range start and end rather than
just perform type checking in that `end_val == .none or start_is_zero` case.
2023-07-10 10:51:55 -07:00
Andrew Kelley
2b8c1f0d46
Merge pull request #16339 from r00ster91/ueficc
...
std.os.uefi: use std.os.uefi.cc instead of .C as calling convention
2023-07-10 10:41:19 -07:00
Ian Johnson
3a30f0fa50
Sema: resolve field type layout for anon struct type info
...
Closes #16148
2023-07-10 19:17:50 +03:00
Niles Salter
27a66191c2
Change math.Order order ( #16356 )
...
This speeds up algorithms like binary search
2023-07-09 01:22:52 -04:00
r00ster91
026c63d8fe
Sema: infrastructure for supporting more than .C callconv for variadic functions
...
Now you can add new calling conventions that you confirmed to work with
variadic functions simply in a single place and the rest will work
automatically.
2023-07-08 18:05:03 -04:00
Nameless
b9fc0d2908
std.http: fix leaked connections ( #16341 )
...
The early return in pool release was causing leaked connections.
Closes #16282 .
2023-07-07 20:08:19 +00:00
Andrew Kelley
17890f6b8a
Merge pull request #15879 from r00ster91/more_stage1_test_coverage
...
More stage1 test coverage
2023-07-03 15:59:54 -07:00
r00ster91
2583a39fb6
behavior: test @bitCast of packed struct of bools
...
This seems to have resolved itself now.
Tested on x86_64 using debug optimize mode.
Closes #9851
2023-07-03 10:59:13 -07:00
Andrew Kelley
309aacfc89
Merge pull request #16284 from Snektron/spirv-internpool-fixes
...
SPIR-V InternPool aftermath damage control
2023-07-01 14:21:04 -07:00
Robin Voetter
073289d0da
spirv: disable new behavior tests that do not pass
...
Some new behavior tests have recently been added, and not all of these
pass with the SPIR-V backend.
2023-07-01 19:45:09 +02:00
Jacob Young
f571438fc0
Unrevert "Sema: preserve extern struct field alignment"
...
This unreverts commit 1a2468abfcd8b539193d943c1eefb71319cc7b88.
2023-06-30 23:24:52 -04:00
Jacob Young
2282c27885
Remerge pull request #15995 from mlugg/fix/union-field-ptr-align
...
Sema: copy pointer alignment to union field pointers
This is an unrevert of 43c98dc11567eeb38be041c7dad179c53156f3df.
2023-06-30 23:23:26 -04:00
mlugg
730f2e0407
Sema: copy pointer alignment to struct field pointers
2023-06-30 23:23:03 -04:00
mlugg
5b594139d9
Sema: copy pointer alignment to union field pointers
...
This implements the semantics as discussed in today's compiler meeting,
where the alignment of pointers to fields of default-layout unions
cannot exceed the field's alignment.
Resolves : #15878
2023-06-30 23:23:01 -04:00
Evan Haas
0a6cd257b9
translate-c: Use @constCast and @volatileCast to remove CV-qualifiers
...
Instead of converting a pointer to an int and then back to a pointer.
2023-06-29 23:36:56 +03:00
Jacob Young
43c98dc115
Revert "Merge pull request #15995 from mlugg/fix/union-field-ptr-align"
...
This reverts commit 40cf3f7ae5fbfb84b7af6b27e6296ee858b209ef, reversing
changes made to d98147414d084bc41b00ba9c0be8c7b82ad4e76c.
2023-06-29 00:23:19 -04:00
Jacob Young
1a2468abfc
Revert "Sema: preserve extern struct field alignment"
...
This reverts commit 4620972d086ebb3b7686a79914876488c6dfd171.
2023-06-29 00:23:19 -04:00
Alex Kladov
4620972d08
Sema: preserve extern struct field alignment
...
In
extern struct { x: u32, y: u16 }
we actually know that y's alignment is `@alignOf(u32)`, and not just
`@alignOf(u16)`.
closes : #16134
2023-06-28 16:36:32 +02:00
zooster
28f515acd7
behavior: test slicing array of zero-sized values
...
Closes #15343
2023-06-28 14:00:18 +03:00
r00ster91
adf0718316
behavior: boolean vector with 2 or more elements
...
Closes #12169
2023-06-27 19:57:23 -04:00
r00ster91
d01641f6be
test cases: fix typo in filename
2023-06-27 19:57:23 -04:00
r00ster91
2cc9c99ebf
behavior: if-@as-if chain
...
Closes #8952
2023-06-27 19:57:23 -04:00
r00ster91
c647799e5e
test cases: expected optional type in for loop
...
Closes #10674
2023-06-27 19:57:23 -04:00
r00ster91
5e9fe84d24
test cases: array inside of anonymous struct
...
Closes #7525
2023-06-27 19:57:23 -04:00
r00ster91
10218dd096
test cases: never-inline call of inline function with comptime parameter
...
Closes #5995
2023-06-27 19:57:23 -04:00
r00ster91
18fe951e24
test cases: returning undefined [:0]const u8
...
Closes #5947
2023-06-27 19:57:23 -04:00
r00ster91
78da0e40a8
test cases: taking pointer of global tagged union
...
Closes #11619
2023-06-27 19:57:23 -04:00
r00ster91
413a86f7eb
behavior: correct alignment for elements and slices of aligned array
...
Closes #11751
2023-06-27 19:57:23 -04:00
r00ster91
c040c0f45a
test cases: @intCast on vector
...
Closes #11770
2023-06-27 19:57:19 -04:00
r00ster91
7213234f0c
test cases: taking address of extern var as constant
...
Closes #5344
2023-06-27 19:08:27 -04:00
r00ster91
d10456eb8d
test cases: maximum sized integer literal
...
Closes #12116
2023-06-27 19:08:27 -04:00
Jacob Young
9343c31c38
Sema: fix @min/@max type resolution with all runtime args
...
Closes #16229
2023-06-26 18:46:25 -07:00
mlugg
88284c124a
AstGen: fix result locations for elements of typed array init
...
Resolves : #16226
2023-06-26 16:20:33 -07:00