enum_to_string fix; enum count, min_value, max_value

This commit is contained in:
Ginger Bill
2016-09-19 22:26:07 +01:00
parent 9561dc33ce
commit 3b266b194f
14 changed files with 174 additions and 77 deletions
+3 -3
View File
@@ -1566,7 +1566,7 @@ ssaValue *ssa_emit_conv(ssaProcedure *proc, ssaValue *value, Type *t, b32 is_arg
if (value->kind == ssaValue_Constant) {
if (is_type_any(dst)) {
Type *dt = default_type(src);
Type *dt = default_type(get_base_type(src_type));
ssaValue *default_value = ssa_add_local_generated(proc, dt);
ssa_emit_store(proc, default_value, value);
return ssa_emit_conv(proc, ssa_emit_load(proc, default_value), t_any, is_argument);
@@ -3680,14 +3680,14 @@ void ssa_build_stmt(ssaProcedure *proc, AstNode *node) {
void ssa_emit_startup_runtime(ssaProcedure *proc) {
GB_ASSERT(proc->parent == NULL && are_strings_equal(proc->name, make_string("main")));
GB_ASSERT(proc->parent == NULL && proc->name == make_string("main"));
ssa_emit(proc, ssa_alloc_instr(proc, ssaInstr_StartupRuntime));
}
void ssa_insert_code_before_proc(ssaProcedure* proc, ssaProcedure *parent) {
if (parent == NULL) {
if (are_strings_equal(proc->name, make_string("main"))) {
if (proc->name == make_string("main")) {
ssa_emit_startup_runtime(proc);
}
}