Skip to content

Commit 83831c3

Browse files
committed
---
yaml --- r: 47082 b: refs/heads/try c: 1171a21 h: refs/heads/master v: v3
1 parent 1369133 commit 83831c3

File tree

3 files changed

+18
-3
lines changed

3 files changed

+18
-3
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: 3bbcac322669cff3abde5be937cc4ec3860f3985
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: a6d9689399d091c3265f00434a69c551a61c28dc
5-
refs/heads/try: a2068f1b219d79aec867834e7790fbba399abc57
5+
refs/heads/try: 1171a214a633128bbbd067bd0e582f8b40172e01
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c

branches/try/src/librustc/metadata/creader.rs

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ pub fn read_crates(diag: span_handler,
5555
visit_view_item: |a| visit_view_item(e, a),
5656
visit_item: |a| visit_item(e, a),
5757
.. *visit::default_simple_visitor()});
58+
visit_crate(e, crate);
5859
visit::visit_crate(crate, (), v);
5960
dump_crates(e.crate_cache);
6061
warn_if_multiple_versions(e, diag, e.crate_cache);
@@ -125,6 +126,20 @@ struct Env {
125126
intr: @ident_interner
126127
}
127128

129+
fn visit_crate(e: @mut Env, c: ast::crate) {
130+
let cstore = e.cstore;
131+
let link_args = attr::find_attrs_by_name(c.node.attrs, "link_args");
132+
133+
for link_args.each |a| {
134+
match attr::get_meta_item_value_str(attr::attr_meta(*a)) {
135+
Some(ref linkarg) => {
136+
cstore::add_used_link_args(cstore, (/*bad*/copy *linkarg));
137+
}
138+
None => {/* fallthrough */ }
139+
}
140+
}
141+
}
142+
128143
fn visit_view_item(e: @mut Env, i: @ast::view_item) {
129144
match /*bad*/copy i.node {
130145
ast::view_item_use(ident, meta_items, id) => {
@@ -181,7 +196,7 @@ fn visit_item(e: @mut Env, i: @ast::item) {
181196
for link_args.each |a| {
182197
match attr::get_meta_item_value_str(attr::attr_meta(*a)) {
183198
Some(ref linkarg) => {
184-
cstore::add_used_link_args(cstore, (/*bad*/copy *linkarg));
199+
cstore::add_used_link_args(cstore, *linkarg);
185200
}
186201
None => {/* fallthrough */ }
187202
}

branches/try/src/librustc/metadata/cstore.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ pub fn get_used_libraries(cstore: @mut CStore) -> ~[~str] {
119119
return /*bad*/copy cstore.used_libraries;
120120
}
121121

122-
pub fn add_used_link_args(cstore: @mut CStore, args: ~str) {
122+
pub fn add_used_link_args(cstore: @mut CStore, args: &str) {
123123
cstore.used_link_args.push_all(str::split_char(args, ' '));
124124
}
125125

0 commit comments

Comments
 (0)