diff options
| author | gingerBill <bill+github@gingerbill.org> | 2016-08-11 22:05:09 +0100 |
|---|---|---|
| committer | gingerBill <bill+github@gingerbill.org> | 2016-08-11 22:05:09 +0100 |
| commit | 84f2bcd885296433a4ccf2188639b377293306e4 (patch) | |
| tree | c3ab2164e35ba5a0639de4cad5141447df88ed90 /examples | |
| parent | 19cc77dad301225754bdc797e2bd55f580775048 (diff) | |
Nested Procedures
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/main.ll | 6 | ||||
| -rw-r--r-- | examples/main.odin | 10 |
2 files changed, 9 insertions, 7 deletions
diff --git a/examples/main.ll b/examples/main.ll index fce46ccd9..d513bdfa8 100644 --- a/examples/main.ll +++ b/examples/main.ll @@ -4,7 +4,7 @@ declare void @llvm.memmove.p0i8.p0i8.i64(i8*, i8*, i64, i32, i1) -define void @thing(i64 ()* %p) { +define void @exec(i64 ()* %p) { "entry - 0": %0 = alloca i64 ()*, align 8 ; p store i64 ()* zeroinitializer, i64 ()** %0 @@ -26,11 +26,11 @@ define void @main() { call void @print_int(i64 %2) call void @print_rune(i32 128149) call void @print_rune(i32 10) - call void @thing(i64 ()* @main$0) + call void @exec(i64 ()* @main$cool_beans) ret void } -define i64 @main$0() { +define i64 @main$cool_beans() { "entry - 0": %0 = alloca i64, align 8 ; a store i64 zeroinitializer, i64* %0 diff --git a/examples/main.odin b/examples/main.odin index 1263a77eb..686e2884b 100644 --- a/examples/main.odin +++ b/examples/main.odin @@ -2,7 +2,7 @@ import "basic" TWO_HEARTS :: '💕'; -thing :: proc(p : proc() -> int) { +exec :: proc(p : proc() -> int) { print_int(p()); print_rune('\n'); } @@ -12,12 +12,14 @@ main :: proc() { print_int(cast(int)a); print_rune(TWO_HEARTS); print_rune('\n'); - thing(proc() -> int { + + cool_beans :: proc() -> int { a : int = 1337; - print_rune(TWO_HEARTS); + print_rune('💕'); print_rune('\n'); return a; - }); + } + exec(cool_beans); } /* |