diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2019-06-10 23:25:43 -0400 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2019-06-10 23:25:43 -0400 |
| commit | a0427d29e4d3c47f470d88a4afdd0e87d3373325 (patch) | |
| tree | 103027c958819b5fa0de1eecf0b552270c4fd6a0 /std/testing.zig | |
| parent | 4582ec518f9984a26c68b8427a914bad6dc80c4a (diff) | |
| download | zig-a0427d29e4d3c47f470d88a4afdd0e87d3373325.tar.gz zig-a0427d29e4d3c47f470d88a4afdd0e87d3373325.zip | |
fix peer result locations in the face of unreachable
```zig
export fn entry() void {
var nothing: ?*i32 = null;
var whatever = if (nothing) |x1| i32(1) else unreachable;
}
```
```llvm
define void @entry() #2 !dbg !35 {
Entry:
%nothing = alloca i32*, align 8
%whatever = alloca i32, align 4
store i32* null, i32** %nothing, align 8, !dbg !45
call void @llvm.dbg.declare(metadata i32** %nothing, metadata !39, metadata !DIExpression()), !dbg !45
%0 = load i32*, i32** %nothing, align 8, !dbg !46
%1 = icmp ne i32* %0, null, !dbg !46
br i1 %1, label %OptionalThen, label %OptionalElse, !dbg !46
OptionalThen: ; preds = %Entry
call void @llvm.dbg.declare(metadata i32** %nothing, metadata !43, metadata !DIExpression()), !dbg !46
store i32 1, i32* %whatever, align 4, !dbg !47
br label %OptionalEndIf, !dbg !46
OptionalElse: ; preds = %Entry
tail call fastcc void @panic(%"[]u8"* @1, %builtin.StackTrace* null), !dbg !48
unreachable, !dbg !48
OptionalEndIf: ; preds = %OptionalThen
call void @llvm.dbg.declare(metadata i32* %whatever, metadata !44, metadata !DIExpression()), !dbg !49
ret void, !dbg !50
}
```
Diffstat (limited to 'std/testing.zig')
0 files changed, 0 insertions, 0 deletions
