From 8077f0acc71612f1ccdb9f79938b0e26175e3e37 Mon Sep 17 00:00:00 2001 From: seyko <seyko2@gmail.com> Date: Fri, 25 Sep 2015 02:31:34 +0300 Subject: [PATCH] a number as a field name (part 2) don't crash a test program: ================ typedef struct X { int len; } X; #define init(s,len) s.len = len; int main(void) { X myX; init(myX,10); return 0; } ================ After a patch: error: field name expected --- tccgen.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tccgen.c b/tccgen.c index 4d854146..dbd25694 100644 --- a/tccgen.c +++ b/tccgen.c @@ -4166,6 +4166,8 @@ ST_FUNC void unary(void) if (tok == TOK_CDOUBLE) expect("field name"); next(); + if (tok == TOK_CINT || tok == TOK_CUINT) + expect("field name"); s = vtop->type.ref; /* find field */ tok |= SYM_FIELD;