Do not fail if --emit≠link and there’s no main fn

Fixes #21813
This commit is contained in:
Simonas Kazlauskas 2015-02-07 15:41:21 +02:00
parent e62fec36b9
commit b510b90916
2 changed files with 5 additions and 2 deletions

View 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
}

View 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.