Files
Odin/code/demo.odin
T
2017-01-17 23:36:07 +00:00

56 lines
863 B
Odin

#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";
main :: proc() {
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(int(THINGI));
// foo(THINGI);
foo(THINGF);
fmt.println(THINGI);
fmt.println(THINGF);
f: proc();
f = foo;
f();
}