shithub: scc

Download patch

ref: 0c6854e0f1c57940cf2749e44e318f0bd2148283
parent: 9f48a2b2f9a3e56759e52f609bbc9f1dcd5f7b9d
author: Roberto E. Vargas Caballero <[email protected]>
date: Sun Mar 1 16:18:10 EST 2015

Remove sign field from ctype of cc1

This field was not ever used, because the sign is a semantic
value of the type, and it is only used in code generation
stage.

--- a/cc1/cc1.h
+++ b/cc1/cc1.h
@@ -38,7 +38,6 @@
 	uint8_t ns;
 	char letter;          /* letter of the type */
 	bool defined : 1;     /* type defined (is not a forward reference) */
-	bool sign : 1;        /* sign type */
 	struct ctype *type;   /* base type */
 	struct ctype *next;   /* next element in the hash */
 	Type **pars;         /* type parameters */
--- a/cc1/types.c
+++ b/cc1/types.c
@@ -42,7 +42,6 @@
 	{      /* 4 = uchartype */
 		.op = INT,
 		.letter = L_UCHAR,
-		.sign = 1,
 		.defined = 1,
 		.n.rank = RANK_UCHAR
 	},
@@ -49,7 +48,6 @@
 	{      /* 5 = chartype */
 		.op = INT,
 		.letter = L_CHAR,
-		.sign = 1,
 		.defined = 1,
 		.n.rank = RANK_CHAR
 	},
@@ -68,7 +66,6 @@
 	{       /* 8 = uinttype */
 		.op = INT,
 		.letter = L_UINT,
-		.sign = 1,
 		.defined = 1,
 		.n.rank = RANK_UINT
 	},
@@ -87,7 +84,6 @@
 	{       /* 11 = ulongtype
 		.op = INT,
 		.letter = L_ULONG,
-		.sign = 1,
 		.defined = 1,
 		.n.rank = RANK_ULONG
 	},
@@ -94,7 +90,6 @@
 	{	/* 12 = ullongtype */
 		.op = INT,
 		.letter = L_ULLONG,
-		.sign = 1,
 		.defined = 1,
 		.n.rank = RANK_ULLONG
 	},
@@ -221,7 +216,6 @@
 
 	type.type = tp;
 	type.op = op;
-	type.sign = 0;
 	type.letter = letters[op];
 	type.pars = data;
 	type.n.elem = nelem;