diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index ec0ead94e472fd780923a9c22f43efb13881554a..85cb8089965f45cf818fa9988f062cf35b89c505 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig @@ -1858,7 +1858,11 @@ pub const DeclGen = struct { try self.resolveGlobalDecl(decl); const llvm_type = try self.llvmType(tv.ty); - return llvm_val.constBitCast(llvm_type); + if (tv.ty.zigTypeTag() == .Int) { + return llvm_val.constPtrToInt(llvm_type); + } else { + return llvm_val.constBitCast(llvm_type); + } } fn lowerPtrToVoid(dg: *DeclGen, ptr_ty: Type) !*const llvm.Value {