diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/go/gofrontend/expressions.cc | 9 | ||||
-rw-r--r-- | gcc/testsuite/go.test/test/fixedbugs/issue3924.go | 6 |
2 files changed, 3 insertions, 12 deletions
diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc index 6f2b07ca97a..712464639a5 100644 --- a/gcc/go/gofrontend/expressions.cc +++ b/gcc/go/gofrontend/expressions.cc @@ -5314,15 +5314,6 @@ Binary_expression::do_determine_type(const Type_context* context) subcontext.type = NULL; } - if (this->op_ == OPERATOR_ANDAND || this->op_ == OPERATOR_OROR) - { - // For a logical operation, the context does not determine the - // types of the operands. The operands must be some boolean - // type but if the context has a boolean type they do not - // inherit it. See http://golang.org/issue/3924. - subcontext.type = NULL; - } - // Set the context for the left hand operand. if (is_shift_op) { diff --git a/gcc/testsuite/go.test/test/fixedbugs/issue3924.go b/gcc/testsuite/go.test/test/fixedbugs/issue3924.go index d4739b21c90..eb7a665bdc1 100644 --- a/gcc/testsuite/go.test/test/fixedbugs/issue3924.go +++ b/gcc/testsuite/go.test/test/fixedbugs/issue3924.go @@ -1,4 +1,4 @@ -// errorcheck +// compile // Copyright 2012 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style @@ -9,5 +9,5 @@ package foo type mybool bool var x, y = 1, 2 -var _ mybool = x < y && x < y // ERROR "cannot use" -var _ mybool = x < y || x < y // ERROR "cannot use" +var _ mybool = x < y && x < y +var _ mybool = x < y || x < y |