summary refs log tree commit diff
path: root/src/libsyntax/abi.rs
AgeCommit message (Collapse)AuthorLines
2013-11-26libsyntax: Remove all non-`proc` `do` syntax.Patrick Walton-7/+7
2013-11-20auto merge of #10527 : eholk/rust/win64, r=alexcrichtonbors-0/+3
This was needed to access UEFI boot services in my new Boot2Rust experiment. I also realized that Rust functions declared as extern always use the C calling convention regardless of how they were declared, so this pull request fixes that as well.
2013-11-19libsyntax: Change all uses of `&fn` to `||`.Patrick Walton-2/+2
2013-11-18Add Win64 calling convention.Eric Holk-0/+3
2013-11-09Add a "system" ABIAlex Crichton-13/+36
This adds an other ABI option which allows a custom selection over the target architecture and OS. The only current candidate for this change is that kernel32 on win32 uses stdcall, but on win64 it uses the cdecl calling convention. Otherwise everywhere else this is defined as using the Cdecl calling convention. cc #10049 Closes #8774
2013-10-22Drop the '2' suffix from logging macrosAlex Crichton-5/+5
Who doesn't like a massive renaming?
2013-09-30syntax: Remove usage of fmt!Alex Crichton-6/+6
2013-08-05Updated std::Option, std::Either and std::ResultMarvin Löbel-2/+2
- Made naming schemes consistent between Option, Result and Either - Changed Options Add implementation to work like the maybe monad (return None if any of the inputs is None) - Removed duplicate Option::get and renamed all related functions to use the term `unwrap` instead
2013-08-03remove obsolete `foreach` keywordDaniel Micay-4/+4
this has been replaced by `for`
2013-08-03replace all remaining `for` with `foreach` or `do`Daniel Micay-13/+22
2013-08-01migrate many `for` loops to `foreach`Daniel Micay-4/+4
2013-07-17librustc: Remove all uses of "copy".Patrick Walton-1/+1
2013-06-25great renaming propagation: syntaxCorey Richardson-3/+1
2013-06-23vec: remove BaseIter implementationDaniel Micay-3/+3
I removed the `static-method-test.rs` test because it was heavily based on `BaseIter` and there are plenty of other more complex uses of static methods anyway.
2013-06-21vec: rm old_iter implementations, except BaseIterDaniel Micay-2/+2
The removed test for issue #2611 is well covered by the `std::iterator` module itself. This adds the `count` method to `IteratorUtil` to replace `EqIter`.
2013-06-10std: remove str::{connect,concat}*.Huon Wilson-2/+1
2013-06-01Remove all uses of `pub impl`. rs=stylePatrick Walton-21/+21
2013-05-29librustc: Stop reexporting the standard modules from prelude.Patrick Walton-0/+1
2013-05-22libextra: Rename the actual metadata names of libcore to libstd and libstd ↵Patrick Walton-0/+2
to libextra
2013-05-19Register snapshotsBrian Anderson-39/+0
2013-05-16syntax: deprecate #[auto_{en,de}code] in favour of #[deriving({En,De}codable)].Huon Wilson-3/+1
Replace all instances of #[auto_*code] with the appropriate #[deriving] attribute and remove the majority of the actual code, leaving stubs to refer the user to the new syntax.
2013-05-14Use static string with fail!() and remove fail!(fmt!())Björn Steinbrink-2/+2
fail!() used to require owned strings but can handle static strings now. Also, it can pass its arguments to fmt!() on its own, no need for the caller to call fmt!() itself.
2013-05-10syntax: Use the new `for` protocolAlex Crichton-0/+29
2013-04-27only use #[no_core] in libcoreDaniel Micay-2/+0
2013-04-19syntax: de-mode and prepare for de-modeing rustcAlex Crichton-2/+2
2013-04-14syntax: remove unnecessary unsafe blocks/functionsAlex Crichton-6/+4
2013-03-30libsyntax: Update abi constants. Fixes #5423.Luqman Aden-5/+2
2013-03-29Add AbiSet and integrate it into the AST.Niko Matsakis-0/+427
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.