Use "" in the native_name as an indication that no extra options have to

be passed to the "linker". Use that for libc.
This commit is contained in:
Rafael Ávila de Espíndola 2011-06-28 08:21:13 -04:00
parent 663aa76635
commit ecc080ed0b
10 changed files with 16 additions and 19 deletions

View file

@ -125,6 +125,9 @@ obj session(ast::crate_num cnum,
}
fn has_external_crate(int num) -> bool { ret crates.contains_key(num); }
fn add_used_library(&str lib) {
if (lib == "") {
ret;
}
// A program has a small number of libraries, so a vector is probably
// a good data structure in here.
for (str l in used_libraries) {

View file

@ -1920,7 +1920,7 @@ fn parse_item_native_mod(&parser p, vec[ast::attribute] attrs) -> @ast::item {
expect(p, token::EQ);
native_name = parse_str(p);
} else {
native_name = "";
native_name = id;
}
expect(p, token::LBRACE);
auto m = parse_native_mod_items(p, native_name, abi);

View file

@ -203,18 +203,12 @@ fn visit_view_item(env e, &@ast::view_item i) {
fn visit_item(env e, &@ast::item i) {
alt (i.node) {
case (ast::item_native_mod(?m)) {
auto name;
if (m.native_name == "" ) {
name = i.ident;
} else {
name = m.native_name;
}
alt (m.abi) {
case (ast::native_abi_rust) {
e.sess.add_used_library(name);
e.sess.add_used_library(m.native_name);
}
case (ast::native_abi_cdecl) {
e.sess.add_used_library(name);
e.sess.add_used_library(m.native_name);
}
case (ast::native_abi_llvm) {
}