Skip pre-defining naked functions

This commit is contained in:
bjorn3 2025-07-29 14:19:28 +00:00
parent 812388a717
commit bfdb1c1642

View file

@ -38,16 +38,12 @@ fn predefine_mono_items<'tcx>(
.codegen_instance_attrs(instance.def)
.flags
.contains(CodegenFnAttrFlags::NAKED);
module
.declare_function(
name,
// Naked functions are defined in a separate object
// file from the codegen unit rustc expects them to
// be defined in.
if is_naked { Linkage::Import } else { linkage },
&sig,
)
.unwrap();
if is_naked {
// Naked functions are defined in a separate object
// file, so they can be declared on the fly.
continue;
}
module.declare_function(name, linkage, &sig).unwrap();
}
MonoItem::Static(_) | MonoItem::GlobalAsm(_) => {}
}