fix returning scalar values

```zig
export fn entry1() i32 {
    return bar();
}
```

```llvm
define i32 @entry1() #2 !dbg !35 {
Entry:
  %0 = call fastcc i32 @bar(), !dbg !39
  ret i32 %0, !dbg !41
}
```
This commit is contained in:
Andrew Kelley
2019-06-11 16:04:04 -04:00
parent e1d14e73b5
commit b3a4ec1bd2
2 changed files with 7 additions and 2 deletions

View File

@@ -3564,7 +3564,8 @@ static LLVMValueRef ir_render_var_ptr(CodeGen *g, IrExecutable *executable, IrIn
static LLVMValueRef ir_render_return_ptr(CodeGen *g, IrExecutable *executable,
IrInstructionReturnPtr *instruction)
{
assert(g->cur_ret_ptr != nullptr || !type_has_bits(instruction->base.value.type));
src_assert(g->cur_ret_ptr != nullptr || !type_has_bits(instruction->base.value.type),
instruction->base.source_node);
return g->cur_ret_ptr;
}