Commit 3d317d48 by Ian Lance Taylor

compiler: Don't inherit logical operator operand type from context.

From-SVN: r203337
parent 156dbd15
......@@ -5606,6 +5606,15 @@ 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)
{
......
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