Statics used in reachable function's inline asm are reachable
This commit is contained in:
parent
8a09420ac4
commit
63915be212
2 changed files with 31 additions and 0 deletions
|
@ -116,6 +116,17 @@ impl<'tcx> Visitor<'tcx> for ReachableContext<'tcx> {
|
|||
|
||||
intravisit::walk_expr(self, expr)
|
||||
}
|
||||
|
||||
fn visit_inline_asm(&mut self, asm: &'tcx hir::InlineAsm<'tcx>, id: hir::HirId) {
|
||||
for (op, _) in asm.operands {
|
||||
if let hir::InlineAsmOperand::SymStatic { def_id, .. } = op {
|
||||
if let Some(def_id) = def_id.as_local() {
|
||||
self.reachable_symbols.insert(def_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
intravisit::walk_inline_asm(self, asm, id);
|
||||
}
|
||||
}
|
||||
|
||||
impl<'tcx> ReachableContext<'tcx> {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue