fix unable to eval const expr test case

This commit is contained in:
Andrew Kelley 2017-01-08 10:54:05 -05:00
parent e4bc8d22c2
commit 76d0e49e61
2 changed files with 4 additions and 2 deletions

View File

@ -5266,7 +5266,9 @@ static IrInstruction *ir_exec_const_result(IrExecutable *exec) {
if (instruction->id == IrInstructionIdReturn) {
IrInstructionReturn *ret_inst = (IrInstructionReturn *)instruction;
IrInstruction *value = ret_inst->value;
assert(value->value.special != ConstValSpecialRuntime);
if (value->value.special == ConstValSpecialRuntime) {
return nullptr;
}
return value;
} else if (ir_has_side_effects(instruction)) {
return nullptr;

View File

@ -1128,7 +1128,7 @@ const Foo = struct {
};
var global_var: usize = 1;
fn get() -> usize { global_var }
)SOURCE", 1, ".tmp_source.zig:3:9: error: unable to evaluate constant expression");
)SOURCE", 1, ".tmp_source.zig:3:12: error: unable to evaluate constant expression");
add_compile_fail_case("unnecessary if statement", R"SOURCE(