@@ -155,7 +155,7 @@ pub(crate) fn codegen_const_value<'tcx>(
155
155
fx. bcx . ins ( ) . global_value ( fx. pointer_type , local_data_id)
156
156
}
157
157
}
158
- GlobalAlloc :: Function ( instance) => {
158
+ GlobalAlloc :: Function { instance, .. } => {
159
159
let func_id = crate :: abi:: import_function ( fx. tcx , fx. module , instance) ;
160
160
let local_func_id =
161
161
fx. module . declare_func_in_func ( func_id, & mut fx. bcx . func ) ;
@@ -351,7 +351,9 @@ fn define_all_allocs(tcx: TyCtxt<'_>, module: &mut dyn Module, cx: &mut Constant
351
351
TodoItem :: Alloc ( alloc_id) => {
352
352
let alloc = match tcx. global_alloc ( alloc_id) {
353
353
GlobalAlloc :: Memory ( alloc) => alloc,
354
- GlobalAlloc :: Function ( _) | GlobalAlloc :: Static ( _) | GlobalAlloc :: VTable ( ..) => {
354
+ GlobalAlloc :: Function { .. }
355
+ | GlobalAlloc :: Static ( _)
356
+ | GlobalAlloc :: VTable ( ..) => {
355
357
unreachable ! ( )
356
358
}
357
359
} ;
@@ -443,7 +445,7 @@ fn define_all_allocs(tcx: TyCtxt<'_>, module: &mut dyn Module, cx: &mut Constant
443
445
444
446
let reloc_target_alloc = tcx. global_alloc ( alloc_id) ;
445
447
let data_id = match reloc_target_alloc {
446
- GlobalAlloc :: Function ( instance) => {
448
+ GlobalAlloc :: Function { instance, .. } => {
447
449
assert_eq ! ( addend, 0 ) ;
448
450
let func_id =
449
451
crate :: abi:: import_function ( tcx, module, instance. polymorphize ( tcx) ) ;
@@ -593,6 +595,7 @@ pub(crate) fn mir_operand_get_const_val<'tcx>(
593
595
{
594
596
return None ;
595
597
}
598
+ TerminatorKind :: TailCall { .. } => return None ,
596
599
TerminatorKind :: Call { .. } => { }
597
600
}
598
601
}
0 commit comments