YIELD(so->token->pos, "Trying to resolve type to take the size of.");
so->size = type_size_of(so->so_type);
+ so->flags |= Ast_Flag_Comptime;
return Check_Success;
}
YIELD(ao->token->pos, "Trying to resolve type to take the alignment of.");
ao->alignment = type_alignment_of(ao->ao_type);
+ ao->flags |= Ast_Flag_Comptime;
return Check_Success;
}
break;
}
+ case Ast_Kind_Size_Of: {
+ AstSizeOf* so = (AstSizeOf *) node;
+ *((u32 *) data) = so->size;
+ break;
+ }
+
+ case Ast_Kind_Align_Of: {
+ AstAlignOf* ao = (AstAlignOf *) node;
+ *((u32 *) data) = ao->alignment;
+ break;
+ }
+
case Ast_Kind_NumLit: {
// NOTE: This makes a big assumption that we are running on a
// little endian machine, since WebAssembly is little endian