mirror of https://github.com/golang/go.git
5g: missed one case last night
R=ken2 CC=golang-dev https://golang.org/cl/2658042
This commit is contained in:
parent
8ffc4ec5d0
commit
45c48d51f7
|
|
@ -170,8 +170,8 @@ cgen(Node *n, Node *res)
|
|||
case OREAL:
|
||||
case OIMAG:
|
||||
case OCMPLX:
|
||||
// TODO compile complex
|
||||
return;
|
||||
fatal("unexpected complex");
|
||||
break;
|
||||
|
||||
// these call bgen to get a bool value
|
||||
case OOROR:
|
||||
|
|
@ -828,12 +828,6 @@ bgen(Node *n, int true, Prog *to)
|
|||
nl = n->left;
|
||||
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) {
|
||||
convlit(&n, types[TBOOL]);
|
||||
if(n->type == T)
|
||||
|
|
@ -954,6 +948,7 @@ bgen(Node *n, int true, Prog *to)
|
|||
goto ret;
|
||||
}
|
||||
a = brcom(a);
|
||||
true = !true;
|
||||
}
|
||||
|
||||
// make simplest on right
|
||||
|
|
@ -1014,6 +1009,11 @@ bgen(Node *n, int true, Prog *to)
|
|||
break;
|
||||
}
|
||||
|
||||
if(iscomplex[nl->type->etype]) {
|
||||
complexbool(a, nl, nr, true, to);
|
||||
break;
|
||||
}
|
||||
|
||||
if(is64(nr->type)) {
|
||||
if(!nl->addable) {
|
||||
tempname(&n1, nl->type);
|
||||
|
|
|
|||
Loading…
Reference in New Issue