about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorarcnmx <arcnmx@users.noreply.github.com>2015-11-07 12:22:04 -0500
committerarcnmx <arcnmx@users.noreply.github.com>2016-02-11 12:45:52 -0500
commite6f0f7d52d69d0c4f290ac32c6eebf92bbf6dd81 (patch)
treeeed6c22c1a4a2ab9925546d91f317728b6ef0898 /src/libsyntax
parenta91ff1c9d1842918329ef7a81afd3848854d53c7 (diff)
downloadrust-e6f0f7d52d69d0c4f290ac32c6eebf92bbf6dd81.tar.gz
rust-e6f0f7d52d69d0c4f290ac32c6eebf92bbf6dd81.zip
Only retain external static symbols across LTO
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/attr.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libsyntax/attr.rs b/src/libsyntax/attr.rs
index cc5f30e2184..e2654375736 100644
--- a/src/libsyntax/attr.rs
+++ b/src/libsyntax/attr.rs
@@ -316,6 +316,13 @@ pub fn find_export_name_attr(diag: &Handler, attrs: &[Attribute]) -> Option<Inte
     })
 }
 
+pub fn contains_extern_indicator(attrs: &[Attribute]) -> bool {
+    contains_name(attrs, "no_mangle") ||
+        contains_name(attrs, "link_section") ||
+        contains_name(attrs, "linkage") ||
+        contains_name(attrs, "export_name")
+}
+
 #[derive(Copy, Clone, PartialEq)]
 pub enum InlineAttr {
     None,