]> git.lizzy.rs Git - rust.git/commit
auto merge of #8535 : nikomatsakis/rust/issue-3678-wrappers-be-gone-2, r=graydon
authorbors <bors@rust-lang.org>
Mon, 19 Aug 2013 11:32:04 +0000 (04:32 -0700)
committerbors <bors@rust-lang.org>
Mon, 19 Aug 2013 11:32:04 +0000 (04:32 -0700)
commit81a78161b5354c9cfecd8c659cc1dc3711d347d6
treebe212089ce62d2909018cf36d7c3aa563b886d94
parent3e4f40ec5aee04c0e5386153644255b6beeba095
parent0479d946c83cf9ed90bba5b33820ea4118dd8f9e
auto merge of #8535 : nikomatsakis/rust/issue-3678-wrappers-be-gone-2, r=graydon

Long-standing branch to remove foreign function wrappers altogether. Calls to C functions are done "in place" with no stack manipulation; the scheme relies entirely on the correct use of `#[fixed_stack_segment]` to guarantee adequate stack space. A linter is added to detect when `#[fixed_stack_segment]` annotations are missing. An `externfn!` macro is added to make it easier to declare foreign fns and wrappers in one go: this macro may need some refinement, though, for example it might be good to be able to declare a group of foreign fns. I leave that for future work (hopefully somebody else's work :) ).

Fixes #3678.