diff options
| author | klutzy <klutzytheklutzy@gmail.com> | 2013-12-20 00:29:39 +0900 |
|---|---|---|
| committer | klutzy <klutzytheklutzy@gmail.com> | 2013-12-20 01:53:41 +0900 |
| commit | 2afa97a346650f2cfd2db892e2dd7eb98642ffc8 (patch) | |
| tree | 395c81c3d3b4a6519b88f9d37314a9d63223050e | |
| parent | e86cdaf23ded0d25582a33fea761963cf0eb4f41 (diff) | |
| download | rust-2afa97a346650f2cfd2db892e2dd7eb98642ffc8.tar.gz rust-2afa97a346650f2cfd2db892e2dd7eb98642ffc8.zip | |
rustc: Handle `#[link(name = "")]` error
| -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 {} |
