Meghan
dea437edfb
stage2: implement noinline fn
2022-07-24 11:56:33 +03:00
Andreas Reischuck
903bed931d
report better error for package not found in stage2
2022-07-24 11:55:37 +03:00
Veikka Tuominen
2436dd2c1b
Sema: validate duplicate fields in anon structs
2022-07-23 15:40:12 +03:00
Veikka Tuominen
5b29275240
Sema: add some more 'declared here' notes
2022-07-23 15:40:12 +03:00
Veikka Tuominen
15dddfd84d
AstGen: make comptime fields in packed and extern structs compile errors
2022-07-23 15:40:12 +03:00
Veikka Tuominen
585c160c20
Sema: handle store to comptime field when ResultLoc == .none
2022-07-23 15:40:12 +03:00
Veikka Tuominen
9465906775
Sema: return .comptime_field_ptrs for tuples
2022-07-23 15:40:12 +03:00
Veikka Tuominen
cf87026e52
Sema: @alignCast safety
2022-07-23 15:40:11 +03:00
Veikka Tuominen
ff7ec4efb5
Sema: bad union field access safety
2022-07-23 15:40:11 +03:00
Veikka Tuominen
423a19fa60
Sema: add error for dereferencing invalid payload ptr at comptime
2022-07-22 21:10:50 +03:00
Veikka Tuominen
8a488fcdb8
Sema: validate empty array init
2022-07-22 17:03:42 +03:00
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