Skip to content

Commit 35eba85

Browse files
author
Jorge Aparicio
committed
refactor: use CStore::is_no_builtins
1 parent db16909 commit 35eba85

File tree

4 files changed

+9
-9
lines changed

4 files changed

+9
-9
lines changed

src/librustc/middle/cstore.rs

+2
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,7 @@ pub trait CrateStore<'tcx> {
227227
fn plugin_registrar_fn(&self, cnum: ast::CrateNum) -> Option<DefId>;
228228
fn native_libraries(&self, cnum: ast::CrateNum) -> Vec<(NativeLibraryKind, String)>;
229229
fn reachable_ids(&self, cnum: ast::CrateNum) -> Vec<DefId>;
230+
fn is_no_builtins(&self, cnum: ast::CrateNum) -> bool;
230231

231232
// resolve
232233
fn def_index_for_def_key(&self,
@@ -428,6 +429,7 @@ impl<'tcx> CrateStore<'tcx> for DummyCrateStore {
428429
fn native_libraries(&self, cnum: ast::CrateNum) -> Vec<(NativeLibraryKind, String)>
429430
{ bug!("native_libraries") }
430431
fn reachable_ids(&self, cnum: ast::CrateNum) -> Vec<DefId> { bug!("reachable_ids") }
432+
fn is_no_builtins(&self, cnum: ast::CrateNum) -> bool { bug!("is_no_builtins") }
431433

432434
// resolve
433435
fn def_key(&self, def: DefId) -> hir_map::DefKey { bug!("def_key") }

src/librustc_metadata/csearch.rs

+4
Original file line numberDiff line numberDiff line change
@@ -409,6 +409,10 @@ impl<'tcx> CrateStore<'tcx> for cstore::CStore {
409409
decoder::get_reachable_ids(&cdata)
410410
}
411411

412+
fn is_no_builtins(&self, cnum: ast::CrateNum) -> bool {
413+
attr::contains_name(&self.crate_attrs(cnum), "no_builtins")
414+
}
415+
412416
fn def_index_for_def_key(&self,
413417
cnum: ast::CrateNum,
414418
def: DefKey)

src/librustc_trans/back/link.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ use std::process::Command;
4242
use std::str;
4343
use flate;
4444
use syntax::ast;
45-
use syntax::attr::{self, AttrMetaMethods};
45+
use syntax::attr::AttrMetaMethods;
4646
use syntax_pos::Span;
4747

4848
// RLIB LLVM-BYTECODE OBJECT LAYOUT
@@ -938,10 +938,8 @@ fn add_upstream_rust_crates(cmd: &mut Linker,
938938
Linkage::NotLinked |
939939
Linkage::IncludedFromDylib => {}
940940
Linkage::Static => {
941-
let is_a_no_builtins_crate =
942-
attr::contains_name(&sess.cstore.crate_attrs(cnum), "no_builtins");
943941
add_static_crate(cmd, sess, tmpdir, crate_type,
944-
&src.rlib.unwrap().0, is_a_no_builtins_crate)
942+
&src.rlib.unwrap().0, sess.cstore.is_no_builtins(cnum))
945943
}
946944
Linkage::Dynamic => {
947945
add_dynamic_crate(cmd, sess, &src.dylib.unwrap().0)

src/librustc_trans/back/lto.rs

+1-5
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ use llvm::{ModuleRef, TargetMachineRef, True, False};
1717
use rustc::util::common::time;
1818
use rustc::util::common::path2cstr;
1919
use back::write::{ModuleConfig, with_llvm_pmb};
20-
use syntax::attr;
2120

2221
use libc;
2322
use flate;
@@ -54,11 +53,8 @@ pub fn run(sess: &session::Session, llmod: ModuleRef,
5453
// load the bitcode from the archive. Then merge it into the current LLVM
5554
// module that we've got.
5655
link::each_linked_rlib(sess, &mut |cnum, path| {
57-
let is_a_no_builtins_crate =
58-
attr::contains_name(&sess.cstore.crate_attrs(cnum), "no_builtins");
59-
6056
// `#![no_builtins]` crates don't participate in LTO.
61-
if is_a_no_builtins_crate {
57+
if sess.cstore.is_no_builtins(cnum) {
6258
return;
6359
}
6460

0 commit comments

Comments
 (0)