commit 96b6cc1d8be1ad93af98b570e699ff202378cb4b
parent 9750a1e13aca0b42f79a5254bfe45e1263d2a053
Author: Roberto E. Vargas Caballero <k0ga@shike2.com>
Date:   Wed,  3 Sep 2014 12:13:23 +0200
Remove printing in external environment
It is better to do this job in functions because it allows us
to can declare local variables and avoid conflict about names.
Diffstat:
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/cc1/decl.c b/cc1/decl.c
@@ -544,11 +544,6 @@ extdecl(void)
 	case ';':
 		expect(';');
 		return;
-	case '@':
-		next();
-		emitprint(expr());
-		expect(';');
-		return;
 	default:
 		unexpected();
 	}
diff --git a/cc1/stmt.c b/cc1/stmt.c
@@ -338,6 +338,11 @@ stmt(Symbol *lbreak, Symbol *lcont, Caselist *lswitch)
 	case TYPEIDEN: case IDEN:
 		fun = (ahead() == ':') ? Label : stmtexp;
 		break;
+	case '@':
+		next();
+		emitprint(expr());
+		break;
+		next();
 	}
 	(*fun)(lbreak, lcont, lswitch);
 }