aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/llvm.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-03-11 21:00:07 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-03-11 21:00:07 -0700
commit491e3ba6b12e79341d8f5f7711678ec597f7b244 (patch)
treebef76aa8fd5f1e1ef2d71bdf681d52932c49b338 /src/codegen/llvm.zig
parent60d6037f236379e521ccb7a8e1b7d24ed469ac3f (diff)
downloadzig-491e3ba6b12e79341d8f5f7711678ec597f7b244.tar.gz
zig-491e3ba6b12e79341d8f5f7711678ec597f7b244.zip
LLVM: fix debug info for pointers to void
Diffstat (limited to 'src/codegen/llvm.zig')
-rw-r--r--src/codegen/llvm.zig6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig
index 190fcd0ee6..46c0a25784 100644
--- a/src/codegen/llvm.zig
+++ b/src/codegen/llvm.zig
@@ -2013,7 +2013,8 @@ pub const DeclGen = struct {
ptr_info.@"allowzero" or
!ptr_info.mutable or
ptr_info.@"volatile" or
- ptr_info.size == .Many or ptr_info.size == .C)
+ ptr_info.size == .Many or ptr_info.size == .C or
+ !ptr_info.pointee_type.hasRuntimeBitsIgnoreComptime())
{
var payload: Type.Payload.Pointer = .{
.data = .{
@@ -2032,6 +2033,9 @@ pub const DeclGen = struct {
},
},
};
+ if (!ptr_info.pointee_type.hasRuntimeBitsIgnoreComptime()) {
+ payload.data.pointee_type = Type.anyopaque;
+ }
const bland_ptr_ty = Type.initPayload(&payload.base);
const ptr_di_ty = try dg.lowerDebugType(bland_ptr_ty);
// The recursive call to `lowerDebugType` means we can't use `gop` anymore.