summary refs log tree commit diff
path: root/src/librustc/lib
AgeCommit message (Collapse)AuthorLines
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
2012-12-04librustc: Remove all legacy pattern bindings from libsyntax and librustc. ↵Patrick Walton-1/+1
rs=refactoring
2012-12-03Update license, add license boilerplate to most files. Remainder will follow.Graydon Hoare-0/+10
2012-11-30librustc: Implement C-like enum constants. r=tjcPatrick Walton-5/+16
2012-11-28Register snapshotsBrian Anderson-43/+0
2012-11-19rustc: Implement explicit self for Eq and Ord. r=graydonPatrick Walton-0/+43
2012-11-07rustc: Support irrefutable patterns in function arguments. r=nmatsakisPatrick Walton-5/+5
2012-11-07Rename src/rustc to src/librustc. Use the driver crateBrian Anderson-0/+1273