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:
committed by
Brian Anderson
parent
f864934f54
commit
6965fe4bce
@@ -94,7 +94,7 @@ pub mod rustrt {
|
||||
|
||||
pub mod rusti {
|
||||
#[abi = "rust-intrinsic"]
|
||||
pub extern {
|
||||
pub extern "rust-intrinsic" {
|
||||
pub fn frame_address(f: &once fn(x: *u8));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user