Updates to file:: and path::, Path is now passed an allocator. path::traverse function. mkdir / rmdir / chdir works directly with strings. Strings get file_basepath, path_dirname. Test suite runner now uses lib7. Bug when printing a parameter declaration error. Fix optional jumps in expression lists, #1942.

This commit is contained in:
Christoffer Lerno
2025-02-25 00:40:28 +01:00
committed by Christoffer Lerno
parent 1dfc24822e
commit 062a67fe75
11 changed files with 410 additions and 300 deletions

View File

@@ -5876,10 +5876,15 @@ static void llvm_emit_call_expr(GenContext *c, BEValue *result_value, Expr *expr
static inline void llvm_emit_expression_list_expr(GenContext *c, BEValue *be_value, Expr *expr)
{
FOREACH(Expr *, e, expr->expression_list)
Expr **list = expr->expression_list;
unsigned count = vec_size(list);
assert(count);
unsigned last = count - 1;
for (unsigned i = 0; i < last; i++)
{
llvm_emit_expr(c, be_value, e);
llvm_emit_ignored_expr(c, list[i]);
}
llvm_emit_expr(c, be_value, list[last]);
}
static inline void llvm_emit_return_block(GenContext *c, BEValue *be_value, Type *type, AstId current, BlockExit **block_exit)