From dd3b12d8114176d8433f961a11b7f53c1083ade0 Mon Sep 17 00:00:00 2001 From: lemon Date: Tue, 30 Aug 2022 19:07:05 +0200 Subject: interntype by ref --- src/type.cff | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/type.cff') 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) }); -- cgit v1.2.3