@@ -63,7 +63,7 @@ impl<'ll, CX: Borrow<SCx<'ll>>> GenericCx<'ll, CX> {
6363
6464 ///x Creates an integer type with the given number of bits, e.g., i24
6565 pub ( crate ) fn type_ix ( & self , num_bits : u64 ) -> & ' ll Type {
66- unsafe { llvm:: LLVMIntTypeInContext ( self . llcx ( ) , num_bits as c_uint ) }
66+ llvm:: LLVMIntTypeInContext ( self . llcx ( ) , num_bits as c_uint )
6767 }
6868
6969 pub ( crate ) fn type_vector ( & self , ty : & ' ll Type , len : u64 ) -> & ' ll Type {
@@ -178,7 +178,7 @@ impl<'ll, CX: Borrow<SCx<'ll>>> BaseTypeCodegenMethods for GenericCx<'ll, CX> {
178178 }
179179
180180 fn type_i128 ( & self ) -> & ' ll Type {
181- unsafe { llvm :: LLVMIntTypeInContext ( self . llcx ( ) , 128 ) }
181+ self . type_ix ( 128 )
182182 }
183183
184184 fn type_isize ( & self ) -> & ' ll Type {
@@ -210,11 +210,11 @@ impl<'ll, CX: Borrow<SCx<'ll>>> BaseTypeCodegenMethods for GenericCx<'ll, CX> {
210210 }
211211
212212 fn type_ptr ( & self ) -> & ' ll Type {
213- self . type_ptr_ext ( AddressSpace :: ZERO )
213+ llvm_type_ptr ( self . llcx ( ) )
214214 }
215215
216216 fn type_ptr_ext ( & self , address_space : AddressSpace ) -> & ' ll Type {
217- unsafe { llvm :: LLVMPointerTypeInContext ( self . llcx ( ) , address_space. 0 ) }
217+ llvm_type_ptr_in_address_space ( self . llcx ( ) , address_space)
218218 }
219219
220220 fn element_type ( & self , ty : & ' ll Type ) -> & ' ll Type {
@@ -253,15 +253,15 @@ impl<'ll, CX: Borrow<SCx<'ll>>> BaseTypeCodegenMethods for GenericCx<'ll, CX> {
253253 }
254254}
255255
256- impl Type {
257- /// Creates an integer type with the given number of bits, e.g., i24
258- pub ( crate ) fn ix_llcx ( llcx : & llvm:: Context , num_bits : u64 ) -> & Type {
259- unsafe { llvm:: LLVMIntTypeInContext ( llcx, num_bits as c_uint ) }
260- }
256+ pub ( crate ) fn llvm_type_ptr ( llcx : & llvm:: Context ) -> & Type {
257+ llvm_type_ptr_in_address_space ( llcx, AddressSpace :: ZERO )
258+ }
261259
262- pub ( crate ) fn ptr_llcx ( llcx : & llvm:: Context ) -> & Type {
263- unsafe { llvm:: LLVMPointerTypeInContext ( llcx, AddressSpace :: ZERO . 0 ) }
264- }
260+ pub ( crate ) fn llvm_type_ptr_in_address_space < ' ll > (
261+ llcx : & ' ll llvm:: Context ,
262+ addr_space : AddressSpace ,
263+ ) -> & ' ll Type {
264+ llvm:: LLVMPointerTypeInContext ( llcx, addr_space. 0 )
265265}
266266
267267impl < ' ll , ' tcx > LayoutTypeCodegenMethods < ' tcx > for CodegenCx < ' ll , ' tcx > {
0 commit comments