Commit 45c48d51 authored by Russ Cox's avatar Russ Cox

5g: missed one case last night

R=ken2
CC=golang-dev
https://golang.org/cl/2658042
parent 8ffc4ec5
...@@ -170,8 +170,8 @@ cgen(Node *n, Node *res) ...@@ -170,8 +170,8 @@ cgen(Node *n, Node *res)
case OREAL: case OREAL:
case OIMAG: case OIMAG:
case OCMPLX: case OCMPLX:
// TODO compile complex fatal("unexpected complex");
return; break;
// these call bgen to get a bool value // these call bgen to get a bool value
case OOROR: case OOROR:
...@@ -828,12 +828,6 @@ bgen(Node *n, int true, Prog *to) ...@@ -828,12 +828,6 @@ bgen(Node *n, int true, Prog *to)
nl = n->left; nl = n->left;
nr = n->right; nr = n->right;
// TODO compile complex
if(nl != N && nl->type != T && iscomplex[nl->type->etype])
return;
if(nr != N && nr->type != T && iscomplex[nr->type->etype])
return;
if(n->type == T) { if(n->type == T) {
convlit(&n, types[TBOOL]); convlit(&n, types[TBOOL]);
if(n->type == T) if(n->type == T)
...@@ -954,6 +948,7 @@ bgen(Node *n, int true, Prog *to) ...@@ -954,6 +948,7 @@ bgen(Node *n, int true, Prog *to)
goto ret; goto ret;
} }
a = brcom(a); a = brcom(a);
true = !true;
} }
// make simplest on right // make simplest on right
...@@ -1014,6 +1009,11 @@ bgen(Node *n, int true, Prog *to) ...@@ -1014,6 +1009,11 @@ bgen(Node *n, int true, Prog *to)
break; break;
} }
if(iscomplex[nl->type->etype]) {
complexbool(a, nl, nr, true, to);
break;
}
if(is64(nr->type)) { if(is64(nr->type)) {
if(!nl->addable) { if(!nl->addable) {
tempname(&n1, nl->type); tempname(&n1, nl->type);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment