stage1 修复bug
This commit is contained in:
@@ -91,8 +91,10 @@ const char *spl_type_str(spl_type_info_t *t);
|
||||
int spl_type_is_integer(spl_type_t bt);
|
||||
spl_type_info_t *spl_type_clone(spl_type_info_t *t);
|
||||
|
||||
/* Determine the uniform type for LOAD/STORE codegen (i32→SPL_I32, ptr→SPL_PTR, else→SPL_PTR) */
|
||||
/* Determine the uniform type for LOAD/STORE codegen */
|
||||
spl_type_t spl_type_emit_type(spl_type_info_t *type);
|
||||
/* Returns 1 if type is scalar (fits in one slot, auto-loadable, comparable with ==/!=) */
|
||||
int spl_type_is_scalar(spl_type_info_t *type);
|
||||
|
||||
/* Emit LOAD from [saved_ptr + byte_offset] and STORE to local var at var_offset.
|
||||
* Stack: [] → []
|
||||
@@ -259,7 +261,7 @@ spl_expr_result_t spl_parse_struct_literal(spl_comp_t *ctx, spl_type_info_t *typ
|
||||
* For enum: parses .VariantName, emits tag comparison, returns variant.
|
||||
* For value: parses expression, emits equality comparison. */
|
||||
spl_enum_variant_t *spl_emit_match_enum_cmp(spl_comp_t *ctx, spl_type_info_t *enum_type,
|
||||
int val_offset);
|
||||
int val_offset, int by_value);
|
||||
void spl_emit_match_value_cmp(spl_comp_t *ctx, int val_offset);
|
||||
|
||||
/* ============================================================
|
||||
|
||||
Reference in New Issue
Block a user