diff options
| author | Ginger Bill <bill@gingerbill.org> | 2017-01-20 11:23:46 +0000 |
|---|---|---|
| committer | Ginger Bill <bill@gingerbill.org> | 2017-01-20 11:23:46 +0000 |
| commit | 12498b2d390c95fd49672f8ee1c64b7b254c293c (patch) | |
| tree | 48999ef7d971d1732add59a701c21947eff615cc /code | |
| parent | 6d93aa429faba96415a7be135eb7296e69fb70a9 (diff) | |
Fix issue #8 - https://github.com/gingerBill/Odin/issues/8
Diffstat (limited to 'code')
| -rw-r--r-- | code/demo.odin | 140 |
1 files changed, 58 insertions, 82 deletions
diff --git a/code/demo.odin b/code/demo.odin index eacc512a2..a4081e139 100644 --- a/code/demo.odin +++ b/code/demo.odin @@ -1,85 +1,61 @@ +#import "atomic.odin"; #import "fmt.odin"; +#import "hash.odin"; +#import "math.odin"; +#import "mem.odin"; +#import "opengl.odin"; #import "os.odin"; - -fgetc :: proc(fd : os.Handle) -> ?byte -{ - c : [1]byte; - - if bytes_read, _ := os.read(fd, c[:]); bytes_read == 0 - { - return nil; - } - - return c[0]; -} - -main :: proc () -{ - b := fgetc(os.stdin); - - if bv, ok := b?; ok - { - fmt.println(b); - } +#import win32 "sys/windows.odin"; +#import "sync.odin"; +#import "utf8.odin"; + +T :: struct { x, y: int }; +thread_local t: T; + +main :: proc() { + immutable using t := T{123, 321}; + fmt.println(t); + + + // foo :: proc(x: ^i32) -> (int, int) { + // fmt.println("^int"); + // return 123, int(x^); + // } + // foo :: proc(x: rawptr) { + // fmt.println("rawptr"); + // } + + // THINGI :: 14451; + // THINGF :: 14451.1; + + // a: i32 = 111111; + // b: f32; + // c: rawptr; + // fmt.println(foo(^a)); + // foo(^b); + // foo(c); + // // foo(nil); + // atomic.store(^a, 1); + + // foo :: proc() { + // fmt.printf("Zero args\n"); + // } + // foo :: proc(i: int) { + // fmt.printf("int arg, i=%d\n", i); + // } + // foo :: proc(f: f64) { + // i := int(f); + // fmt.printf("f64 arg, f=%d\n", i); + // } + + // foo(); + // // foo(THINGI); + // foo(THINGF); + // foo(int(THINGI)); + // fmt.println(THINGI); + // fmt.println(THINGF); + + // f: proc(); + // f = foo; + // f(); } -// #import "atomic.odin"; -// #import "fmt.odin"; -// #import "hash.odin"; -// #import "math.odin"; -// #import "mem.odin"; -// #import "opengl.odin"; -// #import "os.odin"; -// #import win32 "sys/windows.odin"; -// #import "sync.odin"; -// #import "utf8.odin"; - -// T :: struct { x, y: int }; -// thread_local t: T; - -// main :: proc() { -// immutable using t := T{123, 321}; -// fmt.println(t); - - -// // foo :: proc(x: ^i32) -> (int, int) { -// // fmt.println("^int"); -// // return 123, int(x^); -// // } -// // foo :: proc(x: rawptr) { -// // fmt.println("rawptr"); -// // } - -// // THINGI :: 14451; -// // THINGF :: 14451.1; - -// // a: i32 = 111111; -// // b: f32; -// // c: rawptr; -// // fmt.println(foo(^a)); -// // foo(^b); -// // foo(c); -// // // foo(nil); -// // atomic.store(^a, 1); - -// // foo :: proc() { -// // fmt.printf("Zero args\n"); -// // } -// // foo :: proc(i: int) { -// // fmt.printf("int arg, i=%d\n", i); -// // } -// // foo :: proc(f: f64) { -// // i := int(f); -// // fmt.printf("f64 arg, f=%d\n", i); -// // } - -// // foo(); -// // // foo(THINGI); -// // foo(THINGF); -// // foo(int(THINGI)); -// // fmt.println(THINGI); -// // fmt.println(THINGF); - -// // f: proc(); -// // f = foo; -// // f(); -// } |