aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2010-06-20 11:21:43 -0700
committerRuss Cox <rsc@golang.org>2010-06-20 11:21:43 -0700
commitceb868bf0aaec012e238d5c01a642f19cbebab50 (patch)
tree29d04529ca908101b6ea08e719ccee3192d20fcb
parentd67717c29bb11933ea6db186f5122fb9658f97e7 (diff)
downloadgo-ceb868bf0aaec012e238d5c01a642f19cbebab50.tar.gz
go-ceb868bf0aaec012e238d5c01a642f19cbebab50.zip
gc: fix build - subnode not addable in complexgen
R=ken2 CC=golang-dev https://golang.org/cl/1677047
-rw-r--r--src/cmd/gc/cplx.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/cmd/gc/cplx.c b/src/cmd/gc/cplx.c
index 7da61c2471..95fafe6dde 100644
--- a/src/cmd/gc/cplx.c
+++ b/src/cmd/gc/cplx.c
@@ -121,12 +121,15 @@ complexgen(Node *n, Node *res)
// pick off float/complex opcodes
switch(n->op) {
case OCMPLX:
- subnode(&n1, &n2, res);
- tempname(&tmp, n1.type);
- cgen(n->left, &tmp);
- cgen(n->right, &n2);
- cgen(&tmp, &n1);
- return;
+ if(res->addable) {
+ subnode(&n1, &n2, res);
+ tempname(&tmp, n1.type);
+ cgen(n->left, &tmp);
+ cgen(n->right, &n2);
+ cgen(&tmp, &n1);
+ return;
+ }
+ break;
case OREAL:
case OIMAG: