From 71b3bbb7698b13b42c99a4ca66c27db4a6189ff8 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Sat, 1 Aug 2026 16:05:51 +0200 Subject: Enforce integral values in slice ranges --- gcc/gcc/elna-tree.cc | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'gcc') diff --git a/gcc/gcc/elna-tree.cc b/gcc/gcc/elna-tree.cc index 55e359b..6aaf6f9 100644 --- a/gcc/gcc/elna-tree.cc +++ b/gcc/gcc/elna-tree.cc @@ -289,11 +289,19 @@ namespace elna::gcc if (literal_value.is_signed()) { - return build_int_cst(elna_int_type_node, literal_value.to()); + if (auto converted = literal_value.to_signed()) + { + return build_int_cst(elna_int_type_node, *converted); + } + return NULL_TREE; } else { - return build_int_cstu(elna_word_type_node, literal_value.to()); + if (auto converted = literal_value.to_unsigned()) + { + return build_int_cstu(elna_word_type_node, *converted); + } + return NULL_TREE; } } else if (std::holds_alternative(constant_value)) -- cgit v1.2.3