File tree Expand file tree Collapse file tree 1 file changed +10
-8
lines changed Expand file tree Collapse file tree 1 file changed +10
-8
lines changed Original file line number Diff line number Diff line change @@ -659,14 +659,16 @@ fn emit_tydescs(ccx: @crate_ctxt) {
659
659
lib:: llvm:: SetLinkage ( gvar, lib:: llvm:: InternalLinkage ) ;
660
660
661
661
// 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
+ }
670
672
} ;
671
673
}
672
674
You can’t perform that action at this time.
0 commit comments