aboutsummaryrefslogtreecommitdiff
path: root/code
diff options
context:
space:
mode:
authorGinger Bill <bill@gingerbill.org>2017-01-20 11:23:46 +0000
committerGinger Bill <bill@gingerbill.org>2017-01-20 11:23:46 +0000
commit12498b2d390c95fd49672f8ee1c64b7b254c293c (patch)
tree48999ef7d971d1732add59a701c21947eff615cc /code
parent6d93aa429faba96415a7be135eb7296e69fb70a9 (diff)
Fix issue #8 - https://github.com/gingerBill/Odin/issues/8
Diffstat (limited to 'code')
-rw-r--r--code/demo.odin140
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();
-// }