Skip to content

Commit 30768d3

Browse files
author
Elliott Slaughter
committed
rustc: Don't emit metadata for default and GC box addrspaces.
1 parent 2189f21 commit 30768d3

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

src/rustc/middle/trans/base.rs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -659,14 +659,16 @@ fn emit_tydescs(ccx: @crate_ctxt) {
659659
lib::llvm::SetLinkage(gvar, lib::llvm::InternalLinkage);
660660

661661
// Index tydesc by addrspace.
662-
let llty = T_ptr(ccx.tydesc_type);
663-
let addrspace_name = #fmt("_gc_addrspace_metadata_%u",
664-
ti.addrspace as uint);
665-
let addrspace_gvar = str::as_c_str(addrspace_name, |buf| {
666-
llvm::LLVMAddGlobal(ccx.llmod, llty, buf)
667-
});
668-
lib::llvm::SetLinkage(addrspace_gvar, lib::llvm::InternalLinkage);
669-
llvm::LLVMSetInitializer(addrspace_gvar, gvar);
662+
if ti.addrspace > gc_box_addrspace {
663+
let llty = T_ptr(ccx.tydesc_type);
664+
let addrspace_name = #fmt("_gc_addrspace_metadata_%u",
665+
ti.addrspace as uint);
666+
let addrspace_gvar = str::as_c_str(addrspace_name, |buf| {
667+
llvm::LLVMAddGlobal(ccx.llmod, llty, buf)
668+
});
669+
lib::llvm::SetLinkage(addrspace_gvar, lib::llvm::InternalLinkage);
670+
llvm::LLVMSetInitializer(addrspace_gvar, gvar);
671+
}
670672
};
671673
}
672674

0 commit comments

Comments
 (0)