authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-01-15 18:45:52-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-01-15 18:45:52-07:00
logdc162c7f8385d82f1e5513a5412b98ec8c70e993
treef79da2773613dd9907367c590f861b5d7033f8eb
parent86f55bce536b6ed678497890f5bd0eed76ebfbb3

rename "use" to "import"


12 files changed, 59 insertions(+), 94 deletions(-)

doc/langref.md+2-2
...@@ -32,7 +32,7 @@ zig | C equivalent | Description...@@ -32,7 +32,7 @@ zig | C equivalent | Description
32```32```
33Root : many(TopLevelDecl) token(EOF)33Root : many(TopLevelDecl) token(EOF)
3434
35TopLevelDecl : FnDef | ExternBlock | RootExportDecl | Use | ContainerDecl | VariableDeclaration35TopLevelDecl : FnDef | ExternBlock | RootExportDecl | Import | ContainerDecl | VariableDeclaration
3636
37VariableDeclaration : option(FnVisibleMod) (token(Var) | token(Const)) token(Symbol) (token(Eq) Expression | token(Colon) PrefixOpExpression option(token(Eq) Expression))37VariableDeclaration : option(FnVisibleMod) (token(Var) | token(Const)) token(Symbol) (token(Eq) Expression | token(Colon) PrefixOpExpression option(token(Eq) Expression))
3838
...@@ -42,7 +42,7 @@ StructMember: StructField | FnDecl...@@ -42,7 +42,7 @@ StructMember: StructField | FnDecl
4242
43StructField : token(Symbol) option(token(Colon) Expression) token(Comma))43StructField : token(Symbol) option(token(Colon) Expression) token(Comma))
4444
45Use : many(Directive) token(Use) token(String) token(Semicolon)45Import : many(Directive) token(Import) token(String) token(Semicolon)
4646
47RootExportDecl : many(Directive) token(Export) token(Symbol) token(String) token(Semicolon)47RootExportDecl : many(Directive) token(Export) token(Symbol) token(String) token(Semicolon)
4848
example/guess_number/main.zig+2-2
...@@ -1,7 +1,7 @@...@@ -1,7 +1,7 @@
1export executable "guess_number";1export executable "guess_number";
22
3use "std.zig";3import "std.zig";
4use "rand.zig";4import "rand.zig";
55
6pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {6pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
7 print_str("Welcome to the Guess Number Game in Zig.\n");7 print_str("Welcome to the Guess Number Game in Zig.\n");
example/hello_world/hello.zig+1-1
...@@ -1,6 +1,6 @@...@@ -1,6 +1,6 @@
1export executable "hello";1export executable "hello";
22
3use "std.zig";3import "std.zig";
44
5pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {5pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
6 print_str("Hello, world!\n");6 print_str("Hello, world!\n");
example/maybe_type/main.zig deleted-35
...@@ -1,35 +0,0 @@
1export executable "maybe_type";
2
3use "std.zig";
4
5pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
6 const x : ?bool = true;
7
8 if (const y ?= x) {
9 if (y) {
10 print_str("x is true\n");
11 } else {
12 print_str("x is false\n");
13 }
14 } else {
15 print_str("x is none\n");
16 }
17
18 const next_x : ?i32 = null;
19
20 const z = next_x ?? 1234;
21
22 if (z != 1234) {
23 print_str("BAD\n");
24 }
25
26 const final_x : ?i32 = 13;
27
28 const num = final_x ?? unreachable{};
29
30 if (num != 13) {
31 print_str("BAD\n");
32 }
33
34 return 0;
35}
example/multiple_files/foo.zig+1-1
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1use "std.zig";1import "std.zig";
22
3// purposefully conflicting function with main.zig3// purposefully conflicting function with main.zig
4// but it's private so it should be OK4// but it's private so it should be OK
example/multiple_files/main.zig+2-2
...@@ -1,7 +1,7 @@...@@ -1,7 +1,7 @@
1export executable "test-multiple-files";1export executable "test-multiple-files";
22
3use "std.zig";3import "std.zig";
4use "foo.zig";4import "foo.zig";
55
6pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {6pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
7 private_function();7 private_function();
src/parser.cpp+1-1
...@@ -2542,7 +2542,7 @@ Use : many(Directive) token(Use) token(String) token(Semicolon)...@@ -2542,7 +2542,7 @@ Use : many(Directive) token(Use) token(String) token(Semicolon)
2542*/2542*/
2543static AstNode *ast_parse_use(ParseContext *pc, int *token_index) {2543static AstNode *ast_parse_use(ParseContext *pc, int *token_index) {
2544 Token *use_kw = &pc->tokens->at(*token_index);2544 Token *use_kw = &pc->tokens->at(*token_index);
2545 if (use_kw->id != TokenIdKeywordUse)2545 if (use_kw->id != TokenIdKeywordImport)
2546 return nullptr;2546 return nullptr;
2547 *token_index += 1;2547 *token_index += 1;
25482548
src/tokenizer.cpp+3-3
...@@ -211,8 +211,8 @@ static void end_token(Tokenize *t) {...@@ -211,8 +211,8 @@ static void end_token(Tokenize *t) {
211 t->cur_tok->id = TokenIdKeywordPub;211 t->cur_tok->id = TokenIdKeywordPub;
212 } else if (mem_eql_str(token_mem, token_len, "export")) {212 } else if (mem_eql_str(token_mem, token_len, "export")) {
213 t->cur_tok->id = TokenIdKeywordExport;213 t->cur_tok->id = TokenIdKeywordExport;
214 } else if (mem_eql_str(token_mem, token_len, "use")) {214 } else if (mem_eql_str(token_mem, token_len, "import")) {
215 t->cur_tok->id = TokenIdKeywordUse;215 t->cur_tok->id = TokenIdKeywordImport;
216 } else if (mem_eql_str(token_mem, token_len, "true")) {216 } else if (mem_eql_str(token_mem, token_len, "true")) {
217 t->cur_tok->id = TokenIdKeywordTrue;217 t->cur_tok->id = TokenIdKeywordTrue;
218 } else if (mem_eql_str(token_mem, token_len, "false")) {218 } else if (mem_eql_str(token_mem, token_len, "false")) {
...@@ -1017,7 +1017,7 @@ const char * token_name(TokenId id) {...@@ -1017,7 +1017,7 @@ const char * token_name(TokenId id) {
1017 case TokenIdKeywordExtern: return "extern";1017 case TokenIdKeywordExtern: return "extern";
1018 case TokenIdKeywordPub: return "pub";1018 case TokenIdKeywordPub: return "pub";
1019 case TokenIdKeywordExport: return "export";1019 case TokenIdKeywordExport: return "export";
1020 case TokenIdKeywordUse: return "use";1020 case TokenIdKeywordImport: return "import";
1021 case TokenIdKeywordTrue: return "true";1021 case TokenIdKeywordTrue: return "true";
1022 case TokenIdKeywordFalse: return "false";1022 case TokenIdKeywordFalse: return "false";
1023 case TokenIdKeywordIf: return "if";1023 case TokenIdKeywordIf: return "if";
src/tokenizer.hpp+1-1
...@@ -20,7 +20,7 @@ enum TokenId {...@@ -20,7 +20,7 @@ enum TokenId {
20 TokenIdKeywordExtern,20 TokenIdKeywordExtern,
21 TokenIdKeywordPub,21 TokenIdKeywordPub,
22 TokenIdKeywordExport,22 TokenIdKeywordExport,
23 TokenIdKeywordUse,23 TokenIdKeywordImport,
24 TokenIdKeywordTrue,24 TokenIdKeywordTrue,
25 TokenIdKeywordFalse,25 TokenIdKeywordFalse,
26 TokenIdKeywordIf,26 TokenIdKeywordIf,
std/bootstrap.zig+1-1
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1use "syscall.zig";1import "syscall.zig";
22
3// The compiler treats this file special by implicitly importing the function `main`3// The compiler treats this file special by implicitly importing the function `main`
4// from the root source file.4// from the root source file.
std/std.zig+1-1
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1use "syscall.zig";1import "syscall.zig";
22
3pub const stdin_fileno : isize = 0;3pub const stdin_fileno : isize = 0;
4pub const stdout_fileno : isize = 1;4pub const stdout_fileno : isize = 1;
test/run_tests.cpp+44-44
...@@ -108,8 +108,8 @@ export fn main(argc: i32, argv: &&u8, env: &&u8) i32 => {...@@ -108,8 +108,8 @@ export fn main(argc: i32, argv: &&u8, env: &&u8) i32 => {
108 )SOURCE", "Hello, world!\n");108 )SOURCE", "Hello, world!\n");
109109
110 add_simple_case("function call", R"SOURCE(110 add_simple_case("function call", R"SOURCE(
111use "std.zig";111import "std.zig";
112use "syscall.zig";112import "syscall.zig";
113113
114fn empty_function_1() => {}114fn empty_function_1() => {}
115fn empty_function_2() => { return; }115fn empty_function_2() => { return; }
...@@ -127,7 +127,7 @@ fn this_is_a_function() unreachable => {...@@ -127,7 +127,7 @@ fn this_is_a_function() unreachable => {
127 )SOURCE", "OK\n");127 )SOURCE", "OK\n");
128128
129 add_simple_case("comments", R"SOURCE(129 add_simple_case("comments", R"SOURCE(
130use "std.zig";130import "std.zig";
131131
132/**132/**
133 * multi line doc comment133 * multi line doc comment
...@@ -144,8 +144,8 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {...@@ -144,8 +144,8 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
144144
145 {145 {
146 TestCase *tc = add_simple_case("multiple files with private function", R"SOURCE(146 TestCase *tc = add_simple_case("multiple files with private function", R"SOURCE(
147use "std.zig";147import "std.zig";
148use "foo.zig";148import "foo.zig";
149149
150pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {150pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
151 private_function();151 private_function();
...@@ -159,7 +159,7 @@ fn private_function() => {...@@ -159,7 +159,7 @@ fn private_function() => {
159 )SOURCE", "OK 1\nOK 2\n");159 )SOURCE", "OK 1\nOK 2\n");
160160
161 add_source_file(tc, "foo.zig", R"SOURCE(161 add_source_file(tc, "foo.zig", R"SOURCE(
162use "std.zig";162import "std.zig";
163163
164// purposefully conflicting function with main.zig164// purposefully conflicting function with main.zig
165// but it's private so it should be OK165// but it's private so it should be OK
...@@ -175,8 +175,8 @@ pub fn print_text() => {...@@ -175,8 +175,8 @@ pub fn print_text() => {
175175
176 {176 {
177 TestCase *tc = add_simple_case("import segregation", R"SOURCE(177 TestCase *tc = add_simple_case("import segregation", R"SOURCE(
178use "foo.zig";178import "foo.zig";
179use "bar.zig";179import "bar.zig";
180180
181pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {181pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
182 foo_function();182 foo_function();
...@@ -186,15 +186,15 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {...@@ -186,15 +186,15 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
186 )SOURCE", "OK\nOK\n");186 )SOURCE", "OK\nOK\n");
187187
188 add_source_file(tc, "foo.zig", R"SOURCE(188 add_source_file(tc, "foo.zig", R"SOURCE(
189use "std.zig";189import "std.zig";
190pub fn foo_function() => {190pub fn foo_function() => {
191 print_str("OK\n");191 print_str("OK\n");
192}192}
193 )SOURCE");193 )SOURCE");
194194
195 add_source_file(tc, "bar.zig", R"SOURCE(195 add_source_file(tc, "bar.zig", R"SOURCE(
196use "other.zig";196import "other.zig";
197use "std.zig";197import "std.zig";
198198
199pub fn bar_function() => {199pub fn bar_function() => {
200 if (foo_function()) {200 if (foo_function()) {
...@@ -212,7 +212,7 @@ pub fn foo_function() bool => {...@@ -212,7 +212,7 @@ pub fn foo_function() bool => {
212 }212 }
213213
214 add_simple_case("if statements", R"SOURCE(214 add_simple_case("if statements", R"SOURCE(
215use "std.zig";215import "std.zig";
216216
217pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {217pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
218 if (1 != 0) {218 if (1 != 0) {
...@@ -233,7 +233,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {...@@ -233,7 +233,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
233 )SOURCE", "1 is true\n!0 is true\n");233 )SOURCE", "1 is true\n!0 is true\n");
234234
235 add_simple_case("params", R"SOURCE(235 add_simple_case("params", R"SOURCE(
236use "std.zig";236import "std.zig";
237237
238fn add(a: i32, b: i32) i32 => {238fn add(a: i32, b: i32) i32 => {
239 a + b239 a + b
...@@ -248,7 +248,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {...@@ -248,7 +248,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
248 )SOURCE", "pass\n");248 )SOURCE", "pass\n");
249249
250 add_simple_case("goto", R"SOURCE(250 add_simple_case("goto", R"SOURCE(
251use "std.zig";251import "std.zig";
252252
253fn loop(a : i32) => {253fn loop(a : i32) => {
254 if (a == 0) {254 if (a == 0) {
...@@ -268,7 +268,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {...@@ -268,7 +268,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
268 )SOURCE", "loop\nloop\nloop\n");268 )SOURCE", "loop\nloop\nloop\n");
269269
270 add_simple_case("local variables", R"SOURCE(270 add_simple_case("local variables", R"SOURCE(
271use "std.zig";271import "std.zig";
272272
273pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {273pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
274 const a : i32 = 1;274 const a : i32 = 1;
...@@ -281,7 +281,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {...@@ -281,7 +281,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
281 )SOURCE", "OK\n");281 )SOURCE", "OK\n");
282282
283 add_simple_case("bool literals", R"SOURCE(283 add_simple_case("bool literals", R"SOURCE(
284use "std.zig";284import "std.zig";
285285
286pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {286pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
287 if (true) { print_str("OK 1\n"); }287 if (true) { print_str("OK 1\n"); }
...@@ -293,7 +293,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {...@@ -293,7 +293,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
293 )SOURCE", "OK 1\nOK 2\n");293 )SOURCE", "OK 1\nOK 2\n");
294294
295 add_simple_case("separate block scopes", R"SOURCE(295 add_simple_case("separate block scopes", R"SOURCE(
296use "std.zig";296import "std.zig";
297297
298pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {298pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
299 if (true) {299 if (true) {
...@@ -311,7 +311,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {...@@ -311,7 +311,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
311 )SOURCE", "OK 1\nOK 2\n");311 )SOURCE", "OK 1\nOK 2\n");
312312
313 add_simple_case("void parameters", R"SOURCE(313 add_simple_case("void parameters", R"SOURCE(
314use "std.zig";314import "std.zig";
315315
316pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {316pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
317 void_fun(1, void{}, 2);317 void_fun(1, void{}, 2);
...@@ -327,7 +327,7 @@ fn void_fun(a : i32, b : void, c : i32) => {...@@ -327,7 +327,7 @@ fn void_fun(a : i32, b : void, c : i32) => {
327 )SOURCE", "OK\n");327 )SOURCE", "OK\n");
328328
329 add_simple_case("void struct fields", R"SOURCE(329 add_simple_case("void struct fields", R"SOURCE(
330use "std.zig";330import "std.zig";
331struct Foo {331struct Foo {
332 a : void,332 a : void,
333 b : i32,333 b : i32,
...@@ -352,7 +352,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {...@@ -352,7 +352,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
352 )SOURCE", "OK\n");352 )SOURCE", "OK\n");
353353
354 add_simple_case("void arrays", R"SOURCE(354 add_simple_case("void arrays", R"SOURCE(
355use "std.zig";355import "std.zig";
356356
357pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {357pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
358 var array: [4]void;358 var array: [4]void;
...@@ -371,7 +371,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {...@@ -371,7 +371,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
371371
372372
373 add_simple_case("mutable local variables", R"SOURCE(373 add_simple_case("mutable local variables", R"SOURCE(
374use "std.zig";374import "std.zig";
375375
376pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {376pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
377 var zero : i32 = 0;377 var zero : i32 = 0;
...@@ -391,7 +391,7 @@ done:...@@ -391,7 +391,7 @@ done:
391 )SOURCE", "zero\nloop\nloop\nloop\n");391 )SOURCE", "zero\nloop\nloop\nloop\n");
392392
393 add_simple_case("arrays", R"SOURCE(393 add_simple_case("arrays", R"SOURCE(
394use "std.zig";394import "std.zig";
395395
396pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {396pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
397 var array : [5]u32;397 var array : [5]u32;
...@@ -427,7 +427,7 @@ fn get_array_len(a: []u32) usize => {...@@ -427,7 +427,7 @@ fn get_array_len(a: []u32) usize => {
427427
428428
429 add_simple_case("hello world without libc", R"SOURCE(429 add_simple_case("hello world without libc", R"SOURCE(
430use "std.zig";430import "std.zig";
431431
432pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {432pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {
433 print_str("Hello, world!\n");433 print_str("Hello, world!\n");
...@@ -437,7 +437,7 @@ pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {...@@ -437,7 +437,7 @@ pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {
437437
438438
439 add_simple_case("a + b + c", R"SOURCE(439 add_simple_case("a + b + c", R"SOURCE(
440use "std.zig";440import "std.zig";
441441
442pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {442pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {
443 if (false || false || false) { print_str("BAD 1\n"); }443 if (false || false || false) { print_str("BAD 1\n"); }
...@@ -459,7 +459,7 @@ pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {...@@ -459,7 +459,7 @@ pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {
459 )SOURCE", "OK\n");459 )SOURCE", "OK\n");
460460
461 add_simple_case("short circuit", R"SOURCE(461 add_simple_case("short circuit", R"SOURCE(
462use "std.zig";462import "std.zig";
463463
464pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {464pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {
465 if (true || { print_str("BAD 1\n"); false }) {465 if (true || { print_str("BAD 1\n"); false }) {
...@@ -482,7 +482,7 @@ pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {...@@ -482,7 +482,7 @@ pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {
482 )SOURCE", "OK 1\nOK 2\nOK 3\nOK 4\n");482 )SOURCE", "OK 1\nOK 2\nOK 3\nOK 4\n");
483483
484 add_simple_case("modify operators", R"SOURCE(484 add_simple_case("modify operators", R"SOURCE(
485use "std.zig";485import "std.zig";
486486
487pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {487pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {
488 var i : i32 = 0;488 var i : i32 = 0;
...@@ -634,7 +634,7 @@ export fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {...@@ -634,7 +634,7 @@ export fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {
634)OUTPUT");634)OUTPUT");
635635
636 add_simple_case("structs", R"SOURCE(636 add_simple_case("structs", R"SOURCE(
637use "std.zig";637import "std.zig";
638638
639pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {639pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {
640 var foo : Foo;640 var foo : Foo;
...@@ -706,7 +706,7 @@ fn test_initializer() => {...@@ -706,7 +706,7 @@ fn test_initializer() => {
706 )SOURCE", "OK\n");706 )SOURCE", "OK\n");
707707
708 add_simple_case("global variables", R"SOURCE(708 add_simple_case("global variables", R"SOURCE(
709use "std.zig";709import "std.zig";
710710
711const g1 : i32 = 1233 + 1;711const g1 : i32 = 1233 + 1;
712var g2 : i32 = 0;712var g2 : i32 = 0;
...@@ -721,7 +721,7 @@ pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {...@@ -721,7 +721,7 @@ pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {
721 )SOURCE", "OK\n");721 )SOURCE", "OK\n");
722722
723 add_simple_case("while loop", R"SOURCE(723 add_simple_case("while loop", R"SOURCE(
724use "std.zig";724import "std.zig";
725pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {725pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {
726 var i : i32 = 0;726 var i : i32 = 0;
727 while (i < 4) {727 while (i < 4) {
...@@ -738,7 +738,7 @@ fn f() i32 => {...@@ -738,7 +738,7 @@ fn f() i32 => {
738 )SOURCE", "loop\nloop\nloop\nloop\n");738 )SOURCE", "loop\nloop\nloop\nloop\n");
739739
740 add_simple_case("continue and break", R"SOURCE(740 add_simple_case("continue and break", R"SOURCE(
741use "std.zig";741import "std.zig";
742pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {742pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {
743 var i : i32 = 0;743 var i : i32 = 0;
744 while (true) {744 while (true) {
...@@ -754,7 +754,7 @@ pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {...@@ -754,7 +754,7 @@ pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {
754 )SOURCE", "loop\nloop\nloop\nloop\n");754 )SOURCE", "loop\nloop\nloop\nloop\n");
755755
756 add_simple_case("maybe type", R"SOURCE(756 add_simple_case("maybe type", R"SOURCE(
757use "std.zig";757import "std.zig";
758pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {758pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
759 const x : ?bool = true;759 const x : ?bool = true;
760760
...@@ -789,7 +789,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {...@@ -789,7 +789,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
789 )SOURCE", "x is true\n");789 )SOURCE", "x is true\n");
790790
791 add_simple_case("implicit cast after unreachable", R"SOURCE(791 add_simple_case("implicit cast after unreachable", R"SOURCE(
792use "std.zig";792import "std.zig";
793pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {793pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {
794 const x = outer();794 const x = outer();
795 if (x == 1234) {795 if (x == 1234) {
...@@ -804,7 +804,7 @@ fn outer() isize => {...@@ -804,7 +804,7 @@ fn outer() isize => {
804 )SOURCE", "OK\n");804 )SOURCE", "OK\n");
805805
806 add_simple_case("@sizeof() and @typeof()", R"SOURCE(806 add_simple_case("@sizeof() and @typeof()", R"SOURCE(
807use "std.zig";807import "std.zig";
808const x: u16 = 13;808const x: u16 = 13;
809const z: @typeof(x) = 19;809const z: @typeof(x) = 19;
810pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {810pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {
...@@ -816,7 +816,7 @@ pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {...@@ -816,7 +816,7 @@ pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {
816 )SOURCE", "2\n");816 )SOURCE", "2\n");
817817
818 add_simple_case("member functions", R"SOURCE(818 add_simple_case("member functions", R"SOURCE(
819use "std.zig";819import "std.zig";
820struct Rand {820struct Rand {
821 seed: u32,821 seed: u32,
822 pub fn get_seed(r: Rand) u32 => {822 pub fn get_seed(r: Rand) u32 => {
...@@ -834,7 +834,7 @@ pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {...@@ -834,7 +834,7 @@ pub fn main(argc : isize, argv : &&u8, env : &&u8) i32 => {
834 )SOURCE", "OK\n");834 )SOURCE", "OK\n");
835835
836 add_simple_case("pointer dereferencing", R"SOURCE(836 add_simple_case("pointer dereferencing", R"SOURCE(
837use "std.zig";837import "std.zig";
838838
839pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {839pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
840 var x = i32(3);840 var x = i32(3);
...@@ -854,7 +854,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {...@@ -854,7 +854,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
854 )SOURCE", "OK\n");854 )SOURCE", "OK\n");
855855
856 add_simple_case("constant expressions", R"SOURCE(856 add_simple_case("constant expressions", R"SOURCE(
857use "std.zig";857import "std.zig";
858858
859const ARRAY_SIZE : u8 = 20;859const ARRAY_SIZE : u8 = 20;
860860
...@@ -867,7 +867,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {...@@ -867,7 +867,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
867 )SOURCE", "20\n");867 )SOURCE", "20\n");
868868
869 add_simple_case("#min_value() and #max_value()", R"SOURCE(869 add_simple_case("#min_value() and #max_value()", R"SOURCE(
870use "std.zig";870import "std.zig";
871pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {871pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
872 print_str("max u8: ");872 print_str("max u8: ");
873 print_u64(@max_value(u8));873 print_u64(@max_value(u8));
...@@ -955,7 +955,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {...@@ -955,7 +955,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
955955
956956
957 add_simple_case("slicing", R"SOURCE(957 add_simple_case("slicing", R"SOURCE(
958use "std.zig";958import "std.zig";
959pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {959pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
960 var array : [20]i32;960 var array : [20]i32;
961961
...@@ -983,7 +983,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {...@@ -983,7 +983,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
983983
984984
985 add_simple_case("else if expression", R"SOURCE(985 add_simple_case("else if expression", R"SOURCE(
986use "std.zig";986import "std.zig";
987pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {987pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
988 if (f(1) == 1) {988 if (f(1) == 1) {
989 print_str("OK\n");989 print_str("OK\n");
...@@ -1002,7 +1002,7 @@ fn f(c: u8) u8 => {...@@ -1002,7 +1002,7 @@ fn f(c: u8) u8 => {
1002 )SOURCE", "OK\n");1002 )SOURCE", "OK\n");
10031003
1004 add_simple_case("overflow intrinsics", R"SOURCE(1004 add_simple_case("overflow intrinsics", R"SOURCE(
1005use "std.zig";1005import "std.zig";
1006pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {1006pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
1007 var result: u8;1007 var result: u8;
1008 if (!@add_with_overflow(u8, 250, 100, &result)) {1008 if (!@add_with_overflow(u8, 250, 100, &result)) {
...@@ -1020,7 +1020,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {...@@ -1020,7 +1020,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
1020 )SOURCE", "OK\n");1020 )SOURCE", "OK\n");
10211021
1022 add_simple_case("memcpy and memset intrinsics", R"SOURCE(1022 add_simple_case("memcpy and memset intrinsics", R"SOURCE(
1023use "std.zig";1023import "std.zig";
1024pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {1024pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
1025 var foo : [20]u8;1025 var foo : [20]u8;
1026 var bar : [20]u8;1026 var bar : [20]u8;
...@@ -1038,7 +1038,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {...@@ -1038,7 +1038,7 @@ pub fn main(argc: isize, argv: &&u8, env: &&u8) i32 => {
1038 )SOURCE", "OK\n");1038 )SOURCE", "OK\n");
10391039
1040 add_simple_case("order-independent declarations", R"SOURCE(1040 add_simple_case("order-independent declarations", R"SOURCE(
1041use "std.zig";1041import "std.zig";
1042const z : @typeof(stdin_fileno) = 0;1042const z : @typeof(stdin_fileno) = 0;
1043const x : @typeof(y) = 1234;1043const x : @typeof(y) = 1234;
1044const y : u16 = 5678;1044const y : u16 = 5678;
...@@ -1053,7 +1053,7 @@ const foo : i32 = 0;...@@ -1053,7 +1053,7 @@ const foo : i32 = 0;
1053 )SOURCE", "OK\n");1053 )SOURCE", "OK\n");
10541054
1055 add_simple_case("enum type", R"SOURCE(1055 add_simple_case("enum type", R"SOURCE(
1056use "std.zig";1056import "std.zig";
10571057
1058struct Point {1058struct Point {
1059 x: u64,1059 x: u64,
...@@ -1167,7 +1167,7 @@ export executable "test";...@@ -1167,7 +1167,7 @@ export executable "test";
1167 )SOURCE", 1, ".tmp_source.zig:2:1: error: invalid version string");1167 )SOURCE", 1, ".tmp_source.zig:2:1: error: invalid version string");
11681168
1169 add_compile_fail_case("bad import", R"SOURCE(1169 add_compile_fail_case("bad import", R"SOURCE(
1170use "bogus-does-not-exist.zig";1170import "bogus-does-not-exist.zig";
1171 )SOURCE", 1, ".tmp_source.zig:2:1: error: unable to find 'bogus-does-not-exist.zig'");1171 )SOURCE", 1, ".tmp_source.zig:2:1: error: unable to find 'bogus-does-not-exist.zig'");
11721172
1173 add_compile_fail_case("undeclared identifier", R"SOURCE(1173 add_compile_fail_case("undeclared identifier", R"SOURCE(