about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc_codegen_llvm/base.rs2
-rw-r--r--src/test/ui/issue-50993.rs18
-rw-r--r--src/test/ui/issue-50993.stderr2
3 files changed, 21 insertions, 1 deletions
diff --git a/src/librustc_codegen_llvm/base.rs b/src/librustc_codegen_llvm/base.rs
index 59d227557ae..8660c0bcc6c 100644
--- a/src/librustc_codegen_llvm/base.rs
+++ b/src/librustc_codegen_llvm/base.rs
@@ -642,7 +642,7 @@ fn write_metadata<'a, 'gcx>(tcx: TyCtxt<'a, 'gcx, 'gcx>,
             config::CrateTypeDylib |
             config::CrateTypeProcMacro => MetadataKind::Compressed,
         }
-    }).max().unwrap();
+    }).max().unwrap_or(MetadataKind::None);
 
     if kind == MetadataKind::None {
         return (metadata_llcx,
diff --git a/src/test/ui/issue-50993.rs b/src/test/ui/issue-50993.rs
new file mode 100644
index 00000000000..a6e881b8034
--- /dev/null
+++ b/src/test/ui/issue-50993.rs
@@ -0,0 +1,18 @@
+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags: --crate-type dylib --target thumbv7em-none-eabihf
+// compile-pass
+// error-pattern: dropping unsupported crate type `dylib` for target `thumbv7em-none-eabihf`
+
+#![feature(no_core)]
+
+#![no_std]
+#![no_core]
\ No newline at end of file
diff --git a/src/test/ui/issue-50993.stderr b/src/test/ui/issue-50993.stderr
new file mode 100644
index 00000000000..d7b33a22e9c
--- /dev/null
+++ b/src/test/ui/issue-50993.stderr
@@ -0,0 +1,2 @@
+warning: dropping unsupported crate type `dylib` for target `thumbv7em-none-eabihf`
+