Skip to content

Commit 7d3809b

Browse files
committed
Handle protected visibility in codegen_naked_asm
1 parent 718733a commit 7d3809b

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
@@ -211,8 +211,10 @@ fn prefix_and_suffix<'tcx>(
211211
writeln!(begin, ".pushsection {section},\"ax\", {progbits}").unwrap();
212212
writeln!(begin, ".balign {align}").unwrap();
213213
write_linkage(&mut begin).unwrap();
214-
if let Visibility::Hidden = item_data.visibility {
215-
writeln!(begin, ".hidden {asm_name}").unwrap();
214+
match item_data.visibility {
215+
Visibility::Default => {}
216+
Visibility::Protected => writeln!(begin, ".protected {asm_name}").unwrap(),
217+
Visibility::Hidden => writeln!(begin, ".hidden {asm_name}").unwrap(),
216218
}
217219
writeln!(begin, ".type {asm_name}, {function}").unwrap();
218220
if !arch_prefix.is_empty() {
@@ -232,8 +234,9 @@ fn prefix_and_suffix<'tcx>(
232234
writeln!(begin, ".pushsection {},regular,pure_instructions", section).unwrap();
233235
writeln!(begin, ".balign {align}").unwrap();
234236
write_linkage(&mut begin).unwrap();
235-
if let Visibility::Hidden = item_data.visibility {
236-
writeln!(begin, ".private_extern {asm_name}").unwrap();
237+
match item_data.visibility {
238+
Visibility::Default | Visibility::Protected => {}
239+
Visibility::Hidden => writeln!(begin, ".private_extern {asm_name}").unwrap(),
237240
}
238241
writeln!(begin, "{asm_name}:").unwrap();
239242

0 commit comments

Comments
 (0)