Skip to content

Commit fe178ca

Browse files
committed
Handle protected visibility in codegen_naked_asm
1 parent 7cfffc9 commit fe178ca

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
@@ -223,8 +223,10 @@ fn prefix_and_suffix<'tcx>(
223223
writeln!(begin, ".pushsection {section},\"ax\", {progbits}").unwrap();
224224
writeln!(begin, ".balign {align}").unwrap();
225225
write_linkage(&mut begin).unwrap();
226-
if let Visibility::Hidden = item_data.visibility {
227-
writeln!(begin, ".hidden {asm_name}").unwrap();
226+
match item_data.visibility {
227+
Visibility::Default => {}
228+
Visibility::Protected => writeln!(begin, ".protected {asm_name}").unwrap(),
229+
Visibility::Hidden => writeln!(begin, ".hidden {asm_name}").unwrap(),
228230
}
229231
writeln!(begin, ".type {asm_name}, {function}").unwrap();
230232
if !arch_prefix.is_empty() {
@@ -244,8 +246,9 @@ fn prefix_and_suffix<'tcx>(
244246
writeln!(begin, ".pushsection {},regular,pure_instructions", section).unwrap();
245247
writeln!(begin, ".balign {align}").unwrap();
246248
write_linkage(&mut begin).unwrap();
247-
if let Visibility::Hidden = item_data.visibility {
248-
writeln!(begin, ".private_extern {asm_name}").unwrap();
249+
match item_data.visibility {
250+
Visibility::Default | Visibility::Protected => {}
251+
Visibility::Hidden => writeln!(begin, ".private_extern {asm_name}").unwrap(),
249252
}
250253
writeln!(begin, "{asm_name}:").unwrap();
251254

0 commit comments

Comments
 (0)