| ... | ... | @@ -1001,43 +1001,43 @@ pub fn addCases(ctx: *TestContext) !void { |
| 1001 | 1001 | ); |
| 1002 | 1002 | } |
| 1003 | 1003 | |
| 1004 | | //{ |
| 1005 | | // var case = ctx.exe("basic import", linux_x64); |
| 1006 | | // case.addCompareOutput( |
| 1007 | | // \\export fn _start() noreturn { |
| 1008 | | // \\ @import("print.zig").print(); |
| 1009 | | // \\ exit(); |
| 1010 | | // \\} |
| 1011 | | // \\ |
| 1012 | | // \\fn exit() noreturn { |
| 1013 | | // \\ asm volatile ("syscall" |
| 1014 | | // \\ : |
| 1015 | | // \\ : [number] "{rax}" (231), |
| 1016 | | // \\ [arg1] "{rdi}" (@as(usize, 0)) |
| 1017 | | // \\ : "rcx", "r11", "memory" |
| 1018 | | // \\ ); |
| 1019 | | // \\ unreachable; |
| 1020 | | // \\} |
| 1021 | | // , |
| 1022 | | // "Hello, World!\n", |
| 1023 | | // ); |
| 1024 | | // try case.files.append(.{ |
| 1025 | | // .src = |
| 1026 | | // \\pub fn print() void { |
| 1027 | | // \\ asm volatile ("syscall" |
| 1028 | | // \\ : |
| 1029 | | // \\ : [number] "{rax}" (@as(usize, 1)), |
| 1030 | | // \\ [arg1] "{rdi}" (@as(usize, 1)), |
| 1031 | | // \\ [arg2] "{rsi}" (@ptrToInt("Hello, World!\n")), |
| 1032 | | // \\ [arg3] "{rdx}" (@as(usize, 14)) |
| 1033 | | // \\ : "rcx", "r11", "memory" |
| 1034 | | // \\ ); |
| 1035 | | // \\ return; |
| 1036 | | // \\} |
| 1037 | | // , |
| 1038 | | // .path = "print.zig", |
| 1039 | | // }); |
| 1040 | | //} |
| 1004 | { |
| 1005 | var case = ctx.exe("basic import", linux_x64); |
| 1006 | case.addCompareOutput( |
| 1007 | \\export fn _start() noreturn { |
| 1008 | \\ @import("print.zig").print(); |
| 1009 | \\ exit(); |
| 1010 | \\} |
| 1011 | \\ |
| 1012 | \\fn exit() noreturn { |
| 1013 | \\ asm volatile ("syscall" |
| 1014 | \\ : |
| 1015 | \\ : [number] "{rax}" (231), |
| 1016 | \\ [arg1] "{rdi}" (@as(usize, 0)) |
| 1017 | \\ : "rcx", "r11", "memory" |
| 1018 | \\ ); |
| 1019 | \\ unreachable; |
| 1020 | \\} |
| 1021 | , |
| 1022 | "Hello, World!\n", |
| 1023 | ); |
| 1024 | try case.files.append(.{ |
| 1025 | .src = |
| 1026 | \\pub fn print() void { |
| 1027 | \\ asm volatile ("syscall" |
| 1028 | \\ : |
| 1029 | \\ : [number] "{rax}" (@as(usize, 1)), |
| 1030 | \\ [arg1] "{rdi}" (@as(usize, 1)), |
| 1031 | \\ [arg2] "{rsi}" (@ptrToInt("Hello, World!\n")), |
| 1032 | \\ [arg3] "{rdx}" (@as(usize, 14)) |
| 1033 | \\ : "rcx", "r11", "memory" |
| 1034 | \\ ); |
| 1035 | \\ return; |
| 1036 | \\} |
| 1037 | , |
| 1038 | .path = "print.zig", |
| 1039 | }); |
| 1040 | } |
| 1041 | 1041 | |
| 1042 | 1042 | ctx.compileError("function redefinition", linux_x64, |
| 1043 | 1043 | \\fn entry() void {} |
| ... | ... | @@ -1051,26 +1051,26 @@ pub fn addCases(ctx: *TestContext) !void { |
| 1051 | 1051 | \\} |
| 1052 | 1052 | , &[_][]const u8{":2:3: error: this is an error"}); |
| 1053 | 1053 | |
| 1054 | | //{ |
| 1055 | | // var case = ctx.obj("variable shadowing", linux_x64); |
| 1056 | | // case.addError( |
| 1057 | | // \\export fn _start() noreturn { |
| 1058 | | // \\ var i: u32 = 10; |
| 1059 | | // \\ var i: u32 = 10; |
| 1060 | | // \\ unreachable; |
| 1061 | | // \\} |
| 1062 | | // , &[_][]const u8{ |
| 1063 | | // ":3:9: error: redefinition of 'i'", |
| 1064 | | // ":2:9: note: previous definition is here", |
| 1065 | | // }); |
| 1066 | | // case.addError( |
| 1067 | | // \\var testing: i64 = 10; |
| 1068 | | // \\export fn _start() noreturn { |
| 1069 | | // \\ var testing: i64 = 20; |
| 1070 | | // \\ unreachable; |
| 1071 | | // \\} |
| 1072 | | // , &[_][]const u8{":3:9: error: redefinition of 'testing'"}); |
| 1073 | | //} |
| 1054 | { |
| 1055 | var case = ctx.obj("variable shadowing", linux_x64); |
| 1056 | case.addError( |
| 1057 | \\export fn _start() noreturn { |
| 1058 | \\ var i: u32 = 10; |
| 1059 | \\ var i: u32 = 10; |
| 1060 | \\ unreachable; |
| 1061 | \\} |
| 1062 | , &[_][]const u8{ |
| 1063 | ":3:9: error: redefinition of 'i'", |
| 1064 | ":2:9: note: previous definition is here", |
| 1065 | }); |
| 1066 | case.addError( |
| 1067 | \\var testing: i64 = 10; |
| 1068 | \\export fn _start() noreturn { |
| 1069 | \\ var testing: i64 = 20; |
| 1070 | \\ unreachable; |
| 1071 | \\} |
| 1072 | , &[_][]const u8{":3:9: error: redefinition of 'testing'"}); |
| 1073 | } |
| 1074 | 1074 | |
| 1075 | 1075 | //{ |
| 1076 | 1076 | // // TODO make the test harness support checking the compile log output too |