commit 7cf23450ad628012dfb66d72f1796955d1b34d71
Author: Roberto E. Vargas Caballero <[email protected]>
AuthorDate: Tue Aug 9 16:01:57 2016 +0200
Commit: Roberto E. Vargas Caballero <[email protected]>
CommitDate: Tue Aug 9 16:03:58 2016 +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.
diff --git a/cc1/decl.c b/cc1/decl.c
index 20df8fd..8ecb40d 100644
--- 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);
}