@@ -21,14 +21,16 @@ pub(crate) unsafe fn codegen(
21
21
) {
22
22
let llcx = & * module_llvm. llcx ;
23
23
let llmod = module_llvm. llmod ( ) ;
24
- let usize = match tcx. sess . target . pointer_width {
25
- 16 => llvm:: LLVMInt16TypeInContext ( llcx) ,
26
- 32 => llvm:: LLVMInt32TypeInContext ( llcx) ,
27
- 64 => llvm:: LLVMInt64TypeInContext ( llcx) ,
28
- tws => bug ! ( "Unsupported target word size for int: {}" , tws) ,
24
+ let usize = unsafe {
25
+ match tcx. sess . target . pointer_width {
26
+ 16 => llvm:: LLVMInt16TypeInContext ( llcx) ,
27
+ 32 => llvm:: LLVMInt32TypeInContext ( llcx) ,
28
+ 64 => llvm:: LLVMInt64TypeInContext ( llcx) ,
29
+ tws => bug ! ( "Unsupported target word size for int: {}" , tws) ,
30
+ }
29
31
} ;
30
- let i8 = llvm:: LLVMInt8TypeInContext ( llcx) ;
31
- let i8p = llvm:: LLVMPointerTypeInContext ( llcx, 0 ) ;
32
+ let i8 = unsafe { llvm:: LLVMInt8TypeInContext ( llcx) } ;
33
+ let i8p = unsafe { llvm:: LLVMPointerTypeInContext ( llcx, 0 ) } ;
32
34
33
35
if kind == AllocatorKind :: Default {
34
36
for method in ALLOCATOR_METHODS {
@@ -73,23 +75,25 @@ pub(crate) unsafe fn codegen(
73
75
true ,
74
76
) ;
75
77
76
- // __rust_alloc_error_handler_should_panic
77
- let name = OomStrategy :: SYMBOL ;
78
- let ll_g = llvm:: LLVMRustGetOrInsertGlobal ( llmod, name. as_ptr ( ) . cast ( ) , name. len ( ) , i8) ;
79
- if tcx. sess . default_hidden_visibility ( ) {
80
- llvm:: LLVMRustSetVisibility ( ll_g, llvm:: Visibility :: Hidden ) ;
81
- }
82
- let val = tcx. sess . opts . unstable_opts . oom . should_panic ( ) ;
83
- let llval = llvm:: LLVMConstInt ( i8, val as u64 , False ) ;
84
- llvm:: LLVMSetInitializer ( ll_g, llval) ;
85
-
86
- let name = NO_ALLOC_SHIM_IS_UNSTABLE ;
87
- let ll_g = llvm:: LLVMRustGetOrInsertGlobal ( llmod, name. as_ptr ( ) . cast ( ) , name. len ( ) , i8) ;
88
- if tcx. sess . default_hidden_visibility ( ) {
89
- llvm:: LLVMRustSetVisibility ( ll_g, llvm:: Visibility :: Hidden ) ;
78
+ unsafe {
79
+ // __rust_alloc_error_handler_should_panic
80
+ let name = OomStrategy :: SYMBOL ;
81
+ let ll_g = llvm:: LLVMRustGetOrInsertGlobal ( llmod, name. as_ptr ( ) . cast ( ) , name. len ( ) , i8) ;
82
+ if tcx. sess . default_hidden_visibility ( ) {
83
+ llvm:: LLVMRustSetVisibility ( ll_g, llvm:: Visibility :: Hidden ) ;
84
+ }
85
+ let val = tcx. sess . opts . unstable_opts . oom . should_panic ( ) ;
86
+ let llval = llvm:: LLVMConstInt ( i8, val as u64 , False ) ;
87
+ llvm:: LLVMSetInitializer ( ll_g, llval) ;
88
+
89
+ let name = NO_ALLOC_SHIM_IS_UNSTABLE ;
90
+ let ll_g = llvm:: LLVMRustGetOrInsertGlobal ( llmod, name. as_ptr ( ) . cast ( ) , name. len ( ) , i8) ;
91
+ if tcx. sess . default_hidden_visibility ( ) {
92
+ llvm:: LLVMRustSetVisibility ( ll_g, llvm:: Visibility :: Hidden ) ;
93
+ }
94
+ let llval = llvm:: LLVMConstInt ( i8, 0 , False ) ;
95
+ llvm:: LLVMSetInitializer ( ll_g, llval) ;
90
96
}
91
- let llval = llvm:: LLVMConstInt ( i8, 0 , False ) ;
92
- llvm:: LLVMSetInitializer ( ll_g, llval) ;
93
97
94
98
if tcx. sess . opts . debuginfo != DebugInfo :: None {
95
99
let dbg_cx = debuginfo:: CodegenUnitDebugContext :: new ( llmod) ;
0 commit comments