Skip to content

Commit 86e330d

Browse files
committed
Handle protected visibility in codegen_naked_asm
1 parent 2bd5e28 commit 86e330d

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

compiler/rustc_codegen_ssa/src/mir/naked_asm.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -224,8 +224,10 @@ fn prefix_and_suffix<'tcx>(
224224
writeln!(begin, ".pushsection {section},\"ax\", {progbits}").unwrap();
225225
writeln!(begin, ".balign {align}").unwrap();
226226
write_linkage(&mut begin).unwrap();
227-
if let Visibility::Hidden = item_data.visibility {
228-
writeln!(begin, ".hidden {asm_name}").unwrap();
227+
match item_data.visibility {
228+
Visibility::Default => {}
229+
Visibility::Protected => writeln!(begin, ".protected {asm_name}").unwrap(),
230+
Visibility::Hidden => writeln!(begin, ".hidden {asm_name}").unwrap(),
229231
}
230232
writeln!(begin, ".type {asm_name}, {function}").unwrap();
231233
if !arch_prefix.is_empty() {
@@ -245,8 +247,9 @@ fn prefix_and_suffix<'tcx>(
245247
writeln!(begin, ".pushsection {},regular,pure_instructions", section).unwrap();
246248
writeln!(begin, ".balign {align}").unwrap();
247249
write_linkage(&mut begin).unwrap();
248-
if let Visibility::Hidden = item_data.visibility {
249-
writeln!(begin, ".private_extern {asm_name}").unwrap();
250+
match item_data.visibility {
251+
Visibility::Default | Visibility::Protected => {}
252+
Visibility::Hidden => writeln!(begin, ".private_extern {asm_name}").unwrap(),
250253
}
251254
writeln!(begin, "{asm_name}:").unwrap();
252255

0 commit comments

Comments
 (0)