about summary refs log tree commit diff
path: root/src/librustc/lib
AgeCommit message (Collapse)AuthorLines
2013-05-14Use static string with fail!() and remove fail!(fmt!())Björn Steinbrink-1/+1
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-13TidyMatthijs Hofstra-1/+1
2013-05-12Adds atomic_load, atomic_load_acq, atomic_store, and atomic_store_rel ↵Matthijs Hofstra-4/+18
intrinsics. The default versions (atomic_load and atomic_store) are sequentially consistent. The atomic_load_acq intrinsic acquires as described in [1]. The atomic_store_rel intrinsic releases as described in [1]. [1]: http://llvm.org/docs/Atomics.html
2013-05-08librustc: Stop parsing modes and remove them entirely from the languagePatrick Walton-6/+12
2013-05-02Remove 'Local Variable' commentsBrendan Zabarauskas-10/+0
2013-04-27only use #[no_core] in libcoreDaniel Micay-6/+0
2013-04-22Choose target featuresSeo Sanghyeon-1/+2
2013-04-19rustc: de-mode + fallout from libsyntax changesAlex Crichton-1/+1
2013-04-19librustc: Implement fast-ffi and use it in various placesPatrick Walton-2/+438
2013-04-17rustc: Use an out pointer to return structs in x86 C ABI. #5347Brian Anderson-21/+20
This Adds a bunch of tests for passing and returning structs of various sizes to C. It fixes the struct return rules on unix, and on windows for structs of size > 8 bytes. Struct passing on unix for structs under a certain size appears to still be broken.
2013-04-03rename Linear{Map,Set} => Hash{Map,Set}Daniel Micay-5/+5
2013-04-03hashmap: rm linear namespaceDaniel Micay-1/+1
2013-03-29librustc: Remove `fail_unless!`Patrick Walton-2/+2
2013-03-28Removing unused importsAlex Crichton-2/+2
2013-03-26rustc: Remove uses of oldmap::HashMapAlex Crichton-7/+7
2013-03-22librustc: Remove the `const` declaration form everywherePatrick Walton-2/+2
2013-03-22rustc: replace uses of old deriving attribute with new oneAndrew Paseltiner-1/+1
2013-03-20rustc: Remove some bad copies throughoutAlex Crichton-1/+1
2013-03-13Revamp foreign code not to consider the Rust modes. This requiresNiko Matsakis-1/+1
adjusting a few foreign functions that were declared with by-ref mode. This also allows us to remove by-val mode in the near future. With copy mode, though, we have to be careful because Rust will implicitly pass somethings by pointer but this may not be the C ABI rules. For example, rust will pass a struct Foo as a Foo*. So I added some code into the adapters to fix this (though the C ABI rules may put the pointer back, oh well). This patch also includes a lint mode for the use of by-ref mode in foreign functions as the semantics of this have changed.
2013-03-12Wrap llvm::InlineAsm::AsmDialectLuqman Aden-4/+11
2013-03-12Parse inline assembly.Luqman Aden-0/+5
2013-03-07librustc: Convert all uses of `assert` over to `fail_unless!`Patrick Walton-2/+2
2013-03-07librustc: Remove "extern mod { ... }" from librustc, librustdoc, and tests. ↵Patrick Walton-1003/+1164
rs=deexterning
2013-03-04Remove unused imports throughout src/Alex Crichton-5/+0
2013-02-27Turn old `drop` blocks into `Drop` traitsBen Striegel-4/+16
2013-02-23Consolidate codes dealing with LLVM struct typeSeo Sanghyeon-15/+9
2013-02-20librustc: Get rid of structural records save for front/test.rs.Luqman Aden-24/+55
2013-02-19use range assert when loading enum discriminantDaniel Micay-0/+9
Closes #4924
2013-02-15librustc: Stop parsing `impl Type : Trait` and fix several declarations that ↵Patrick Walton-40/+1
slipped through. r=tjc
2013-02-15librustc: Get rid of `move`.Luqman Aden-1/+1
2013-02-13Remove die!, raplace invocations with fail! Issue #4524 pt 3Nick Desaulniers-1/+1
2013-02-07Fix vector indexing in consts so it works with the enum vector const fix.Jed Davis-0/+1
2013-02-06librustc: Attempt to put out burning tree by fixing translation of unary ↵Patrick Walton-14/+19
negation in boolean constants. rs=burningtree
2013-02-05oldmap: use &K instead of K in find and getPatrick Walton-2/+2
This reverts commit a4250a96fdf61142a9c8dbb6d37ae8435c99e396. This is not the cause of the nonexhaustive-match failure.
2013-02-05Revert "oldmap: use &K instead of K in find and get"Graydon Hoare-2/+2
This reverts commit 8e643525d4e5bca993dada43615916c382a0645b.
2013-02-03oldmap: use &K instead of K in find and getDaniel Micay-2/+2
2013-02-03rename map -> oldmap and mark it as deprecatedDaniel Micay-1/+1
LinearMap is quite a bit faster, and is fully owned/sendable without requiring copies. The older std::map also doesn't use explicit self and relies on mutable fields.
2013-01-31Replace most invocations of fail keyword with die! macroNick Desaulniers-1/+1
2013-01-31Finalize moves-based-on-type implementation.Niko Matsakis-5/+4
Changes: - Refactor move mode computation - Removes move mode arguments, unary move, capture clauses (though they still parse for backwards compatibility) - Simplify how moves are handled in trans - Fix a number of illegal copies that cropped up - Workaround for bug involving def-ids in params (see details below) Future work (I'll open bugs for these...): - Improve error messages for moves that are due to bindings - Add support for moving owned content like a.b.c to borrow check, test in trans (but I think it'll "just work") - Proper fix for def-ids in params Def ids in params: Move captures into a map instead of recomputing. This is a workaround for a larger bug having to do with the def-ids associated with ty_params, which are not always properly preserved when inlining. I am not sure of my preferred fix for the larger bug yet. This current fix removes the only code in trans that I know of which relies on ty_param def-ids, but feels fragile.
2013-01-29librustc: De-export back, lib, and util. rs=deexportingPatrick Walton-554/+625
2013-01-24replace ConstVector trait with the Container traitDaniel Micay-1/+1
2013-01-23libsyntax: Remove `fn() unsafe { ... }`. r=graydonPatrick Walton-1/+1
2013-01-18rustc: Make type_names and named_types tables in trans use @str instead of ~strTim Chevalier-48/+50
Cuts down on bad copies (though there are still a few that can go away once there are impls of push / append / + for @str)
2013-01-13Make empty structs debug-printableJed Davis-5/+8
2013-01-10librustc: Make all external functions unsafe. r=tjcPatrick Walton-602/+817
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-0/+1
module scope. r=tjc
2013-01-08Revert "librustc: Make unqualified identifier searches terminate at the ↵Patrick Walton-1/+0
nearest module scope. r=tjc" This reverts commit a8d37af2473da79be704c9ce2374f278c47177b6.
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-0/+1
module scope. r=tjc
2013-01-07librustc: Make vectors no longer implicitly copyable in rustc. r=graydonPatrick Walton-6/+9
~20% perf win for trans on -O0, with other minor improvements across the board. No effect on -O2.
2012-12-27librustc: Terminate name searches at the nearest module scope for paths that ↵Patrick Walton-6/+15
contain at least two components. r=graydon