From 15d3f4c190abbeaef2cd6920d16aacaf71c35fe1 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Wed, 6 Mar 2019 16:23:50 +0000 Subject: Allow implicit selector expressions in switch statements --- src/check_stmt.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/check_stmt.cpp') diff --git a/src/check_stmt.cpp b/src/check_stmt.cpp index c861cfdf3..cead61ce8 100644 --- a/src/check_stmt.cpp +++ b/src/check_stmt.cpp @@ -686,14 +686,14 @@ void check_switch_stmt(CheckerContext *ctx, Ast *node, u32 mod_flags) { ast_node(ie, BinaryExpr, expr); Operand lhs = {}; Operand rhs = {}; - check_expr(ctx, &lhs, ie->left); + check_expr_with_type_hint(ctx, &lhs, ie->left, x.type); if (x.mode == Addressing_Invalid) { continue; } if (lhs.mode == Addressing_Invalid) { continue; } - check_expr(ctx, &rhs, ie->right); + check_expr_with_type_hint(ctx, &rhs, ie->right, x.type); if (rhs.mode == Addressing_Invalid) { continue; } @@ -732,7 +732,7 @@ void check_switch_stmt(CheckerContext *ctx, Ast *node, u32 mod_flags) { if (is_type_typeid(x.type)) { check_expr_or_type(ctx, &y, expr, x.type); } else { - check_expr(ctx, &y, expr); + check_expr_with_type_hint(ctx, &y, expr, x.type); } if (x.mode == Addressing_Invalid || -- cgit v1.2.3