authorgravatar for thatlemon@gmail.comLemonBoy <thatlemon@gmail.com> 2019-09-06 11:23:40+02:00
committergravatar for thatlemon@gmail.comLemonBoy <thatlemon@gmail.com> 2019-09-10 19:07:04+02:00
log8b5cb8df99719cb09358e5838ebb95158be5f61a
treeabb1ea1dbecb6f2c3f1072412bcb13185faf0001
parentba4d83af3e58ce2a34ccb945a297211333fd904c

Don't forget to resolve the pointee type

Fixes #3128

1 files changed, 2 insertions(+), 0 deletions(-)

src/analyze.cpp+2
...@@ -8089,10 +8089,12 @@ static void resolve_llvm_types_pointer(CodeGen *g, ZigType *type, ResolveStatus...@@ -8089,10 +8089,12 @@ static void resolve_llvm_types_pointer(CodeGen *g, ZigType *type, ResolveStatus
8089 type->data.pointer.explicit_alignment != 0 || type->data.pointer.ptr_len != PtrLenSingle ||8089 type->data.pointer.explicit_alignment != 0 || type->data.pointer.ptr_len != PtrLenSingle ||
8090 type->data.pointer.bit_offset_in_host != 0 || type->data.pointer.allow_zero)8090 type->data.pointer.bit_offset_in_host != 0 || type->data.pointer.allow_zero)
8091 {8091 {
8092 assertNoError(type_resolve(g, elem_type, ResolveStatusLLVMFwdDecl));
8092 ZigType *peer_type = get_pointer_to_type_extra(g, elem_type, false, false,8093 ZigType *peer_type = get_pointer_to_type_extra(g, elem_type, false, false,
8093 PtrLenSingle, 0, 0, type->data.pointer.host_int_bytes, false);8094 PtrLenSingle, 0, 0, type->data.pointer.host_int_bytes, false);
8094 type->llvm_type = get_llvm_type(g, peer_type);8095 type->llvm_type = get_llvm_type(g, peer_type);
8095 type->llvm_di_type = get_llvm_di_type(g, peer_type);8096 type->llvm_di_type = get_llvm_di_type(g, peer_type);
8097 assertNoError(type_resolve(g, elem_type, wanted_resolve_status));
8096 return;8098 return;
8097 }8099 }
80988100