add more test cases for invalid number literals

This commit is contained in:
momumi 2020-03-15 23:42:29 +10:00
parent 925f710852
commit 47f7e66580

View file

@ -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 {