shithub: scc

Download patch

ref: f03283b0bb20076bcdb814658bde66f5c042968c
parent: 1dcded18a01420a8f57227792522897bcf919a88
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Mon Aug 17 17:24:24 EDT 2015

Fix integer declarations

There were a few errors, one that generated error in 'long long'
and a false warning in declarations without int or char keywords.

--- a/cc1/decl.c
+++ b/cc1/decl.c
@@ -301,7 +301,8 @@
 				break;
 			case LONG:
 				if (size == LONG) {
-					size = LLONG;
+					yylval.token = LLONG;
+					size = 0;
 					break;
 				}
 			case SHORT:
--- a/cc1/types.c
+++ b/cc1/types.c
@@ -222,7 +222,6 @@
 			goto invalid_type;
 		return booltype;
 	case 0:
-		warn("type defaults to 'int' in declaration");
 		/* fallthrough */
 	case INT:
 		switch (size) {