diff --git a/src/librustc/back/archive.rs b/src/librustc/back/archive.rs index 18aef17b9eb77..406c3026614dc 100644 --- a/src/librustc/back/archive.rs +++ b/src/librustc/back/archive.rs @@ -173,6 +173,7 @@ impl Archive { if_ok!(fs::rename(file, &new_filename)); inputs.push(new_filename); } + if inputs.len() == 0 { return Ok(()) } // Finally, add all the renamed files to this archive let mut args = ~[&self.dst]; diff --git a/src/test/run-make/staticlib-blank-lib/Makefile b/src/test/run-make/staticlib-blank-lib/Makefile new file mode 100644 index 0000000000000..c56d1212047e8 --- /dev/null +++ b/src/test/run-make/staticlib-blank-lib/Makefile @@ -0,0 +1,6 @@ +-include ../tools.mk + +all: + ar crus libfoo.a foo.rs + ar d libfoo.a foo.rs + $(RUSTC) foo.rs diff --git a/src/test/run-make/staticlib-blank-lib/foo.rs b/src/test/run-make/staticlib-blank-lib/foo.rs new file mode 100644 index 0000000000000..b3d9c006976d0 --- /dev/null +++ b/src/test/run-make/staticlib-blank-lib/foo.rs @@ -0,0 +1,16 @@ +// Copyright 2014 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 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +#[crate_type = "staticlib"]; + +#[link(name = "foo", kind = "static")] +extern {} + +fn main() {}