Andrew Kelley
25f3be32db
Sema: fix fn pointer align disagrees with fn align error
...
Check the specified function alignment rather than the effective
function alignment.
2022-07-21 15:19:56 -07:00
Andrew Kelley
fc6e111b76
Sema: improve compile error for bad function alignment
...
* Integrate more declaratively with src/target.zig
* Only trigger the check when a function body is found, do not trigger
for function types.
2022-07-21 13:55:29 -07:00
Andrew Kelley
b946934576
build.zig: 32 MiB stack size
...
This gives more headroom for comptime recursion, especially for debug
builds of Zig.
2022-07-21 12:23:33 -07:00
Andrew Kelley
644baa0f5b
constrain target/backend of new test cases
...
avoids testing stuff that doesn't work yet.
2022-07-21 12:21:30 -07:00
Veikka Tuominen
794beafb9c
Sema: validate extern struct field types earlier
...
`validateExternType` does not require the type to be resolved so we can
check it earlier. Only doing it in `resolveTypeFully` lead to worse or
missing compile errors.
2022-07-21 12:21:30 -07:00
Veikka Tuominen
821e4063f9
Sema: better source location for function call args
2022-07-21 12:21:30 -07:00
Veikka Tuominen
79ef0cdf30
Sema: better function parameter source location
2022-07-21 12:21:30 -07:00
Veikka Tuominen
83b2d2cd3e
Sema: better source location for incompatible capture group
2022-07-21 12:21:30 -07:00
Veikka Tuominen
9fb8d21a01
AstGen: add error for fields in opaque types
2022-07-21 12:21:30 -07:00
Veikka Tuominen
1705a21f80
Sema: more union and enum tag type validation
2022-07-21 12:21:30 -07:00
Veikka Tuominen
8feb398760
Sema: validate function parameter types and return type
2022-07-21 12:21:30 -07:00
Veikka Tuominen
d851b24180
Sema: validate function pointer alignment
2022-07-21 12:21:30 -07:00
Veikka Tuominen
76e7959a90
Sema: explain why comptime is needed
2022-07-21 12:21:30 -07:00
Veikka Tuominen
195c3cd89f
fix errors in tests not tested locally or on CI
2022-07-21 12:21:30 -07:00
Veikka Tuominen
d729173204
stage2: better pointer source location
2022-07-21 12:21:30 -07:00
Veikka Tuominen
29815fe9de
Sema: disallow 'align' on functions on wasm
2022-07-21 12:21:30 -07:00
Veikka Tuominen
62120e3d0e
Sema: fix non-exhaustive union switch checks
2022-07-21 12:21:30 -07:00
Andrew Kelley
7d2e142679
Merge pull request #12044 from Vexu/stage2-compile-errors
...
Sema: add detailed error notes to `coerceInMemoryAllowed`
2022-07-11 20:45:27 -04:00
Veikka Tuominen
d00da05ecb
Sema: validate extern types
2022-07-11 18:47:29 +03:00
Veikka Tuominen
3ceb27c840
Sema: better explanation why opaque types require comptime
2022-07-11 18:47:29 +03:00
Veikka Tuominen
20d4f7213d
Sema: add notes about function return type
2022-07-11 17:55:19 +03:00
Veikka Tuominen
c9e1360cdb
Sema: add "cannot convert to payload type" error notes
2022-07-11 14:17:22 +03:00
Veikka Tuominen
0370006c1f
Sema: only add note about int mismatch if not coercible
...
`unsigned 64-bit int cannot represent all possible unsigned 63-bit values`
is nonsensical.
2022-07-11 11:59:26 +03:00
Veikka Tuominen
34fe2b4f4b
Sema: prefer original error message in coerce
2022-07-10 23:47:56 +03:00
Veikka Tuominen
b9f01bc394
Sema: add detailed error notes to coerceInMemoryAllowed
2022-07-10 23:15:17 +03:00
Cody Tapscott
51a8f52e6c
stage2: Support @offsetOf for tuples and anon structs
2022-07-08 19:51:35 -07:00
Veikka Tuominen
b5ac2b4330
Sema: improve array source location
2022-07-07 10:50:06 +03:00
Veikka Tuominen
27ee414159
Sema: improve slice source locations
2022-07-07 10:50:06 +03:00
Veikka Tuominen
89cef9f5f7
stage2: make line field of @src runtime known
2022-07-07 10:50:06 +03:00
Veikka Tuominen
226994cd7e
Sema: misc error message fixes
2022-07-07 10:50:06 +03:00
Veikka Tuominen
c07c2d68c7
Sema: more runtime indexing comptime value checks
2022-07-07 10:50:06 +03:00
Veikka Tuominen
1569b9c165
Sema: validate pointer types
2022-07-07 10:50:05 +03:00
Veikka Tuominen
299836dbd9
Sema: panic at comptime + misc error message improvements
2022-07-07 10:50:05 +03:00
Andrew Kelley
f639cb33a9
fix expected error messages in test cases
2022-07-05 16:22:53 -07:00
Veikka Tuominen
2029601cb2
AstGen: use elem_{ptr,val}_node for array access syntax
2022-07-01 10:22:26 +03:00
Veikka Tuominen
a6bf8c2593
Sema: add more validation to zirFieldParentPtr
2022-07-01 10:22:25 +03:00
Veikka Tuominen
e6ebf56dd6
Sema: validate @intToEnum int operand type
2022-07-01 10:22:25 +03:00
Veikka Tuominen
ae7b32eb62
Sema: validate deref operator type and value
2022-07-01 10:22:25 +03:00
Veikka Tuominen
3c73f71177
Sema: prefer func.onwer_decl for compilelog src
2022-07-01 10:22:25 +03:00
Veikka Tuominen
3014a0d5f1
Sema: validate callconv
2022-07-01 10:22:25 +03:00
Veikka Tuominen
6d24c40b6e
Sema: improve bitcast to enum error
2022-07-01 09:29:13 +03:00
Veikka Tuominen
4cde6dd109
adjust tests that didn't pass CI
2022-06-30 21:47:26 +03:00
Veikka Tuominen
90ae37cc00
tests: move compile errors not planned for stage2
2022-06-30 09:57:38 +02:00
Veikka Tuominen
cc3336c784
Sema: add source location to coerce result ptr, fix negation error
2022-06-30 09:57:38 +02:00
Veikka Tuominen
979910dc38
Sema: validate shift amounts and switch ranges
2022-06-30 09:57:38 +02:00
Veikka Tuominen
6cadac18b8
Sema: improve auto generated union enum name
2022-06-30 09:57:38 +02:00
Veikka Tuominen
2e7dc5e151
Sema: improve vector overflow errors
2022-06-30 09:57:38 +02:00
Veikka Tuominen
03b356e34a
Sema: improve @call errors
2022-06-30 09:57:38 +02:00
Veikka Tuominen
3204d00a5e
move passing stage1 compile error tests to stage2
2022-06-30 09:57:38 +02:00
Andrew Kelley
8caa206417
test-cases: fix race with zig run on C backend tests
...
Also avoid redundantly doing compile-error checks on multiple targets
for test cases where that is not helpful.
2022-06-14 15:27:43 -07:00