Vexu
3a28b659bd
add compile-error tests for unsupported calling convention
2020-11-19 14:25:46 +02:00
pfg
cf7de64f1a
stage1: improve error for missing a number type on a runtime var
2020-11-18 21:45:51 +02:00
frmdstryr
a39d3155b4
Change error when runtime value passed to comptime arg
2020-11-18 13:33:45 +02:00
LemonBoy
129ccad434
stage1: Reject undefined values when taking union ptr
...
The code rightfully assumes the union_val object to be fully initialized.
Closes #7019
2020-11-18 13:21:36 +02:00
Vexu
08270d72b4
ensure TypeInfo payload is not undefined
2020-11-11 16:04:46 +02:00
LemonBoy
78840c4ab2
stage1: Make sure union(enum(T)) is valid
...
The T type should be wide enough to fit values in the 0...num field
range.
Closes #6988
2020-11-05 17:24:04 -05:00
Travis
bb6e39e274
remove extra space in .** error message
2020-10-30 21:26:05 +02:00
Veikka Tuominen
80dd432137
Merge pull request #6858 from travv0/no-star-after-dot-star
...
don't allow a token starting with an asterisk directly following .*
2020-10-30 16:08:04 +02:00
LemonBoy
490cafe2c5
stage1: Error out when trying to execute unreachable
...
Closes #6802
2020-10-29 20:06:52 -04:00
Travis
960b5b518f
updated zig tokenizer to handle .*** and added tests
2020-10-29 12:03:45 -05:00
Andrew Kelley
e6ac082437
Merge pull request #6744 from LemonBoy/intcast-vec
...
stage1: Implement `@intCast` between vectors
2020-10-22 17:36:18 -04:00
LemonBoy
2f465761bb
stage1: Implement @intCast
between vectors
...
Explicit and implicit integer casts on vector types are now supported
and follow the same rules as their scalar counterparts.
Implicit float casts are accidentally supported, `@floatCast` is still
not vector-aware.
2020-10-19 20:05:09 +02:00
LemonBoy
2a256d5ea0
stage1: Fix type-checking of unary neg for vector types
...
Validate the vector element type as done for the scalar case.
Fixes #6708
2020-10-17 21:08:39 -04:00
LemonBoy
2a62d4b20b
stage1: Expand undefined struct/arrays when indexed
...
Fixes #6693
2020-10-16 17:13:38 +03:00
Tadeo Kondrak
0e57f220fb
stage1: Disallow arrays in function parameters or return types
...
Closes #6535 .
2020-10-08 04:17:32 -04:00
Andrew Kelley
95a37373e9
Merge pull request #6421 from tadeokondrak/opaque-syntax
...
Add opaque syntax that allows declarations
2020-10-07 16:58:50 -04:00
pfg
ae161863db
stage1: improve error messages for missing try
statements
2020-10-07 03:50:11 -04:00
Tadeo Kondrak
bf4bfe54ac
Update compile error test for field access of opaque type
2020-10-06 22:08:30 -06:00
Tadeo Kondrak
d71f339395
stage1: disallow fields in opaque types
2020-10-06 22:08:27 -06:00
Tadeo Kondrak
2b4b03d301
Update zig files for opaque type syntax
2020-10-06 22:08:25 -06:00
Alexandros Naskos
e31cc80130
Merge pull request #6427 from tadeokondrak/enums-explicit-tag-type-extern-allowed
...
Allow enums with explicit extern-allowed tag types in extern types
2020-10-03 12:51:39 +03:00
Tadeo Kondrak
65016dff32
Add test for implicit extern-allowed enum tag type in extern struct
2020-10-01 18:10:20 -06:00
Tadeo Kondrak
cae49b1b9d
Add tests for enums with explicit extern-allowed tag types in extern types
2020-10-01 18:09:47 -06:00
Tadeo Kondrak
e18fdc12b0
stage1: Implement @Type for Fn and BoundFn
2020-10-01 18:01:38 -06:00
Tadeo Kondrak
e187ac09cb
Update compile error tests for alignment in StructField/UnionField
2020-10-01 15:06:21 -06:00
Tadeo Kondrak
e903b00eec
stage1: Fix @Type(.Enum) with invalid tag_type
...
Fixes https://github.com/ziglang/zig/issues/6459
2020-09-30 07:02:38 -06:00
Andrew Kelley
b811a99af9
Merge remote-tracking branch 'origin/master' into stage2-zig-cc
2020-09-29 14:53:48 -07:00
LemonBoy
56b52dd0a3
stage1: Detect OOB access of vector value
...
Fixes #5710
2020-09-28 17:16:12 +02:00
Andrew Kelley
b6556c944b
fix another round of regressions in this branch
...
* std.log: still print error messages in ReleaseSmall builds.
- when start code gets an error code from main, it uses std.log.err
to report the error. this resulted in a test failure because
ReleaseSmall wasn't printing `error: TheErrorCode` when an error
was returned from main. But that seems like it should keep working.
So I changed the std.log defaults. I plan to follow this up with a
proposal to change the names of and reduce the quantity of the
log levels.
* warning emitted when using -femit-h when using stage1 backend; fatal
log message when using -femit-h with self-hosted backend (because the
feature is not yet available)
* fix double `test-cli` build steps in zig's build.zig
* update docgen to use new CLI
* translate-c uses `-x c` and generates a temporary basename with a
`.h` extension. Otherwise clang reports an error.
* --show-builtin implies -fno-emit-bin
* restore the compile error for using an extern "c" function without
putting -lc on the build line. we have to know about the libc
dependency up front.
* Fix ReleaseFast and ReleaseSmall getting swapped when passing the
value to the stage1 backend.
* correct the zig0 CLI usage text.
* update test harness code to the new CLI.
2020-09-26 21:03:38 -07:00
Tadeo Kondrak
acdf1f0bde
@Type for union fixes
2020-09-07 06:23:50 -06:00
Tadeo Kondrak
ff2ed966bb
Implement @Type for Union
...
This removes TypeInfo.UnionField.enum_field, which is redundant with
TypeInfo.Union.tag_type.
2020-09-07 06:23:24 -06:00
Veikka Tuominen
41bbadbb9a
Merge pull request #6246 from Vexu/field
...
Remove deprecated fields on `type`
2020-09-05 13:58:02 +03:00
Vexu
09c861b829
update rest of tests
2020-09-04 22:49:14 +03:00
Vexu
6b2f4fd20d
langref: atomic ops are allowed on pointers
...
Closes #6217
2020-09-04 22:02:39 +03:00
LemonBoy
c51b871c45
ir: Typecheck the sentinel value in *[N:S1]T to [S2]T casts
...
Closes #6054
2020-09-01 17:29:10 +02:00
Tadeo Kondrak
a2c47d2b0b
Remove @OpaqueType
2020-08-30 19:02:23 -06:00
Vexu
c1ee9efb7c
fix error note using invalid source node
...
Closes #6153
2020-08-24 15:24:00 +03:00
Vexu
9589dc4c95
add error checks to @Type
2020-08-24 11:13:43 +03:00
Tadeo Kondrak
c31e8701d7
Update compile-errors test for @Type(.Enum) changes
2020-08-21 15:00:23 -06:00
Tadeo Kondrak
5a5956bd20
Implement @Type for Enum
2020-08-21 14:31:24 -06:00
Andrew Kelley
9cfcd0c296
Merge pull request #6103 from Vexu/extern
...
Disallow extern variables with initializers.
2020-08-20 18:35:31 -04:00
Vexu
d25674a51e
disallow extern variables with initializers
2020-08-20 11:35:33 +03:00
Tadeo Kondrak
759485cc32
Update compile-errors test for @Type(.Struct)
2020-08-19 15:26:03 -06:00
Veikka Tuominen
d139e44cfa
Merge pull request #5495 from xackus/fix_5314
...
stage1: fix non-exhaustive enums with one field
2020-08-18 23:55:44 +03:00
Andrew Kelley
bdb8c49418
stage1: update compile error tests
...
follow-up to 56c81c713f749f858089e5bcdf9e6fac588bcf86
2020-08-18 08:44:34 -07:00
Ashish Shekar
27cb23cbc5
Handle singular param count word in error messages ( #6073 )
2020-08-17 22:18:29 -04:00
Vexu
2948f2d262
fix cast from invalid non-exhaustive enum to union
2020-08-17 20:48:22 +03:00
Vexu
1e835e0fcc
disallow '_' prong when switching on non-exhaustive tagged union
...
A tagged union cannot legally be initiated to an invalid enumeration
2020-08-17 20:47:31 +03:00
Andrew Kelley
2cd19c05d0
stage1: remove buggy "unable to inline function" compile error
...
We still want this compile error but I'm giving up on implementing it
correctly in stage1. It's been buggy and has false positives sometimes.
I left the test cases there, but commented out, so that when we go
through the stage1 compile error cases and get coverage for them in
stage2 we can reactivate the test cases.
closes #2154
2020-08-15 09:53:39 -07:00
Vexu
3734881577
add error for unused/duplicate block labels
2020-08-13 01:13:17 +03:00