]> git.lizzy.rs Git - rust.git/commitdiff
Do not fail if --emit≠link and there’s no main fn
authorSimonas Kazlauskas <git@kazlauskas.me>
Sat, 7 Feb 2015 13:41:21 +0000 (15:41 +0200)
committerSimonas Kazlauskas <git@kazlauskas.me>
Sat, 7 Feb 2015 13:41:21 +0000 (15:41 +0200)
Fixes #21813

src/librustc/middle/entry.rs
src/librustc/session/config.rs

index 0ce9db1c80f3f21c4741083a46e983a4bb37ea23..b5904f23ef364e0e1d4a8d31bbd794efe269de9f 100644 (file)
@@ -50,7 +50,10 @@ pub fn find_entry_point(session: &Session, ast_map: &ast_map::Map) {
     let any_exe = session.crate_types.borrow().iter().any(|ty| {
         *ty == config::CrateTypeExecutable
     });
-    if !any_exe {
+    let emit_link = session.opts.output_types.iter().any(|ty| {
+        *ty == config::OutputTypeExe
+    });
+    if !any_exe || !emit_link {
         // No need to find a main function
         return
     }
index efd2392e453ed65a8018bc59095a92485b441d8f..f42b25b9229531a97cba58959dcc45c928fd7e9c 100644 (file)
@@ -82,7 +82,7 @@ pub struct Options {
     pub debuginfo: DebugInfoLevel,
     pub lint_opts: Vec<(String, lint::Level)>,
     pub describe_lints: bool,
-    pub output_types: Vec<OutputType> ,
+    pub output_types: Vec<OutputType>,
     // This was mutable for rustpkg, which updates search paths based on the
     // parsed code. It remains mutable in case its replacements wants to use
     // this.