about summary refs log tree commit diff
path: root/src/librustc/back
AgeCommit message (Collapse)AuthorLines
2013-01-31Replace most invocations of fail keyword with die! macroNick Desaulniers-2/+2
2013-01-31Finalize moves-based-on-type implementation.Niko Matsakis-1/+1
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-100/+87
2013-01-29librustc: De-export driver. rs=deexportPatrick Walton-34/+27
2013-01-24remove remaining is_not_empty functions/methodsDaniel Micay-1/+1
2013-01-23libsyntax: Remove `fn() unsafe { ... }`. r=graydonPatrick Walton-48/+54
2013-01-14syntax/rustc: Eliminate some bad copiesTim Chevalier-62/+62
r=pcwalton
2013-01-13Support ARM and Androidkyeongwoon-4/+112
Conflicts: src/libcore/os.rs src/librustc/back/link.rs src/librustc/driver/driver.rs src/librustc/metadata/loader.rs src/librustc/middle/trans/base.rs
2013-01-10librustc: Make all external functions unsafe. r=tjcPatrick Walton-164/+179
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-5/+29
module scope. r=tjc
2013-01-08Revert "librustc: Make unqualified identifier searches terminate at the ↵Patrick Walton-29/+5
nearest module scope. r=tjc" This reverts commit a8d37af2473da79be704c9ce2374f278c47177b6.
2013-01-08librustc: Make unqualified identifier searches terminate at the nearest ↵Patrick Walton-5/+29
module scope. r=tjc
2013-01-08arrange core::os::constsILyoan-3/+16
2013-01-07librustc: Make vectors no longer implicitly copyable in rustc. r=graydonPatrick Walton-35/+55
~20% perf win for trans on -O0, with other minor improvements across the board. No effect on -O2.
2012-12-27librustc: Fix some unresolved imports in the test runner. rs=bustagePatrick Walton-1/+10
2012-12-27librustc: Terminate name searches at the nearest module scope for paths that ↵Patrick Walton-18/+56
contain at least two components. r=graydon
2012-12-04librustc: Remove all legacy pattern bindings from libsyntax and librustc. ↵Patrick Walton-10/+10
rs=refactoring
2012-12-03Update license, add license boilerplate to most files. Remainder will follow.Graydon Hoare-0/+70
2012-11-29librustc: Eliminate most expressions of the form `a.b()` that are not method ↵Patrick Walton-2/+2
calls. rs=refactoring
2012-11-28Register snapshotsBrian Anderson-10/+0
2012-11-19rustc: Implement explicit self for Eq and Ord. r=graydonPatrick Walton-0/+10
2012-11-07Rename src/rustc to src/librustc. Use the driver crateBrian Anderson-0/+1383