@@ -175,40 +175,43 @@ fn visit_item(e: &Env, i: @ast::item) {
175175 }
176176
177177 let cstore = e. cstore ;
178- let mut already_added = false ;
179178 let link_args = i. attrs . iter ( )
180179 . filter_map ( |at| if "link_args" == at. name ( ) { Some ( at) } else { None } )
181180 . collect :: < ~[ & ast:: Attribute ] > ( ) ;
182181
183- match fm. sort {
184- ast:: named => {
185- let link_name = i. attrs . iter ( )
186- . find ( |at| "link_name" == at. name ( ) )
187- . and_then ( |at| at. value_str ( ) ) ;
188-
189- let foreign_name = match link_name {
190- Some ( nn) => {
191- if nn. is_empty ( ) {
192- e. diag . span_fatal (
193- i. span ,
194- "empty #[link_name] not allowed; use \
195- #[nolink].") ;
196- }
197- nn
198- }
199- None => token:: ident_to_str ( & i. ident )
200- } ;
201- if !attr:: contains_name ( i. attrs , "nolink" ) {
202- already_added =
203- !cstore:: add_used_library ( cstore, foreign_name) ;
204- }
205- if !link_args. is_empty ( ) && already_added {
206- e. diag . span_fatal ( i. span , ~"library ' " + foreign_name +
207- "' already added: can't specify link_args." ) ;
208- }
209- }
210- ast:: anonymous => { /* do nothing */ }
211- }
182+ // XXX: two whom it may concern, this was the old logic applied to the
183+ // ast's extern mod blocks which had names (we used to allow
184+ // "extern mod foo"). This code was never run for anonymous blocks,
185+ // and we now only have anonymous blocks. We're still in the midst
186+ // of figuring out what the exact operations we'd like to support
187+ // when linking external modules, but I wanted to leave this logic
188+ // here for the time beging to refer back to it
189+
190+ //let mut already_added = false;
191+ //let link_name = i.attrs.iter()
192+ // .find(|at| "link_name" == at.name())
193+ // .and_then(|at| at.value_str());
194+
195+ //let foreign_name = match link_name {
196+ // Some(nn) => {
197+ // if nn.is_empty() {
198+ // e.diag.span_fatal(
199+ // i.span,
200+ // "empty #[link_name] not allowed; use \
201+ // #[nolink].");
202+ // }
203+ // nn
204+ // }
205+ // None => token::ident_to_str(&i.ident)
206+ // };
207+ //if !attr::contains_name(i.attrs, "nolink") {
208+ // already_added =
209+ // !cstore::add_used_library(cstore, foreign_name);
210+ //}
211+ //if !link_args.is_empty() && already_added {
212+ // e.diag.span_fatal(i.span, ~"library '" + foreign_name +
213+ // "' already added: can't specify link_args.");
214+ //}
212215
213216 for m in link_args. iter ( ) {
214217 match m. value_str ( ) {
0 commit comments