Michael Dusan
e0fb4c29cb
llvm codegen: fix f16,f32,f64 nan bitcasts
...
@bitCast from integer NaN representation to float NaN resulted in
changed bits in float. This only happened with signaled NaN.
- added test for signaled NaN
- added tests for quiet NaN (for completeness)
closes #14198
2023-01-05 02:22:30 -07:00
Michael Dusan
ed23615638
behavior: add test for #8277
...
Test `@sizeOf` reified union with zero-size payload fields.
closes #8277
2023-01-04 15:48:00 -05:00
Andrew Kelley
6e9fbc83ca
add behavior test for comptime pointer casting
...
comptime `@ptrCast` a subset of an array, then write through it
closes #2444
2022-12-27 14:44:04 -07:00
Veikka Tuominen
81443fcde8
Sema: add error for recursive inline call
...
Closes #12973
2022-12-26 16:36:30 +02:00
Jacob Young
fc0789f8e7
behavior: disable tests that trigger an llvm 15 bug and assertion
...
```
LLVM Emit Object... zig: llvm/include/llvm/ADT/APInt.h:840: void llvm::APInt::lshrInPlace(unsigned int): Assertion `ShiftAmt <= BitWidth && "Invalid shift amount"' failed.
Aborted
```
Tracked by #13782
2022-12-24 02:23:05 -05:00
Andrew Kelley
f211c1559a
Merge pull request #13960 from r00ster91/stage1cruft
...
Close more old stage1 issues
2022-12-22 16:36:55 -05:00
r00ster91
5ecc2b99af
behavior: more test coverage
...
Closes #12450
Closes #13113
Closes #12051
Closes #12092
Closes #12119
Closes #12142
Closes #12450
Closes #13113
Closes #11995
Closes #12000
2022-12-21 23:34:22 +01:00
Jacob Young
0768115b01
behavior: disable failing test
...
Also add an assert to catch this issue earlier. For future reference,
the decl without a type and value is the string literal "GET".
2022-12-19 05:59:45 -05:00
r00ster91
aac2d6b56f
std.builtin: rename Type.UnionField and Type.StructField's field_type to type
2022-12-17 14:11:33 +01:00
r00ster91
7350ea3e2d
std.builtin: rename Type.Fn's args to params
...
This was a poor naming choice; these are parameters, not arguments.
Parameters specify what kind of arguments are expected, whereas the arguments are the actual values passed.
2022-12-17 14:11:33 +01:00
r00ster91
20d3fd901e
std.builtin: rename Type.Fn.Param's arg_type to type
...
It's the type of a parameter, not an argument, but the prefix is redundant either way.
2022-12-17 14:11:33 +01:00
Evin Yulo
8c8f6bfa64
Add test for #13366
...
Closes #13366
2022-12-16 18:21:56 +02:00
Evin Yulo
b5d1df091b
Add test for #12571
...
Closes #12571
2022-12-16 18:19:32 +02:00
IntegratedQuantum
0b4461d97b
Fix tautological big_int tests.
2022-12-14 00:29:25 +00:00
Andrew Kelley
cffbb32d31
Merge pull request #13872 from koachan/sparc64-codegen
...
stage2: sparc64: Some Air lowerings + skip unbuildable tests
2022-12-10 15:10:21 -05:00
Koakuma
f9e9ba784f
stage2: sparc64: Skip unimplemented tests
2022-12-10 21:51:46 +07:00
Koakuma
fb9357f06c
stage2: sparc64: Implement atomic ops
2022-12-10 21:11:14 +07:00
r00ster91
654e30069d
behavior and cases: more test coverage for old issues
...
Closes #2622
Closes #2727
Closes #6047
Closes #6947
Closes #6656
2022-12-10 12:34:42 +01:00
r00ster91
bf863878ac
behavior: add test coverage for slice and array-related issues
...
Closes #10684
Closes #6905
Closes #8646
2022-12-10 12:34:42 +01:00
r00ster91
7a8f7dcb8c
behavior: add test coverage for corrupted slice in release
...
Closes #7325
2022-12-10 12:34:42 +01:00
r00ster91
75f8c04d6d
behavior: add test coverage for slicing zero length array field of struct
...
Closes #11787
2022-12-10 12:33:17 +01:00
Veikka Tuominen
ee9fc54cd0
TypedValue: fix handling of tuples represented as empty_struct_value
2022-12-08 22:21:49 +02:00
Andrew Kelley
1310ef7577
disable failing behavior tests with -ofmt=c -target x86_64-windows
...
and enable CI checks for the C backend on Windows.
2022-12-07 04:01:04 -05:00
Andrew Kelley
c8aba15c22
remove references to stage1 in behavior tests
...
Good riddance.
2022-12-06 19:06:48 -07:00
Jacob Young
e3b8658e65
cbe: add forward declarations for optionals and error unions
...
Arrays will have to wait for type rewrite.
2022-12-03 21:58:18 -05:00
Jacob Young
7fb6eb3d14
cbe: implement multiple exports of a symbols
2022-12-03 08:21:03 -05:00
Jacob Young
81c271cc62
cbe: don't emit extern decls that are already exported
2022-12-03 08:21:03 -05:00
Veikka Tuominen
0e38cc16d5
Sema: fix comparisons between lazy and runtime values
...
Closes #12498
2022-12-03 00:09:23 +02:00
Andrew Kelley
4071b22454
Merge pull request #13715 from Vexu/cbe
...
cbe bug fixes and improvements
2022-12-01 17:38:11 -05:00
Luuk de Gram
090deae41d
wasm: enable behavior tests for packed structs
2022-11-30 21:01:09 +01:00
Veikka Tuominen
f4afeb3ffd
AstGen: fix incorrect handling of source cursor with shift builtins
...
Closes #13714
2022-11-30 17:11:06 +02:00
Veikka Tuominen
63ae7899ae
cbe: ensure test and tagName function names are unique
2022-11-30 15:14:33 +02:00
Veikka Tuominen
6f9c7e33b9
llvm: implement union_init for packed unions
...
Closes #13664
2022-11-29 15:47:02 +02:00
kkHAIKE
ea590ece4b
Sema: optimize compare comptime float with int
2022-11-18 22:06:49 +02:00
Cody Tapscott
b1357091ae
Add test case for #12043
...
This bug is already resolved, just want to make sure we don't lose
the test case. Closes #12043
2022-11-10 12:23:59 -07:00
Cody Tapscott
8f3880074f
stage2: Be more strict about eliding loads
...
This change makes any of the `*_val` instructions check whether it's
safe to elide copies for by-ref types rather than performing this
elision blindly.
AIR instructions fixed:
- .array_elem_val
- .struct_field_val
- .unwrap_errunion_payload
- .try
- .optional_payload
These now all respect value semantics, as expected.
P.S. Thanks to Andrew for the new way to approach this. Many of the
lines here are from his recommended change, which comes with the
significant advantage that loads are now as small as the intervening
memory access allows.
Co-authored by: Andrew Kelley <andrew@ziglang.org>
2022-11-10 12:22:40 -07:00
Cody Tapscott
ff699722da
stage2: Fix comptime array initialization
...
This is a follow-up to 9dc98fba, which made comptime initialization
patterns for union/struct more robust, especially when storing to
comptime-known pointers (and globals).
Resolves #13063 .
2022-11-10 12:22:37 -07:00
Micah Switzer
ea54c9a375
Sema: resolve lazy align in zirReify for union fields
...
Closes #13435
2022-11-04 15:48:08 +02:00
Jacob Young
09763435a8
cbe: support arrays in more places
2022-11-01 20:39:06 -04:00
Jacob Young
071404ff65
cbe: fix optional access
2022-11-01 20:39:05 -04:00
Jacob Young
91fe0b80a2
cbe: fix threadlocal
2022-11-01 20:38:51 -04:00
Jacob Young
a77d89afe3
behavior: enable fixed cbe tests
2022-10-30 15:38:50 -04:00
Jacob Young
48a2783969
cbe: implement optional slice representation change
2022-10-29 05:58:41 -04:00
Andrew Kelley
2991e4a454
Merge pull request #13288 from Vexu/opt-slice
...
Optimize size of optional slices (+ some fixes)
2022-10-27 22:09:17 -04:00
Veikka Tuominen
d03c47bf85
Sema: use runtime_value instead of creating allocs
2022-10-27 21:08:25 -04:00
Veikka Tuominen
4ac8ec4c5c
AstGen: fix refing inferred allocs
...
Closes #13285
2022-10-27 01:31:18 +03:00
Veikka Tuominen
78a7bb108a
llvm: handle namespace like packed structs
...
Closes #13159
Closes #13188
2022-10-27 01:31:18 +03:00
Jacob Young
6021edd7ce
cbe: add support for all float literals types
2022-10-25 05:22:55 -04:00
Jacob Young
1bab854868
cbe: implement 128-bit and fix smaller integer builtins
2022-10-25 05:11:29 -04:00
Jacob Young
8b6a3ba74e
cbe: fix typedef declaration order
2022-10-25 05:11:29 -04:00