From f22a32342bbd9d3e812876e9cb30ed9c2ce6043f Mon Sep 17 00:00:00 2001 From: bellard Date: Sun, 2 Dec 2001 14:59:18 +0000 Subject: [PATCH] added K&R proto parsing --- tcc.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tcc.c b/tcc.c index 9045c3a..3d39f7e 100644 --- a/tcc.c +++ b/tcc.c @@ -3289,7 +3289,15 @@ void decl(l) int *a, t, b, v, u, n, addr, has_init; Sym *sym; - while (b = ist()) { + while (1) { + b = ist(); + if (!b) { + /* special test for old K&R protos without explicit int + type. Only accepted when defining global data */ + if (l == VT_LOCAL || tok < TOK_DEFINE) + break; + b = VT_INT; + } if ((b & (VT_ENUM | VT_STRUCT)) && tok == ';') { /* we accept no variable after */ next();