> --- a/sys/src/cmd/cc/com.c Sun Sep 13 13:51:00 2015 +0200 > +++ b/sys/src/cmd/cc/com.c Sun Sep 13 19:59:43 2015 +0200 > @@ -182,8 +182,8 @@ > r = new1(OCAST, n->right, Z); > r->type = t; > n->right = r; > - n->type = t; > } > + n->type = t; > break;
isn't the && !mixedasop() added to the condition the problem: the cast should not be elided if it's a float/double. though 8c might get this wrong for other reasons. - erik