diff options
Diffstat (limited to 'src/type.cff')
| -rw-r--r-- | src/type.cff | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/type.cff b/src/type.cff index 2a23717..a17205e 100644 --- a/src/type.cff +++ b/src/type.cff @@ -123,12 +123,12 @@ struct TypeTraits { } static types_set Set<*const Type, TypeTraits> = {}; -extern fn interntype(ty0 Type) *const Type { +extern fn interntype(ty0 *Type) *const Type { if ty0.align == 0 { ty0.align = ty0.size == 0 ? 1 : ty0.size; } - return *types_set->intern(&ty0); + return *types_set->intern(ty0); } extern fn completetype(ty *const Type) bool { @@ -234,14 +234,14 @@ extern fn putprimtypes(env *Env) void { ty.size = g_targ.valistsize; ty.align = g_targ.valistalign; } - envput(env, { type.name, .u: :Ty(*gty = interntype(*ty)) }, #null); + envput(env, { type.name, .u: :Ty(*gty = interntype(ty)) }, #null); } - ty_voidptr = interntype({ .size: g_targ.ptrsize, .u: :Ptr(ty_void) }); + ty_voidptr = interntype(&Type{ .size: g_targ.ptrsize, .u: :Ptr(ty_void) }); } extern fn mkslicetype(child *const Type) *const Type { let align = MAX(g_targ.ptrsize, g_targ.sizesize); - return interntype({ + return interntype(&Type{ ALIGNUP(g_targ.ptrsize + g_targ.sizesize, align), align, .u: :Slice(child) }); |