about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDylan DPC <dylan.dpc@gmail.com>2020-05-08 18:48:33 +0200
committerGitHub <noreply@github.com>2020-05-08 18:48:33 +0200
commit827ec49c233f6d0182c83a6123cc3fa639220da2 (patch)
tree8bfde566d305049b907775c161502e30584ae41e
parentb750ee496426d626a17e22f07c7c260b4e31a4c5 (diff)
parent0d60c46faa638ab8ceb543765d39269f4402c4a0 (diff)
Rollup merge of #72017 - ctaggart:wasm2, r=ecstatic-morse
Work around ICEs during cross-compilation for target, ast, & attr

This applies the fix for #72003 to work around #56935 to three more libraries. With these additional fixes, I'm able to use rustfmt_lib from wasm (https://github.com/rust-lang/rustfmt/issues/4132#issuecomment-616587989), which was my goal.

To get it working locally and to test, I copied the `.cargo/registry/src` and applied the fix and replaced the reference in my project:
``` toml
[replace]
"rustc-ap-rustc_span:656.0.0" = { path = "../rustc-ap-rustc_span" }
"rustc-ap-rustc_target:656.0.0" = { path = "../rustc-ap-rustc_target" }
"rustc-ap-rustc_ast:656.0.0" = { path = "../rustc-ap-rustc_ast" }
"rustc-ap-rustc_attr:656.0.0" = { path = "../rustc-ap-rustc_attr" }
```
-rw-r--r--src/librustc_ast/lib.rs4
-rw-r--r--src/librustc_attr/lib.rs4
-rw-r--r--src/librustc_target/lib.rs4
3 files changed, 12 insertions, 0 deletions
diff --git a/src/librustc_ast/lib.rs b/src/librustc_ast/lib.rs
index f81622d0914..cb3118cba23 100644
--- a/src/librustc_ast/lib.rs
+++ b/src/librustc_ast/lib.rs
@@ -19,6 +19,10 @@
 #![feature(unicode_internals)]
 #![recursion_limit = "256"]
 
+// FIXME(#56935): Work around ICEs during cross-compilation.
+#[allow(unused)]
+extern crate rustc_macros;
+
 #[macro_export]
 macro_rules! unwrap_or {
     ($opt:expr, $default:expr) => {
diff --git a/src/librustc_attr/lib.rs b/src/librustc_attr/lib.rs
index 66c4495c5af..5754bb48d24 100644
--- a/src/librustc_attr/lib.rs
+++ b/src/librustc_attr/lib.rs
@@ -6,6 +6,10 @@
 
 #![feature(or_patterns)]
 
+// FIXME(#56935): Work around ICEs during cross-compilation.
+#[allow(unused)]
+extern crate rustc_macros;
+
 mod builtin;
 
 pub use builtin::*;
diff --git a/src/librustc_target/lib.rs b/src/librustc_target/lib.rs
index b2965fb8806..a0229a5daf0 100644
--- a/src/librustc_target/lib.rs
+++ b/src/librustc_target/lib.rs
@@ -17,6 +17,10 @@
 #![feature(associated_type_bounds)]
 #![feature(exhaustive_patterns)]
 
+// FIXME(#56935): Work around ICEs during cross-compilation.
+#[allow(unused)]
+extern crate rustc_macros;
+
 #[macro_use]
 extern crate log;