diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc/metadata/creader.rs | 6 | ||||
| -rw-r--r-- | src/test/compile-fail/bad-extern-link-attrs.rs | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/librustc/metadata/creader.rs b/src/librustc/metadata/creader.rs index 955ba54a404..ec651b2c02a 100644 --- a/src/librustc/metadata/creader.rs +++ b/src/librustc/metadata/creader.rs @@ -219,7 +219,11 @@ fn visit_item(e: &Env, i: @ast::item) { @"foo" } }; - cstore::add_used_library(cstore, n.to_owned(), kind); + if n.is_empty() { + e.sess.span_err(m.span, "#[link(name = \"\")] given with empty name"); + } else { + cstore::add_used_library(cstore, n.to_owned(), kind); + } } None => {} } diff --git a/src/test/compile-fail/bad-extern-link-attrs.rs b/src/test/compile-fail/bad-extern-link-attrs.rs index 0616da26602..ff63d4b739a 100644 --- a/src/test/compile-fail/bad-extern-link-attrs.rs +++ b/src/test/compile-fail/bad-extern-link-attrs.rs @@ -9,6 +9,7 @@ // except according to those terms. #[link()] //~ ERROR: specified without `name = +#[link(name = "")] //~ ERROR: with empty name #[link(name = "foo")] #[link(name = "foo", kind = "bar")] //~ ERROR: unknown kind extern {} |
