From b891c0feab785d5afc69f30aa41d42a72f7a48e8 Mon Sep 17 00:00:00 2001 From: gingerBill Date: Fri, 21 Jun 2019 22:40:11 +0100 Subject: Fix ranges in switch statement for strings --- src/check_stmt.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/check_stmt.cpp') diff --git a/src/check_stmt.cpp b/src/check_stmt.cpp index 2ad804139..9a62f4beb 100644 --- a/src/check_stmt.cpp +++ b/src/check_stmt.cpp @@ -746,6 +746,13 @@ void check_switch_stmt(CheckerContext *ctx, Ast *node, u32 mod_flags) { if (upper_op == Token_GtEq) { add_constant_switch_case(ctx, &seen, rhs); } + + if (is_type_string(x.type)) { + // NOTE(bill): Force dependency for strings here + add_package_dependency(ctx, "runtime", "string_le"); + add_package_dependency(ctx, "runtime", "string_lt"); + } + } else { Operand y = {}; if (is_type_typeid(x.type)) { -- cgit v1.2.3