From fc55daf22dd890860ac9c1a0a29900977a700df2 Mon Sep 17 00:00:00 2001 From: lemon Date: Mon, 8 Aug 2022 16:06:08 +0200 Subject: start self hosted comler --- bootstrap/types.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'bootstrap/types.c') diff --git a/bootstrap/types.c b/bootstrap/types.c index 78a3df0..9118392 100644 --- a/bootstrap/types.c +++ b/bootstrap/types.c @@ -314,6 +314,10 @@ arraydecay(const struct type *ty) { int numtype2rank(const struct type *a) { a = unconstify(a); + if (a->t == TYenum) { + assert(a->enu.lax); + a = a->enu.intty; + } if (a->t == TYint) { if (a->size < g_targ.intsize || a == ty_int) return 0; @@ -340,7 +344,7 @@ rank2numtype(int r) { bool isnumtype(const struct type *a) { - return a->t == TYint || a->t == TYfloat; + return a->t == TYint || a->t == TYfloat || (a->t == TYenum && a->enu.lax); } // peer type resolution -- cgit v1.2.3