]> git.lizzy.rs Git - rust.git/blobdiff - src/librustc/middle/weak_lang_items.rs
Only retain external static symbols across LTO
[rust.git] / src / librustc / middle / weak_lang_items.rs
index ee999c91097e71d5f42dfe55a2940add7f17d48b..6059d7ee74e390416f43a3f5eabc739990bd880a 100644 (file)
@@ -12,7 +12,7 @@
 
 use session::config;
 use session::Session;
-use metadata::csearch;
+use middle::cstore::CrateStore;
 use middle::lang_items;
 
 use syntax::ast;
@@ -79,11 +79,11 @@ fn verify(sess: &Session, items: &lang_items::LanguageItems) {
     if !needs_check { return }
 
     let mut missing = HashSet::new();
-    sess.cstore.iter_crate_data(|cnum, _| {
-        for item in &csearch::get_missing_lang_items(&sess.cstore, cnum) {
-            missing.insert(*item);
+    for cnum in sess.cstore.crates() {
+        for item in sess.cstore.missing_lang_items(cnum) {
+            missing.insert(item);
         }
-    });
+    }
 
     $(
         if missing.contains(&lang_items::$item) && items.$name().is_none() {
@@ -102,8 +102,8 @@ fn register(&mut self, name: &str, span: Span) {
             }
         } else)* {
             span_err!(self.sess, span, E0264,
-                               "unknown external lang item: `{}`",
-                                       name);
+                      "unknown external lang item: `{}`",
+                      name);
         }
     }
 }