From 43acc2cd453ba1188e734ee415d9426e2da5ce40 Mon Sep 17 00:00:00 2001 From: lemon Date: Sat, 18 Apr 2026 11:13:05 +0200 Subject: c: for undeclared function calls, put implicit decl in toplevel To avoid repeated warnings --- src/c.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/c.c b/src/c.c index c449129..c6b6584 100644 --- a/src/c.c +++ b/src/c.c @@ -749,7 +749,12 @@ callexpr(CComp *cm, const Span *span_, const Expr *callee) }; warn(&span, "call to undeclared function '%s'", name); ((Expr *)callee)->ty = decl.ty; + + /* put in the top-level to avoid repeated warnings */ + Env *save = cm->env; + for (Env *e = cm->env; e->up; e = e->up) ; ((Expr *)callee)->decl = putdecl(cm, &decl); + cm->env = save; } if (!builtin) { -- cgit v1.2.3