about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorJakub Bukaj <jakub@jakub.cc>2014-11-18 00:23:50 +0100
committerJakub Bukaj <jakub@jakub.cc>2014-11-18 00:23:50 +0100
commitfcf9fb61574a415653fa0c787058972312ce1235 (patch)
treeb1118890b3dbea75a886d0dc14abd4ba5e7b2ed0 /src/libsyntax
parentf09279395b6ca40f1398277971586197f949738a (diff)
parent33893aebcf19f6bf7e0102406117afa34a955425 (diff)
downloadrust-fcf9fb61574a415653fa0c787058972312ce1235.tar.gz
rust-fcf9fb61574a415653fa0c787058972312ce1235.zip
rollup merge of #18890: luqmana/tf
This is especially useful for declaring a static with external linkage in an executable. There isn't any way to do that currently since we mark everything in an executable as internal by default.

Also, a quick fix to have the no-compiler-rt target option respected when building staticlibs as well.
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/feature_gate.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs
index 0178566fb06..0c31e9ae01d 100644
--- a/src/libsyntax/feature_gate.rs
+++ b/src/libsyntax/feature_gate.rs
@@ -182,6 +182,10 @@ impl<'a, 'v> Visitor<'v> for Context<'a> {
                                   "`#[thread_local]` is an experimental feature, and does not \
                                   currently handle destructors. There is no corresponding \
                                   `#[task_local]` mapping to the task model");
+            } else if attr.name().equiv(&("linkage")) {
+                self.gate_feature("linkage", i.span,
+                                  "the `linkage` attribute is experimental \
+                                   and not portable across platforms")
             }
         }
         match i.node {