commit 47f7e6658077fb4f55c36e9c62ed5012ef8aace2 (tree)
parent 925f71085269a8072ea9c49025a534fa47fbec44
Author: momumi <57862114+momumi@users.noreply.github.com>
Date: Sun, 15 Mar 2020 23:42:29 +1000
add more test cases for invalid number literals
Diffstat:
1 file changed, 62 insertions(+), 14 deletions(-)
diff --git a/test/compile_errors.zig b/test/compile_errors.zig
@@ -384,15 +384,31 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
\\ var bad_float :f32 = 0.0;
\\ bad_float = bad_float + .20;
\\ std.debug.assert(bad_float < 1.0);
- \\})
+ \\}
, &[_][]const u8{
"tmp.zig:5:29: error: invalid token: '.'",
});
+ cases.add("invalid exponent in float literal - 1",
+ \\fn main() void {
+ \\ var bad: f128 = 0x1.0p1ab1;
+ \\}
+ , &[_][]const u8{
+ "tmp.zig:2:28: error: invalid character: 'a'",
+ });
+
+ cases.add("invalid exponent in float literal - 2",
+ \\fn main() void {
+ \\ var bad: f128 = 0x1.0p50F;
+ \\}
+ , &[_][]const u8{
+ "tmp.zig:2:29: error: invalid character: 'F'",
+ });
+
cases.add("invalid underscore placement in float literal - 1",
\\fn main() void {
\\ var bad: f128 = 0._0;
- \\})
+ \\}
, &[_][]const u8{
"tmp.zig:2:23: error: invalid character: '_'",
});
@@ -400,7 +416,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
cases.add("invalid underscore placement in float literal - 2",
\\fn main() void {
\\ var bad: f128 = 0_.0;
- \\})
+ \\}
, &[_][]const u8{
"tmp.zig:2:23: error: invalid character: '.'",
});
@@ -408,7 +424,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
cases.add("invalid underscore placement in float literal - 3",
\\fn main() void {
\\ var bad: f128 = 0.0_;
- \\})
+ \\}
, &[_][]const u8{
"tmp.zig:2:25: error: invalid character: ';'",
});
@@ -416,7 +432,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
cases.add("invalid underscore placement in float literal - 4",
\\fn main() void {
\\ var bad: f128 = 1.0e_1;
- \\})
+ \\}
, &[_][]const u8{
"tmp.zig:2:25: error: invalid character: '_'",
});
@@ -424,7 +440,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
cases.add("invalid underscore placement in float literal - 5",
\\fn main() void {
\\ var bad: f128 = 1.0e+_1;
- \\})
+ \\}
, &[_][]const u8{
"tmp.zig:2:26: error: invalid character: '_'",
});
@@ -432,7 +448,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
cases.add("invalid underscore placement in float literal - 6",
\\fn main() void {
\\ var bad: f128 = 1.0e-_1;
- \\})
+ \\}
, &[_][]const u8{
"tmp.zig:2:26: error: invalid character: '_'",
});
@@ -440,7 +456,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
cases.add("invalid underscore placement in float literal - 7",
\\fn main() void {
\\ var bad: f128 = 1.0e-1_;
- \\})
+ \\}
, &[_][]const u8{
"tmp.zig:2:28: error: invalid character: ';'",
});
@@ -448,7 +464,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
cases.add("invalid underscore placement in float literal - 9",
\\fn main() void {
\\ var bad: f128 = 1__0.0e-1;
- \\})
+ \\}
, &[_][]const u8{
"tmp.zig:2:23: error: invalid character: '_'",
});
@@ -456,7 +472,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
cases.add("invalid underscore placement in float literal - 10",
\\fn main() void {
\\ var bad: f128 = 1.0__0e-1;
- \\})
+ \\}
, &[_][]const u8{
"tmp.zig:2:25: error: invalid character: '_'",
});
@@ -464,7 +480,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
cases.add("invalid underscore placement in float literal - 11",
\\fn main() void {
\\ var bad: f128 = 1.0e-1__0;
- \\})
+ \\}
, &[_][]const u8{
"tmp.zig:2:28: error: invalid character: '_'",
});
@@ -472,7 +488,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
cases.add("invalid underscore placement in float literal - 12",
\\fn main() void {
\\ var bad: f128 = 0_x0.0;
- \\})
+ \\}
, &[_][]const u8{
"tmp.zig:2:23: error: invalid character: 'x'",
});
@@ -480,7 +496,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
cases.add("invalid underscore placement in float literal - 13",
\\fn main() void {
\\ var bad: f128 = 0x_0.0;
- \\})
+ \\}
, &[_][]const u8{
"tmp.zig:2:23: error: invalid character: '_'",
});
@@ -488,11 +504,43 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
cases.add("invalid underscore placement in float literal - 14",
\\fn main() void {
\\ var bad: f128 = 0x0.0_p1;
- \\})
+ \\}
, &[_][]const u8{
"tmp.zig:2:27: error: invalid character: 'p'",
});
+ cases.add("invalid underscore placement in int literal - 1",
+ \\fn main() void {
+ \\ var bad: u128 = 0010_;
+ \\}
+ , &[_][]const u8{
+ "tmp.zig:2:26: error: invalid character: ';'",
+ });
+
+ cases.add("invalid underscore placement in int literal - 2",
+ \\fn main() void {
+ \\ var bad: u128 = 0b0010_;
+ \\}
+ , &[_][]const u8{
+ "tmp.zig:2:28: error: invalid character: ';'",
+ });
+
+ cases.add("invalid underscore placement in int literal - 3",
+ \\fn main() void {
+ \\ var bad: u128 = 0o0010_;
+ \\}
+ , &[_][]const u8{
+ "tmp.zig:2:28: error: invalid character: ';'",
+ });
+
+ cases.add("invalid underscore placement in int literal - 4",
+ \\fn main() void {
+ \\ var bad: u128 = 0x0010_;
+ \\}
+ , &[_][]const u8{
+ "tmp.zig:2:28: error: invalid character: ';'",
+ });
+
cases.add("var args without c calling conv",
\\fn foo(args: ...) void {}
\\comptime {