| ... | ... | @@ -1048,7 +1048,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 1048 | 1048 | "Hello, World!\n", |
| 1049 | 1049 | ); |
| 1050 | 1050 | try case.files.append(.{ |
| 1051 | | .src = |
| 1051 | .src = |
| 1052 | 1052 | \\pub fn print() void { |
| 1053 | 1053 | \\ asm volatile ("syscall" |
| 1054 | 1054 | \\ : |
| ... | ... | @@ -1064,6 +1064,43 @@ pub fn addCases(ctx: *TestContext) !void { |
| 1064 | 1064 | .path = "print.zig", |
| 1065 | 1065 | }); |
| 1066 | 1066 | } |
| 1067 | { |
| 1068 | var case = ctx.exe("import private", linux_x64); |
| 1069 | case.addError( |
| 1070 | \\export fn _start() noreturn { |
| 1071 | \\ @import("print.zig").print(); |
| 1072 | \\ exit(); |
| 1073 | \\} |
| 1074 | \\ |
| 1075 | \\fn exit() noreturn { |
| 1076 | \\ asm volatile ("syscall" |
| 1077 | \\ : |
| 1078 | \\ : [number] "{rax}" (231), |
| 1079 | \\ [arg1] "{rdi}" (@as(usize, 0)) |
| 1080 | \\ : "rcx", "r11", "memory" |
| 1081 | \\ ); |
| 1082 | \\ unreachable; |
| 1083 | \\} |
| 1084 | , |
| 1085 | &.{":2:25: error: 'print' is private"}, |
| 1086 | ); |
| 1087 | try case.files.append(.{ |
| 1088 | .src = |
| 1089 | \\fn print() void { |
| 1090 | \\ asm volatile ("syscall" |
| 1091 | \\ : |
| 1092 | \\ : [number] "{rax}" (@as(usize, 1)), |
| 1093 | \\ [arg1] "{rdi}" (@as(usize, 1)), |
| 1094 | \\ [arg2] "{rsi}" (@ptrToInt("Hello, World!\n")), |
| 1095 | \\ [arg3] "{rdx}" (@as(usize, 14)) |
| 1096 | \\ : "rcx", "r11", "memory" |
| 1097 | \\ ); |
| 1098 | \\ return; |
| 1099 | \\} |
| 1100 | , |
| 1101 | .path = "print.zig", |
| 1102 | }); |
| 1103 | } |
| 1067 | 1104 | |
| 1068 | 1105 | ctx.compileError("function redefinition", linux_x64, |
| 1069 | 1106 | \\// dummy comment |