shithub: scc

Download patch

ref: 951d2fd3d47b96aff0af7387403d1a1c36f84352
parent: 88fd06dac0fd4da6d9f8c8a29913c46f1ca87cda
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Wed Aug 10 04:31:07 EDT 2016

Revert "[cc1] Reemit array variables with incomplete type"

This reverts commit 137e6e88fc39d5fffdd3423e09967f586f39887c.

--- a/cc1/decl.c
+++ b/cc1/decl.c
@@ -710,19 +710,6 @@
 		break;
 	}
 	sym->flags = flags;
-	if (tp->op == ARY &&
-	    !(sym->type->prop&TDEFINED) &&
-	    tp->prop&TDEFINED) {
-		/*
-		 * The symbol was already emitted, but in case of being an
-		 * array it was emitted with an incorrect type, so the most
-		 * simple solution is to emit twice the symbol, and let to
-		 * the second declaration to have the correct type.
-		 */
-		sym->type = tp;
-		sym->flags &= ~SEMITTED;
-		emit(ODECL, sym);
-	}
 
 	return sym;