aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Thompson <ken@golang.org>2010-11-09 17:39:36 -0800
committerKen Thompson <ken@golang.org>2010-11-09 17:39:36 -0800
commitcb3754fd434057d402af3f44037fbd08666d42c0 (patch)
tree4f7ac6e038efb250e3d798eda418655077ade326
parent56bfe95e7f9abcc38d8cbe93f54f6e9a96b22944 (diff)
downloadgo-cb3754fd434057d402af3f44037fbd08666d42c0.tar.gz
go-cb3754fd434057d402af3f44037fbd08666d42c0.zip
fix error converting result of complex
division. resolves issue 1261. R=rsc CC=golang-dev https://golang.org/cl/2985043
-rw-r--r--src/cmd/gc/walk.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/cmd/gc/walk.c b/src/cmd/gc/walk.c
index 68c5e84ef8..315319a328 100644
--- a/src/cmd/gc/walk.c
+++ b/src/cmd/gc/walk.c
@@ -1005,9 +1005,11 @@ walkexpr(Node **np, NodeList **init)
*/
et = n->left->type->etype;
if(iscomplex[et] && n->op == ODIV) {
- n = mkcall("complex128div", n->type, init,
+ t = n->type;
+ n = mkcall("complex128div", types[TCOMPLEX128], init,
conv(n->left, types[TCOMPLEX128]),
conv(n->right, types[TCOMPLEX128]));
+ n = conv(n, t);
goto ret;
}
/*