]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.ssa] cmd/compile: fix OANDAND and OOROR type
authorJosh Bleecher Snyder <josharian@gmail.com>
Thu, 27 Aug 2015 17:11:08 +0000 (10:11 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Thu, 27 Aug 2015 17:26:52 +0000 (17:26 +0000)
The old backend doesn't like ideal types,
and we want to reuse its stackmap generation.

OOROR and OANDAND expressions have ideal type.
The old backend didn't care,
because those expressions got rewritten away into
jumps before stackmap generation.

Fix the type during conversion.

Change-Id: I488e7499298d9aec71da39c202f6a7235935bc8d
Reviewed-on: https://go-review.googlesource.com/13980
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/cmd/compile/internal/gc/ssa.go

index a0ad2caeaab4c71ef99c4a9a76b90e31d7cd6a5c..0c0a6a36dad07cf7d9fd2e8d68f2038f4b1e6d7c 100644 (file)
@@ -1373,7 +1373,7 @@ func (s *state) expr(n *Node) *ssa.Value {
                addEdge(b, bResult)
 
                s.startBlock(bResult)
-               return s.variable(n, n.Type)
+               return s.variable(n, Types[TBOOL])
 
        // unary ops
        case ONOT, OMINUS, OCOM: