File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -530,8 +530,12 @@ fn codegen_cgu_content(
530
530
for ( mono_item, item_data) in mono_items {
531
531
match mono_item {
532
532
MonoItem :: Fn ( instance) => {
533
- if tcx. codegen_fn_attrs ( instance. def_id ( ) ) . flags . contains ( CodegenFnAttrFlags :: NAKED )
534
- {
533
+ // Other `InstanceKind`s (e.g. `ReifyShim` generated by indirect calls) should be
534
+ // codegened like a normal function.
535
+ let is_item_instance = matches ! ( instance. def, InstanceKind :: Item ( _) ) ;
536
+
537
+ let flags = tcx. codegen_fn_attrs ( instance. def_id ( ) ) . flags ;
538
+ if is_item_instance && flags. contains ( CodegenFnAttrFlags :: NAKED ) {
535
539
rustc_codegen_ssa:: mir:: naked_asm:: codegen_naked_asm (
536
540
& mut GlobalAsmContext { tcx, global_asm : & mut cx. global_asm } ,
537
541
instance,
You can’t perform that action at this time.
0 commit comments