Fixes slicing with negative value error message - llvm_codegen_expr.c (#2410)

* Fixes slicing with negative value error message - llvm_codegen_expr.c

Fixes printing negative value

Example:
```
fn void main()
{
    int[100] arr;
    usz a = 35;
    usz b = 36;
    arr[b:a - b];
}
```

output should be:
ERROR: 'Negative value (-1) given for slice length.'

* Update releasenotes.

---------

Co-authored-by: Christoffer Lerno <christoffer@aegik.com>
This commit is contained in:
Manu Linares
2025-08-18 18:12:03 -03:00
committed by GitHub
parent 33ab18033a
commit ba55946c9a
2 changed files with 2 additions and 0 deletions

View File

@@ -2791,6 +2791,7 @@ static void llvm_emit_slice_values(GenContext *c, Expr *slice, BEValue *parent_r
llvm_emit_int_comp(c, &excess, &start_index, &end_index, BINARYOP_GT);
BEValue actual_end_len = end_index;
actual_end_len.value = llvm_emit_sub_int(c, end_index.type, end_index.value, start_index.value, slice->span);
actual_end_len.type = type_isz;
llvm_emit_panic_if_true(c, &excess, "Negative slice length", slice->span, "Negative value (%d) given for slice length.", &actual_end_len, NULL);
if (len.value)
{