File pcc-1.0.0-fix-undefined-expressions.patch of Package pcc

diff -urNp pcc-1.0.0.orig/cc/ccom/pftn.c pcc-1.0.0/cc/ccom/pftn.c
--- pcc-1.0.0.orig/cc/ccom/pftn.c	2011-02-20 11:19:07.000000000 +0100
+++ pcc-1.0.0/cc/ccom/pftn.c	2011-04-14 13:51:50.179000013 +0200
@@ -3157,13 +3157,13 @@ imop(int op, NODE *l, NODE *r)
 			r = bcon(0);
 		}
 		p = buildtree(ASSIGN, l, r);
-		p->n_type = p->n_type += (FIMAG-FLOAT);
+		p->n_type += (FIMAG-FLOAT);
 		break;
 
 	case PLUS:
 		if (li && ri) {
 			p = buildtree(PLUS, l, r);
-			p->n_type = p->n_type += (FIMAG-FLOAT);
+			p->n_type += (FIMAG-FLOAT);
 		} else {
 			/* If one is imaginary and one is real, make complex */
 			if (li)
@@ -3180,7 +3180,7 @@ imop(int op, NODE *l, NODE *r)
 	case MINUS:
 		if (li && ri) {
 			p = buildtree(MINUS, l, r);
-			p->n_type = p->n_type += (FIMAG-FLOAT);
+			p->n_type += (FIMAG-FLOAT);
 		} else if (li) {
 			q = cxstore(mxtyp);
 			p = buildtree(ASSIGN, structref(ccopy(q), DOT, real),
@@ -3204,7 +3204,7 @@ imop(int op, NODE *l, NODE *r)
 		if (li && ri)
 			p = buildtree(UMINUS, p, NIL);
 		if (li ^ ri)
-			p->n_type = p->n_type += (FIMAG-FLOAT);
+			p->n_type += (FIMAG-FLOAT);
 		break;
 
 	case DIV:
@@ -3212,7 +3212,7 @@ imop(int op, NODE *l, NODE *r)
 		if (ri && !li)
 			p = buildtree(UMINUS, p, NIL);
 		if (li ^ ri)
-			p->n_type = p->n_type += (FIMAG-FLOAT);
+			p->n_type += (FIMAG-FLOAT);
 		break;
 	default:
 		cerror("imop");
openSUSE Build Service is sponsored by