diff options
-rw-r--r-- | src/cmd/8g/cgen.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/cmd/8g/cgen.c b/src/cmd/8g/cgen.c index 6ea637a28..6a2122507 100644 --- a/src/cmd/8g/cgen.c +++ b/src/cmd/8g/cgen.c @@ -92,12 +92,6 @@ cgen(Node *n, Node *res) break; } - // complex types - if(complexop(n, res)) { - complexgen(n, res); - return; - } - // if both are addressable, move if(n->addable && res->addable) { gmove(n, res); @@ -123,6 +117,12 @@ cgen(Node *n, Node *res) return; } + // complex types + if(complexop(n, res)) { + complexgen(n, res); + return; + } + // otherwise, the result is addressable but n is not. // let's do some computation. |