scc

simple C compiler
git clone git://git.2f30.org/scc
Log | Files | Refs | README | LICENSE

commit 7cf23450ad628012dfb66d72f1796955d1b34d71
parent f49a4097676ab932f00cc302583df4e09f364691
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:   Tue,  9 Aug 2016 16:01:57 +0200

[cc1] Allow declaration of global array variables

It is desirable to declare global array variables with
an incomplete type, because in this case we are not defining
them and we can have later a definition.

Diffstat:
Mcc1/decl.c | 2+-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cc1/decl.c b/cc1/decl.c @@ -732,7 +732,7 @@ identifier(struct decl *dcl) /* TODO: Add warning about ANSI limits */ if (!(tp->prop & TDEFINED) && sclass != EXTERN && sclass != TYPEDEF && - !(tp->op == ARY && yytoken == '=')) { + (tp->op != ARY || yytoken != '=' && curctx != GLOBALCTX)) { errorp("declared variable '%s' of incomplete type", name); }