PushStruct lambda working yay

This commit is contained in:
Krzosa Karol
2023-04-01 20:38:54 +02:00
parent 3c70b45be4
commit 2ce696b04b

View File

@@ -1,14 +1,15 @@
MA :: #import "Arena.core"
PushStruct :: (a: *MA.Arena, $T: Type): *T
v: T
size := SizeOf(v)
size := SizeOf(T)
result := MA.PushSize(a, size->U64)
return result->*T
main :: (argc: int, argv: **char): int
arena: MA.Arena
a: *int = PushStruct(&arena, int)
Assert(arena.len == SizeOf(int))
b: *F32 = PushStruct(&arena, F32)
padding := SizeOf(int)
Assert(arena.len->S64 == (SizeOf(int) + SizeOf(F32) + padding))
return 0