diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2019-06-09 12:03:15 -0400 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2019-06-09 12:03:15 -0400 |
| commit | 59fe13772f63838a84ac1786c0dc8361cd14b99d (patch) | |
| tree | d005cca602d469ac080d68e9d6807c85d08ec9df /src/analyze.cpp | |
| parent | 3ec766abe38a892346e56a47ec0fa4c27eda2995 (diff) | |
| download | zig-59fe13772f63838a84ac1786c0dc8361cd14b99d.tar.gz zig-59fe13772f63838a84ac1786c0dc8361cd14b99d.zip | |
result loc semantics for array initialization
```zig
export fn entry() void {
var x = [3]Bar{ bar(), bar(), Bar{ .y = 12 } };
}
```
```llvm
define void @entry() #2 !dbg !35 {
Entry:
%x = alloca [3 x %Bar], align 4
%0 = getelementptr inbounds [3 x %Bar], [3 x %Bar]* %x, i64 0, i64 0, !dbg !48
call fastcc void @bar(%Bar* sret %0), !dbg !48
%1 = getelementptr inbounds [3 x %Bar], [3 x %Bar]* %x, i64 0, i64 1, !dbg !49
call fastcc void @bar(%Bar* sret %1), !dbg !49
%2 = getelementptr inbounds [3 x %Bar], [3 x %Bar]* %x, i64 0, i64 2, !dbg !50
%3 = bitcast %Bar* %2 to i8*, !dbg !50
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 4 %3, i8* align 4 bitcast (%Bar* @0 to i8*), i64 4, i1 false), !dbg !50
call void @llvm.dbg.declare(metadata [3 x %Bar]* %x, metadata !39, metadata !DIExpression()), !dbg !51
ret void, !dbg !52
}
```
Diffstat (limited to 'src/analyze.cpp')
0 files changed, 0 insertions, 0 deletions
