auto merge of #8903 : luqmana/rust/en, r=thestinger

Fixes #8735.
This commit is contained in:
bors 2013-08-31 16:25:40 -07:00
commit a60c6a8b18

View File

@ -2453,10 +2453,16 @@ pub fn item_path(ccx: &CrateContext, id: &ast::NodeId) -> path {
} }
fn exported_name(ccx: @mut CrateContext, path: path, ty: ty::t, attrs: &[ast::Attribute]) -> ~str { fn exported_name(ccx: @mut CrateContext, path: path, ty: ty::t, attrs: &[ast::Attribute]) -> ~str {
if attr::contains_name(attrs, "no_mangle") { match attr::first_attr_value_str_by_name(attrs, "export_name") {
path_elt_to_str(*path.last(), token::get_ident_interner()) // Use provided name
} else { Some(name) => name.to_owned(),
mangle_exported_name(ccx, path, ty)
// Don't mangle
_ if attr::contains_name(attrs, "no_mangle")
=> path_elt_to_str(*path.last(), token::get_ident_interner()),
// Usual name mangling
_ => mangle_exported_name(ccx, path, ty)
} }
} }