From bb1d4b4a3e51a06fb0530dfc271a97a6cd88cc73 Mon Sep 17 00:00:00 2001 From: lemon Date: Thu, 4 Aug 2022 07:39:23 +0200 Subject: stuff --- bootstrap/env.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'bootstrap/env.c') diff --git a/bootstrap/env.c b/bootstrap/env.c index 513b4d9..0c0021b 100644 --- a/bootstrap/env.c +++ b/bootstrap/env.c @@ -14,14 +14,16 @@ envfind(const struct env *env, const char *name) { static bool declsshadowable(const struct decl *a, const struct decl *b) { - return b->t == Dvar; + return b->t == Dlet; } static bool declscompatible(const struct decl *a, const struct decl *b) { if (a->t != b->t) return 0; - if (a->t == Dfn && a->fn.selfty == b->fn.selfty && !a->fn.body) + if (a->t == Dfn && a->externp == b->externp && a->fn.selfty == b->fn.selfty && !a->fn.body) + return 1; + if (a->t == Dstatic && a->externp == b->externp && a->var.ty == b->var.ty && !a->var.ini) return 1; if (a->t == Dtype && a->ty == b->ty) return 1; -- cgit v1.2.3