diff --git a/bootstraptest/test_syntax.rb b/bootstraptest/test_syntax.rb index 80eaa6416d..a111990a1f 100644 --- a/bootstraptest/test_syntax.rb +++ b/bootstraptest/test_syntax.rb @@ -376,6 +376,8 @@ assert_equal %q{1}, %q{1 or 2 or 3 or 4} assert_equal %q{1}, %q{1 or false or 3 or 4} assert_equal %q{2}, %q{nil or 2 or 3 or 4} assert_equal %q{2}, %q{false or 2 or 3 or 4} +assert_equal %q{1}, %q{if true && ""; then 1; end} +assert_equal %q{1}, %q{if nil || true; then 1; end} assert_equal %q{false}, %q{nil or false or nil or false} assert_equal %q{elseng}, %q{ case diff --git a/parse.y b/parse.y index b48d910c4c..41f26215d9 100644 --- a/parse.y +++ b/parse.y @@ -9694,7 +9694,6 @@ logop_gen(struct parser_params *parser, enum node_type type, NODE *left, NODE *r case NODE_NIL: case NODE_FALSE: if (type == NODE_AND) return left; - left = 0; break; case NODE_TRUE: case NODE_LIT: