case Ast_Kind_Switch_Case: break;
case Ast_Kind_Foreign_Block: break;
case Ast_Kind_Zero_Value: break;
+ case Ast_Kind_Interface: break;
default:
retval = Check_Error;
bh_arr_push(parser->current_symbol_stack, symbol);
AstBinding* binding = parse_top_level_binding(parser, symbol);
bh_arr_pop(parser->current_symbol_stack);
- if (parser->hit_unexpected_token) return 2;
+ if (parser->hit_unexpected_token || !binding) return 2;
ENTITY_SUBMIT(binding);
return 2;
AstType *backing_type = parse_type(parser);
u_node->tag_backing_type = backing_type;
} else {
- u_node->tag_backing_type = &basic_type_u32;
+ u_node->tag_backing_type = (AstType *) &basic_type_u32;
}
if (consume_token_if_next(parser, '(')) {
u8* node_data = bh_alloc_array(context.ast_alloc, u8, 6 * POINTER_SIZE);
char *name = get_function_name(fd);
- emit_raw_string(mod, (const char *) fd->token->pos.filename, strlen(fd->token->pos.filename), &file_name_id, &node_data[4]);
- emit_raw_string(mod, name, strlen(name), &func_name_id, &node_data[16]);
+ emit_raw_string(mod, (char *) fd->token->pos.filename, strlen(fd->token->pos.filename), &file_name_id, (u64 *) &node_data[4]);
+ emit_raw_string(mod, name, strlen(name), &func_name_id, (u64 *) &node_data[16]);
*((u32 *) &node_data[8]) = fd->token->pos.line;
*((u32 *) &node_data[20]) = fd->type->id;
patch.location = tag_global_buffer.length;
patch.offset = 0;
patch.data_id = 0;
- patch.node_to_use_if_data_id_is_null = memres;
+ patch.node_to_use_if_data_id_is_null = (AstNode *) memres;
bh_arr_push(module->data_patches, patch);
bh_buffer_write_u32(&tag_global_buffer, 0);
while i := 0; i < arr.count - move {
defer i += 1;
- it := arr[i];
+ it := arr.data[i];
if !(#unquote body(it)) do move += 1;
if move != 0 do arr.data[i] = arr.data[i + move];
}