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");