shithub: scc

Download patch

ref: abf79a2fe6621ed253aa4559e06cc20d1189ff4b
parent: e1468117aa0dcf5b43dfec797a8dbfb3531d3bff
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Sat Aug 9 16:58:36 EDT 2014

accept comparation of ineteger types

If two integer types are compared and they have a different integer
address then it means they are different types, so we have to return
false and not abort.

--- a/cc1/types.c
+++ b/cc1/types.c
@@ -290,8 +290,8 @@
 		if (!eqtype(tp1->type, tp2->type))
 			return 0;
 		return tp1->u.nelem == tp2->u.nelem;
-	case ENUM:
-		return 1;
+	case ENUM: case INT: case FLOAT:
+		return tp1->letter == tp2->letter;
 	default:
 		fputs("internal type error, aborting\n", stderr);
 		abort();
--