Skip to content

Commit d61dcfe

Browse files
pcwaltonpnkfelix
authored andcommitted
librustc Eagerly compute and bind some data to accommodate by-value closures.
1 parent 5b1441c commit d61dcfe

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

src/librustc/back/link.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,8 @@ pub mod write {
429429
}
430430
}
431431

432+
let llvm_args_len = llvm_args.len();
433+
let llvm_args_ptr = llvm_args.as_ptr();
432434
INIT.doit(|| {
433435
llvm::LLVMInitializePasses();
434436

@@ -454,8 +456,8 @@ pub mod write {
454456
llvm::LLVMInitializeMipsAsmPrinter();
455457
llvm::LLVMInitializeMipsAsmParser();
456458

457-
llvm::LLVMRustSetLLVMOptions(llvm_args.len() as c_int,
458-
llvm_args.as_ptr());
459+
llvm::LLVMRustSetLLVMOptions(llvm_args_len as c_int,
460+
llvm_args_ptr);
459461
});
460462
}
461463

src/librustc/middle/resolve.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1880,15 +1880,17 @@ impl<'a> Resolver<'a> {
18801880
Some(def_id) => def_id,
18811881
};
18821882

1883+
let new_module = module.clone();
18831884
csearch::each_child_of_item(&self.session.cstore,
18841885
def_id,
18851886
|def_like, child_ident, visibility| {
18861887
debug!("(populating external module) ... found ident: {}",
18871888
token::get_ident(child_ident));
1888-
self.build_reduced_graph_for_external_crate_def(module.clone(),
1889-
def_like,
1890-
child_ident,
1891-
visibility)
1889+
self.build_reduced_graph_for_external_crate_def(
1890+
new_module.clone(),
1891+
def_like,
1892+
child_ident,
1893+
visibility)
18921894
});
18931895
module.populated.set(true)
18941896
}

0 commit comments

Comments
 (0)