authorgravatar for 57862114+momumi@users.noreply.github.commomumi <57862114+momumi@users.noreply.github.com> 2020-03-15 23:42:29+10:00
committergravatar for 57862114+momumi@users.noreply.github.commomumi <57862114+momumi@users.noreply.github.com> 2020-03-15 23:42:29+10:00
log47f7e6658077fb4f55c36e9c62ed5012ef8aace2
tree12ec6ad3340cca690b0f9c7a0a0928f0eca57159
parent925f71085269a8072ea9c49025a534fa47fbec44

add more test cases for invalid number literals


1 files changed, 62 insertions(+), 14 deletions(-)

test/compile_errors.zig+62-14
......@@ -384,15 +384,31 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
384384 \\ var bad_float :f32 = 0.0;
385385 \\ bad_float = bad_float + .20;
386386 \\ std.debug.assert(bad_float < 1.0);
387 \\})
387 \\}
388388 , &[_][]const u8{
389389 "tmp.zig:5:29: error: invalid token: '.'",
390390 });
391391
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
392408 cases.add("invalid underscore placement in float literal - 1",
393409 \\fn main() void {
394410 \\ var bad: f128 = 0._0;
395 \\})
411 \\}
396412 , &[_][]const u8{
397413 "tmp.zig:2:23: error: invalid character: '_'",
398414 });
......@@ -400,7 +416,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
400416 cases.add("invalid underscore placement in float literal - 2",
401417 \\fn main() void {
402418 \\ var bad: f128 = 0_.0;
403 \\})
419 \\}
404420 , &[_][]const u8{
405421 "tmp.zig:2:23: error: invalid character: '.'",
406422 });
......@@ -408,7 +424,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
408424 cases.add("invalid underscore placement in float literal - 3",
409425 \\fn main() void {
410426 \\ var bad: f128 = 0.0_;
411 \\})
427 \\}
412428 , &[_][]const u8{
413429 "tmp.zig:2:25: error: invalid character: ';'",
414430 });
......@@ -416,7 +432,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
416432 cases.add("invalid underscore placement in float literal - 4",
417433 \\fn main() void {
418434 \\ var bad: f128 = 1.0e_1;
419 \\})
435 \\}
420436 , &[_][]const u8{
421437 "tmp.zig:2:25: error: invalid character: '_'",
422438 });
......@@ -424,7 +440,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
424440 cases.add("invalid underscore placement in float literal - 5",
425441 \\fn main() void {
426442 \\ var bad: f128 = 1.0e+_1;
427 \\})
443 \\}
428444 , &[_][]const u8{
429445 "tmp.zig:2:26: error: invalid character: '_'",
430446 });
......@@ -432,7 +448,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
432448 cases.add("invalid underscore placement in float literal - 6",
433449 \\fn main() void {
434450 \\ var bad: f128 = 1.0e-_1;
435 \\})
451 \\}
436452 , &[_][]const u8{
437453 "tmp.zig:2:26: error: invalid character: '_'",
438454 });
......@@ -440,7 +456,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
440456 cases.add("invalid underscore placement in float literal - 7",
441457 \\fn main() void {
442458 \\ var bad: f128 = 1.0e-1_;
443 \\})
459 \\}
444460 , &[_][]const u8{
445461 "tmp.zig:2:28: error: invalid character: ';'",
446462 });
......@@ -448,7 +464,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
448464 cases.add("invalid underscore placement in float literal - 9",
449465 \\fn main() void {
450466 \\ var bad: f128 = 1__0.0e-1;
451 \\})
467 \\}
452468 , &[_][]const u8{
453469 "tmp.zig:2:23: error: invalid character: '_'",
454470 });
......@@ -456,7 +472,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
456472 cases.add("invalid underscore placement in float literal - 10",
457473 \\fn main() void {
458474 \\ var bad: f128 = 1.0__0e-1;
459 \\})
475 \\}
460476 , &[_][]const u8{
461477 "tmp.zig:2:25: error: invalid character: '_'",
462478 });
......@@ -464,7 +480,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
464480 cases.add("invalid underscore placement in float literal - 11",
465481 \\fn main() void {
466482 \\ var bad: f128 = 1.0e-1__0;
467 \\})
483 \\}
468484 , &[_][]const u8{
469485 "tmp.zig:2:28: error: invalid character: '_'",
470486 });
......@@ -472,7 +488,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
472488 cases.add("invalid underscore placement in float literal - 12",
473489 \\fn main() void {
474490 \\ var bad: f128 = 0_x0.0;
475 \\})
491 \\}
476492 , &[_][]const u8{
477493 "tmp.zig:2:23: error: invalid character: 'x'",
478494 });
......@@ -480,7 +496,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
480496 cases.add("invalid underscore placement in float literal - 13",
481497 \\fn main() void {
482498 \\ var bad: f128 = 0x_0.0;
483 \\})
499 \\}
484500 , &[_][]const u8{
485501 "tmp.zig:2:23: error: invalid character: '_'",
486502 });
......@@ -488,11 +504,43 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
488504 cases.add("invalid underscore placement in float literal - 14",
489505 \\fn main() void {
490506 \\ var bad: f128 = 0x0.0_p1;
491 \\})
507 \\}
492508 , &[_][]const u8{
493509 "tmp.zig:2:27: error: invalid character: 'p'",
494510 });
495511
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
496544 cases.add("var args without c calling conv",
497545 \\fn foo(args: ...) void {}
498546 \\comptime {