Skip to content

Commit 6bca20d

Browse files
committed
Handle protected visibility in codegen_naked_asm
1 parent 92ccdc5 commit 6bca20d

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
@@ -205,8 +205,10 @@ fn prefix_and_suffix<'tcx>(
205205
writeln!(begin, ".pushsection {section},\"ax\", {progbits}").unwrap();
206206
writeln!(begin, ".balign {align}").unwrap();
207207
write_linkage(&mut begin).unwrap();
208-
if let Visibility::Hidden = item_data.visibility {
209-
writeln!(begin, ".hidden {asm_name}").unwrap();
208+
match item_data.visibility {
209+
Visibility::Default => {}
210+
Visibility::Protected => writeln!(begin, ".protected {asm_name}").unwrap(),
211+
Visibility::Hidden => writeln!(begin, ".hidden {asm_name}").unwrap(),
210212
}
211213
writeln!(begin, ".type {asm_name}, {function}").unwrap();
212214
if !arch_prefix.is_empty() {
@@ -226,8 +228,9 @@ fn prefix_and_suffix<'tcx>(
226228
writeln!(begin, ".pushsection {},regular,pure_instructions", section).unwrap();
227229
writeln!(begin, ".balign {align}").unwrap();
228230
write_linkage(&mut begin).unwrap();
229-
if let Visibility::Hidden = item_data.visibility {
230-
writeln!(begin, ".private_extern {asm_name}").unwrap();
231+
match item_data.visibility {
232+
Visibility::Default | Visibility::Protected => {}
233+
Visibility::Hidden => writeln!(begin, ".private_extern {asm_name}").unwrap(),
231234
}
232235
writeln!(begin, "{asm_name}:").unwrap();
233236

0 commit comments

Comments
 (0)