| ... | @@ -384,15 +384,31 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { | ... | @@ -384,15 +384,31 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { |
| 384 | \\ var bad_float :f32 = 0.0; | 384 | \\ var bad_float :f32 = 0.0; |
| 385 | \\ bad_float = bad_float + .20; | 385 | \\ bad_float = bad_float + .20; |
| 386 | \\ std.debug.assert(bad_float < 1.0); | 386 | \\ std.debug.assert(bad_float < 1.0); |
| 387 | \\}) | 387 | \\} |
| 388 | , &[_][]const u8{ | 388 | , &[_][]const u8{ |
| 389 | "tmp.zig:5:29: error: invalid token: '.'", | 389 | "tmp.zig:5:29: error: invalid token: '.'", |
| 390 | }); | 390 | }); |
| 391 | | 391 | |
| | 392 | cases.add("invalid exponent in float literal - 1", |
| | 393 | \\fn main() void { |
| | 394 | \\ var bad: f128 = 0x1.0p1ab1; |
| | 395 | \\} |
| | 396 | , &[_][]const u8{ |
| | 397 | "tmp.zig:2:28: error: invalid character: 'a'", |
| | 398 | }); |
| | 399 | |
| | 400 | cases.add("invalid exponent in float literal - 2", |
| | 401 | \\fn main() void { |
| | 402 | \\ var bad: f128 = 0x1.0p50F; |
| | 403 | \\} |
| | 404 | , &[_][]const u8{ |
| | 405 | "tmp.zig:2:29: error: invalid character: 'F'", |
| | 406 | }); |
| | 407 | |
| 392 | cases.add("invalid underscore placement in float literal - 1", | 408 | cases.add("invalid underscore placement in float literal - 1", |
| 393 | \\fn main() void { | 409 | \\fn main() void { |
| 394 | \\ var bad: f128 = 0._0; | 410 | \\ var bad: f128 = 0._0; |
| 395 | \\}) | 411 | \\} |
| 396 | , &[_][]const u8{ | 412 | , &[_][]const u8{ |
| 397 | "tmp.zig:2:23: error: invalid character: '_'", | 413 | "tmp.zig:2:23: error: invalid character: '_'", |
| 398 | }); | 414 | }); |
| ... | @@ -400,7 +416,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { | ... | @@ -400,7 +416,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { |
| 400 | cases.add("invalid underscore placement in float literal - 2", | 416 | cases.add("invalid underscore placement in float literal - 2", |
| 401 | \\fn main() void { | 417 | \\fn main() void { |
| 402 | \\ var bad: f128 = 0_.0; | 418 | \\ var bad: f128 = 0_.0; |
| 403 | \\}) | 419 | \\} |
| 404 | , &[_][]const u8{ | 420 | , &[_][]const u8{ |
| 405 | "tmp.zig:2:23: error: invalid character: '.'", | 421 | "tmp.zig:2:23: error: invalid character: '.'", |
| 406 | }); | 422 | }); |
| ... | @@ -408,7 +424,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { | ... | @@ -408,7 +424,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { |
| 408 | cases.add("invalid underscore placement in float literal - 3", | 424 | cases.add("invalid underscore placement in float literal - 3", |
| 409 | \\fn main() void { | 425 | \\fn main() void { |
| 410 | \\ var bad: f128 = 0.0_; | 426 | \\ var bad: f128 = 0.0_; |
| 411 | \\}) | 427 | \\} |
| 412 | , &[_][]const u8{ | 428 | , &[_][]const u8{ |
| 413 | "tmp.zig:2:25: error: invalid character: ';'", | 429 | "tmp.zig:2:25: error: invalid character: ';'", |
| 414 | }); | 430 | }); |
| ... | @@ -416,7 +432,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { | ... | @@ -416,7 +432,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { |
| 416 | cases.add("invalid underscore placement in float literal - 4", | 432 | cases.add("invalid underscore placement in float literal - 4", |
| 417 | \\fn main() void { | 433 | \\fn main() void { |
| 418 | \\ var bad: f128 = 1.0e_1; | 434 | \\ var bad: f128 = 1.0e_1; |
| 419 | \\}) | 435 | \\} |
| 420 | , &[_][]const u8{ | 436 | , &[_][]const u8{ |
| 421 | "tmp.zig:2:25: error: invalid character: '_'", | 437 | "tmp.zig:2:25: error: invalid character: '_'", |
| 422 | }); | 438 | }); |
| ... | @@ -424,7 +440,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { | ... | @@ -424,7 +440,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { |
| 424 | cases.add("invalid underscore placement in float literal - 5", | 440 | cases.add("invalid underscore placement in float literal - 5", |
| 425 | \\fn main() void { | 441 | \\fn main() void { |
| 426 | \\ var bad: f128 = 1.0e+_1; | 442 | \\ var bad: f128 = 1.0e+_1; |
| 427 | \\}) | 443 | \\} |
| 428 | , &[_][]const u8{ | 444 | , &[_][]const u8{ |
| 429 | "tmp.zig:2:26: error: invalid character: '_'", | 445 | "tmp.zig:2:26: error: invalid character: '_'", |
| 430 | }); | 446 | }); |
| ... | @@ -432,7 +448,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { | ... | @@ -432,7 +448,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { |
| 432 | cases.add("invalid underscore placement in float literal - 6", | 448 | cases.add("invalid underscore placement in float literal - 6", |
| 433 | \\fn main() void { | 449 | \\fn main() void { |
| 434 | \\ var bad: f128 = 1.0e-_1; | 450 | \\ var bad: f128 = 1.0e-_1; |
| 435 | \\}) | 451 | \\} |
| 436 | , &[_][]const u8{ | 452 | , &[_][]const u8{ |
| 437 | "tmp.zig:2:26: error: invalid character: '_'", | 453 | "tmp.zig:2:26: error: invalid character: '_'", |
| 438 | }); | 454 | }); |
| ... | @@ -440,7 +456,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { | ... | @@ -440,7 +456,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { |
| 440 | cases.add("invalid underscore placement in float literal - 7", | 456 | cases.add("invalid underscore placement in float literal - 7", |
| 441 | \\fn main() void { | 457 | \\fn main() void { |
| 442 | \\ var bad: f128 = 1.0e-1_; | 458 | \\ var bad: f128 = 1.0e-1_; |
| 443 | \\}) | 459 | \\} |
| 444 | , &[_][]const u8{ | 460 | , &[_][]const u8{ |
| 445 | "tmp.zig:2:28: error: invalid character: ';'", | 461 | "tmp.zig:2:28: error: invalid character: ';'", |
| 446 | }); | 462 | }); |
| ... | @@ -448,7 +464,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { | ... | @@ -448,7 +464,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { |
| 448 | cases.add("invalid underscore placement in float literal - 9", | 464 | cases.add("invalid underscore placement in float literal - 9", |
| 449 | \\fn main() void { | 465 | \\fn main() void { |
| 450 | \\ var bad: f128 = 1__0.0e-1; | 466 | \\ var bad: f128 = 1__0.0e-1; |
| 451 | \\}) | 467 | \\} |
| 452 | , &[_][]const u8{ | 468 | , &[_][]const u8{ |
| 453 | "tmp.zig:2:23: error: invalid character: '_'", | 469 | "tmp.zig:2:23: error: invalid character: '_'", |
| 454 | }); | 470 | }); |
| ... | @@ -456,7 +472,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { | ... | @@ -456,7 +472,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { |
| 456 | cases.add("invalid underscore placement in float literal - 10", | 472 | cases.add("invalid underscore placement in float literal - 10", |
| 457 | \\fn main() void { | 473 | \\fn main() void { |
| 458 | \\ var bad: f128 = 1.0__0e-1; | 474 | \\ var bad: f128 = 1.0__0e-1; |
| 459 | \\}) | 475 | \\} |
| 460 | , &[_][]const u8{ | 476 | , &[_][]const u8{ |
| 461 | "tmp.zig:2:25: error: invalid character: '_'", | 477 | "tmp.zig:2:25: error: invalid character: '_'", |
| 462 | }); | 478 | }); |
| ... | @@ -464,7 +480,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { | ... | @@ -464,7 +480,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { |
| 464 | cases.add("invalid underscore placement in float literal - 11", | 480 | cases.add("invalid underscore placement in float literal - 11", |
| 465 | \\fn main() void { | 481 | \\fn main() void { |
| 466 | \\ var bad: f128 = 1.0e-1__0; | 482 | \\ var bad: f128 = 1.0e-1__0; |
| 467 | \\}) | 483 | \\} |
| 468 | , &[_][]const u8{ | 484 | , &[_][]const u8{ |
| 469 | "tmp.zig:2:28: error: invalid character: '_'", | 485 | "tmp.zig:2:28: error: invalid character: '_'", |
| 470 | }); | 486 | }); |
| ... | @@ -472,7 +488,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { | ... | @@ -472,7 +488,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { |
| 472 | cases.add("invalid underscore placement in float literal - 12", | 488 | cases.add("invalid underscore placement in float literal - 12", |
| 473 | \\fn main() void { | 489 | \\fn main() void { |
| 474 | \\ var bad: f128 = 0_x0.0; | 490 | \\ var bad: f128 = 0_x0.0; |
| 475 | \\}) | 491 | \\} |
| 476 | , &[_][]const u8{ | 492 | , &[_][]const u8{ |
| 477 | "tmp.zig:2:23: error: invalid character: 'x'", | 493 | "tmp.zig:2:23: error: invalid character: 'x'", |
| 478 | }); | 494 | }); |
| ... | @@ -480,7 +496,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { | ... | @@ -480,7 +496,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { |
| 480 | cases.add("invalid underscore placement in float literal - 13", | 496 | cases.add("invalid underscore placement in float literal - 13", |
| 481 | \\fn main() void { | 497 | \\fn main() void { |
| 482 | \\ var bad: f128 = 0x_0.0; | 498 | \\ var bad: f128 = 0x_0.0; |
| 483 | \\}) | 499 | \\} |
| 484 | , &[_][]const u8{ | 500 | , &[_][]const u8{ |
| 485 | "tmp.zig:2:23: error: invalid character: '_'", | 501 | "tmp.zig:2:23: error: invalid character: '_'", |
| 486 | }); | 502 | }); |
| ... | @@ -488,11 +504,43 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { | ... | @@ -488,11 +504,43 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { |
| 488 | cases.add("invalid underscore placement in float literal - 14", | 504 | cases.add("invalid underscore placement in float literal - 14", |
| 489 | \\fn main() void { | 505 | \\fn main() void { |
| 490 | \\ var bad: f128 = 0x0.0_p1; | 506 | \\ var bad: f128 = 0x0.0_p1; |
| 491 | \\}) | 507 | \\} |
| 492 | , &[_][]const u8{ | 508 | , &[_][]const u8{ |
| 493 | "tmp.zig:2:27: error: invalid character: 'p'", | 509 | "tmp.zig:2:27: error: invalid character: 'p'", |
| 494 | }); | 510 | }); |
| 495 | | 511 | |
| | 512 | cases.add("invalid underscore placement in int literal - 1", |
| | 513 | \\fn main() void { |
| | 514 | \\ var bad: u128 = 0010_; |
| | 515 | \\} |
| | 516 | , &[_][]const u8{ |
| | 517 | "tmp.zig:2:26: error: invalid character: ';'", |
| | 518 | }); |
| | 519 | |
| | 520 | cases.add("invalid underscore placement in int literal - 2", |
| | 521 | \\fn main() void { |
| | 522 | \\ var bad: u128 = 0b0010_; |
| | 523 | \\} |
| | 524 | , &[_][]const u8{ |
| | 525 | "tmp.zig:2:28: error: invalid character: ';'", |
| | 526 | }); |
| | 527 | |
| | 528 | cases.add("invalid underscore placement in int literal - 3", |
| | 529 | \\fn main() void { |
| | 530 | \\ var bad: u128 = 0o0010_; |
| | 531 | \\} |
| | 532 | , &[_][]const u8{ |
| | 533 | "tmp.zig:2:28: error: invalid character: ';'", |
| | 534 | }); |
| | 535 | |
| | 536 | cases.add("invalid underscore placement in int literal - 4", |
| | 537 | \\fn main() void { |
| | 538 | \\ var bad: u128 = 0x0010_; |
| | 539 | \\} |
| | 540 | , &[_][]const u8{ |
| | 541 | "tmp.zig:2:28: error: invalid character: ';'", |
| | 542 | }); |
| | 543 | |
| 496 | cases.add("var args without c calling conv", | 544 | cases.add("var args without c calling conv", |
| 497 | \\fn foo(args: ...) void {} | 545 | \\fn foo(args: ...) void {} |
| 498 | \\comptime { | 546 | \\comptime { |