Add AbiSet and integrate it into the AST.
I believe this patch incorporates all expected syntax changes from extern function reform (#3678). You can now write things like: extern "<abi>" fn foo(s: S) -> T { ... } extern "<abi>" mod { ... } extern "<abi>" fn(S) -> T The ABI for foreign functions is taken from this syntax (rather than from an annotation). We support the full ABI specification I described on the mailing list. The correct ABI is chosen based on the target architecture. Calls by pointer to C functions are not yet supported, and the Rust type of crust fns is still *u8.
This commit is contained in:
parent
f864934f54
commit
6965fe4bce
72 changed files with 879 additions and 352 deletions
|
@ -18,7 +18,7 @@ use core::ptr::addr_of;
|
|||
use core::vec;
|
||||
|
||||
#[abi = "rust-intrinsic"]
|
||||
extern "C" mod rusti {
|
||||
extern "rust-intrinsic" mod rusti {
|
||||
fn move_val_init<T>(dst: &mut T, +src: T);
|
||||
fn init<T>() -> T;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue