diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2015-12-07 20:07:46 -0700 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2015-12-07 20:07:46 -0700 |
| commit | b66fb607bf00c8ac120f22080bcf48eb05cbc71f (patch) | |
| tree | 480fd5993a44c7cdb5a33181039e9fae1471c2d1 /src/zig_llvm.cpp | |
| parent | f6eecfe5f486b250de33a8129b1c85198be43280 (diff) | |
| download | zig-b66fb607bf00c8ac120f22080bcf48eb05cbc71f.tar.gz zig-b66fb607bf00c8ac120f22080bcf48eb05cbc71f.zip | |
add debugging info for array type
Diffstat (limited to 'src/zig_llvm.cpp')
| -rw-r--r-- | src/zig_llvm.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/zig_llvm.cpp b/src/zig_llvm.cpp index cfc4920116..6ef2cace17 100644 --- a/src/zig_llvm.cpp +++ b/src/zig_llvm.cpp @@ -149,6 +149,18 @@ LLVMZigDIType *LLVMZigCreateDebugBasicType(LLVMZigDIBuilder *dibuilder, const ch return reinterpret_cast<LLVMZigDIType*>(di_type); } +LLVMZigDIType *LLVMZigCreateDebugArrayType(LLVMZigDIBuilder *dibuilder, uint64_t size_in_bits, + uint64_t align_in_bits, LLVMZigDIType *elem_type, int elem_count) +{ + SmallVector<Metadata *, 1> subrange; + subrange.push_back(reinterpret_cast<DIBuilder*>(dibuilder)->getOrCreateSubrange(0, elem_count - 1)); + DIType *di_type = reinterpret_cast<DIBuilder*>(dibuilder)->createArrayType( + size_in_bits, align_in_bits, + reinterpret_cast<DIType*>(elem_type), + reinterpret_cast<DIBuilder*>(dibuilder)->getOrCreateArray(subrange)); + return reinterpret_cast<LLVMZigDIType*>(di_type); +} + LLVMZigDISubroutineType *LLVMZigCreateSubroutineType(LLVMZigDIBuilder *dibuilder_wrapped, LLVMZigDIFile *file, LLVMZigDIType **types_array, int types_array_len, unsigned flags) { |
