shithub: scc

Download patch

ref: 028d61128a684788eba34d269484367c0e4b6973
parent: a2e43bb731e42e513878f7ae93255ae329ebbf0c
author: Roberto E. Vargas Caballero <[email protected]>
date: Mon Aug 11 19:45:21 EDT 2014

Remove OARY operator

This operator is the same than OPTR, so it is not necessary.

--- a/cc1/cc1.h
+++ b/cc1/cc1.h
@@ -172,7 +172,7 @@
 } Node;
 
 enum {
-	OCAST = 1, OPTR, OADD, OARY, OSIZE, OMUL, OSUB,
+	OCAST = 1, OPTR, OADD, OSIZE, OMUL, OSUB,
 	OINC, ODEC, ODIV, OMOD, OSHL, OSHR,
 	OBAND, OBXOR, OBOR, OASSIGN, OA_MUL, OA_DIV,
 	OA_MOD, OA_ADD, OA_SUB, OA_SHL, OA_SHR,
--- a/cc1/code.c
+++ b/cc1/code.c
@@ -14,7 +14,6 @@
 	[OADD] = "+",
 	[OSUB] = "-",
 	[OMUL] = "*",
-	[OARY] = "'",
 	[OINC] = ";+",
 	[ODEC] =  ";-",
 	[OSIZE] = "#",
--- a/cc1/expr.c
+++ b/cc1/expr.c
@@ -321,7 +321,7 @@
 	tp = np1->type;
 	if (tp->op != PTR)
 		error("subscripted value is neither array nor pointer nor vector");
-	np1 =  unarycode(OARY, tp->type , np1);
+	np1 =  unarycode(OPTR, tp->type , np1);
 	np1->b.lvalue = 1;
 	return np1;
 }