Files
Odin/code/demo.odin
T
2017-01-26 15:38:35 +00:00

56 lines
877 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, cast(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 := cast(int)f;
fmt.printf("f64 arg, f=%d\n", i);
}
foo();
// foo(THINGI);
foo(THINGF);
foo(cast(int)THINGI);
fmt.println(THINGI);
fmt.println(THINGF);
f: proc();
f = foo;
f();
}