mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
$for int $a = 1; $a < 2; $a++ would not parse.
This commit is contained in:
@@ -43,6 +43,7 @@
|
||||
- Assert when the binary doesn't get created and --run-once is used. #2502
|
||||
- Prevent `foo.bar = {}` when `bar` is a flexible array member. #2497
|
||||
- Fix several issues relating to multi-level inference like `int[*][*]` #2505
|
||||
- `$for int $a = 1; $a < 2; $a++` would not parse.
|
||||
|
||||
### Stdlib changes
|
||||
- Added generic `InterfaceList` to store a list of values that implement a specific interface
|
||||
|
||||
@@ -595,7 +595,7 @@ Expr *parse_ct_expression_list(ParseContext *c, bool allow_decl)
|
||||
}
|
||||
else
|
||||
{
|
||||
ASSIGN_EXPR_OR_RET(expr, parse_expr(c), poisoned_expr);
|
||||
ASSIGN_EXPR_OR_RET(expr, parse_decl_or_expr(c), poisoned_expr);
|
||||
}
|
||||
vec_add(expr_list->expression_list, expr);
|
||||
if (!try_consume(c, TOKEN_COMMA)) break;
|
||||
|
||||
118
test/test_suite/compile_time/ct_for_typed.c3t
Normal file
118
test/test_suite/compile_time/ct_for_typed.c3t
Normal file
@@ -0,0 +1,118 @@
|
||||
// #target: macos-x64
|
||||
module test;
|
||||
import std;
|
||||
fn void main()
|
||||
{
|
||||
int a;
|
||||
$for int $a = 123; $a < 222; $a++:
|
||||
a = $a;
|
||||
$endfor
|
||||
}
|
||||
|
||||
/* #expect: test.ll
|
||||
|
||||
define void @test.main() #0 {
|
||||
entry:
|
||||
%a = alloca i32, align 4
|
||||
store i32 0, ptr %a, align 4
|
||||
store i32 123, ptr %a, align 4
|
||||
store i32 124, ptr %a, align 4
|
||||
store i32 125, ptr %a, align 4
|
||||
store i32 126, ptr %a, align 4
|
||||
store i32 127, ptr %a, align 4
|
||||
store i32 128, ptr %a, align 4
|
||||
store i32 129, ptr %a, align 4
|
||||
store i32 130, ptr %a, align 4
|
||||
store i32 131, ptr %a, align 4
|
||||
store i32 132, ptr %a, align 4
|
||||
store i32 133, ptr %a, align 4
|
||||
store i32 134, ptr %a, align 4
|
||||
store i32 135, ptr %a, align 4
|
||||
store i32 136, ptr %a, align 4
|
||||
store i32 137, ptr %a, align 4
|
||||
store i32 138, ptr %a, align 4
|
||||
store i32 139, ptr %a, align 4
|
||||
store i32 140, ptr %a, align 4
|
||||
store i32 141, ptr %a, align 4
|
||||
store i32 142, ptr %a, align 4
|
||||
store i32 143, ptr %a, align 4
|
||||
store i32 144, ptr %a, align 4
|
||||
store i32 145, ptr %a, align 4
|
||||
store i32 146, ptr %a, align 4
|
||||
store i32 147, ptr %a, align 4
|
||||
store i32 148, ptr %a, align 4
|
||||
store i32 149, ptr %a, align 4
|
||||
store i32 150, ptr %a, align 4
|
||||
store i32 151, ptr %a, align 4
|
||||
store i32 152, ptr %a, align 4
|
||||
store i32 153, ptr %a, align 4
|
||||
store i32 154, ptr %a, align 4
|
||||
store i32 155, ptr %a, align 4
|
||||
store i32 156, ptr %a, align 4
|
||||
store i32 157, ptr %a, align 4
|
||||
store i32 158, ptr %a, align 4
|
||||
store i32 159, ptr %a, align 4
|
||||
store i32 160, ptr %a, align 4
|
||||
store i32 161, ptr %a, align 4
|
||||
store i32 162, ptr %a, align 4
|
||||
store i32 163, ptr %a, align 4
|
||||
store i32 164, ptr %a, align 4
|
||||
store i32 165, ptr %a, align 4
|
||||
store i32 166, ptr %a, align 4
|
||||
store i32 167, ptr %a, align 4
|
||||
store i32 168, ptr %a, align 4
|
||||
store i32 169, ptr %a, align 4
|
||||
store i32 170, ptr %a, align 4
|
||||
store i32 171, ptr %a, align 4
|
||||
store i32 172, ptr %a, align 4
|
||||
store i32 173, ptr %a, align 4
|
||||
store i32 174, ptr %a, align 4
|
||||
store i32 175, ptr %a, align 4
|
||||
store i32 176, ptr %a, align 4
|
||||
store i32 177, ptr %a, align 4
|
||||
store i32 178, ptr %a, align 4
|
||||
store i32 179, ptr %a, align 4
|
||||
store i32 180, ptr %a, align 4
|
||||
store i32 181, ptr %a, align 4
|
||||
store i32 182, ptr %a, align 4
|
||||
store i32 183, ptr %a, align 4
|
||||
store i32 184, ptr %a, align 4
|
||||
store i32 185, ptr %a, align 4
|
||||
store i32 186, ptr %a, align 4
|
||||
store i32 187, ptr %a, align 4
|
||||
store i32 188, ptr %a, align 4
|
||||
store i32 189, ptr %a, align 4
|
||||
store i32 190, ptr %a, align 4
|
||||
store i32 191, ptr %a, align 4
|
||||
store i32 192, ptr %a, align 4
|
||||
store i32 193, ptr %a, align 4
|
||||
store i32 194, ptr %a, align 4
|
||||
store i32 195, ptr %a, align 4
|
||||
store i32 196, ptr %a, align 4
|
||||
store i32 197, ptr %a, align 4
|
||||
store i32 198, ptr %a, align 4
|
||||
store i32 199, ptr %a, align 4
|
||||
store i32 200, ptr %a, align 4
|
||||
store i32 201, ptr %a, align 4
|
||||
store i32 202, ptr %a, align 4
|
||||
store i32 203, ptr %a, align 4
|
||||
store i32 204, ptr %a, align 4
|
||||
store i32 205, ptr %a, align 4
|
||||
store i32 206, ptr %a, align 4
|
||||
store i32 207, ptr %a, align 4
|
||||
store i32 208, ptr %a, align 4
|
||||
store i32 209, ptr %a, align 4
|
||||
store i32 210, ptr %a, align 4
|
||||
store i32 211, ptr %a, align 4
|
||||
store i32 212, ptr %a, align 4
|
||||
store i32 213, ptr %a, align 4
|
||||
store i32 214, ptr %a, align 4
|
||||
store i32 215, ptr %a, align 4
|
||||
store i32 216, ptr %a, align 4
|
||||
store i32 217, ptr %a, align 4
|
||||
store i32 218, ptr %a, align 4
|
||||
store i32 219, ptr %a, align 4
|
||||
store i32 220, ptr %a, align 4
|
||||
store i32 221, ptr %a, align 4
|
||||
ret void
|
||||
}
|
||||
Reference in New Issue
Block a user