about summary refs log tree commit diff
path: root/src/comp
AgeCommit message (Collapse)AuthorLines
2011-05-04Add a structure for passing option flags around the compiler, put it in ↵Graydon Hoare-87/+106
session, and use it.
2011-05-04Add missing ret statements to check_modBrian Anderson-0/+4
Un-XFAIL compile-fail export tests
2011-05-04Support new -g flag, only mangle glue names by type when it's passed.Graydon Hoare-18/+30
2011-05-03rustc: Stub support for Rust intrinsicsPatrick Walton-28/+61
2011-05-03Revert "Rename the "llvm" API to "llvm-intrinsic"" due to tinderbox bustagePatrick Walton-2/+1
This reverts commit 6871c245a67fab222eccc2a21dcb620d11d3b0d0.
2011-05-03Start sketching --depend support in rustc.Graydon Hoare-1/+19
2011-05-03Rename the "llvm" API to "llvm-intrinsic"Patrick Walton-1/+2
2011-05-03rustc: Refactor metadata.Encode.* to not require a type abbreviation table ↵Patrick Walton-45/+53
if abbreviation isn't enabled
2011-05-03rustc: Name type glue properlyPatrick Walton-3/+17
2011-05-02Extract ast.is_exported from the resolve moduleBrian Anderson-18/+23
2011-05-02rustc: Time the Rust translation and LLVM passes separatelyPatrick Walton-6/+11
2011-05-02rustc: Remove the artificial block in ty.rs. Fixes self-hosting. Add a test ↵Patrick Walton-1/+1
case for this, XFAIL'd.
2011-05-02Un-revert "Use different syntax for checks that matter to typestate", fixing ↵Patrick Walton-505/+510
the problem. This reverts commit d08b443fffb1181d8d45ae5d061412f202dd4118.
2011-05-02Revert "Use different syntax for checks that matter to typestate"Graydon Hoare-510/+505
This reverts commit aa25f22f197682de3b18fc4c8ba068d1feda220f. It broke stage2, not sure why yet.
2011-05-02rustc: Allocate tydescs on the stack when it's safe to do so. 60% compile ↵Patrick Walton-12/+33
speed increase.
2011-05-02Use different syntax for checks that matter to typestateTim Chevalier-505/+510
This giant commit changes the syntax of Rust to use "assert" for "check" expressions that didn't mean anything to the typestate system, and continue using "check" for checks that are used as part of typestate checking. Most of the changes are just replacing "check" with "assert" in test cases and rustc.
2011-05-02rustc: Add a "fat tydesc" LLVM type to transPatrick Walton-0/+6
2011-05-01Remove the search direction from resolve's fold environmentBrian Anderson-36/+31
It's not actually involved in the fold so it can just be passed between the functions that need it.
2011-05-01Hide unexported tag variantsBrian Anderson-3/+5
2011-05-01Implement simple module exportBrian Anderson-12/+60
2011-05-01rustc: Preserve dots in input path when using an implicit output pathBrian Anderson-2/+2
This avoids outputing, e.g. /test.bc for ../test.rs
2011-05-01Fix a typo in the documentation.Ralph Giles-1/+1
2011-04-29rustc: Run scope cleanups in the implicit block created by log statements. ↵Patrick Walton-14/+18
Fixes a leak.
2011-04-29rustc: Add constants for LLVM function attributesPatrick Walton-0/+24
2011-04-29rustc: Emit pure native glue; we don't call it yetPatrick Walton-20/+50
2011-04-29rustc: Start threading a purity flag through upcallsPatrick Walton-20/+26
2011-04-29Temporarily disable dtors; they broke self-hosting.Graydon Hoare-1/+3
2011-04-29rustc: First steps to determine whether tydescs escapePatrick Walton-17/+30
2011-04-29Don't emit metadata unless compiling -shared.Graydon Hoare-5/+8
2011-04-29Implement destructors in rustcMarijn Haverbeke-40/+61
Unlike rustboot, rustc keeps it destructors in vtables. Entry 0 holds either the destructor for the obj or a NULL pointer. The method offsets start at 1.
2011-04-29rustc: Temporarily add a switch and a corresponding makefile variable to ↵Patrick Walton-5/+12
disable typestate
2011-04-29rustc: Add a --time-passes optionPatrick Walton-14/+42
2011-04-29rustc: Handle alias parameters in native functions properlyPatrick Walton-14/+20
2011-04-29rustc: Remove the wrong-compiler warning; we're self-hosting now.Patrick Walton-12/+1
2011-04-29Intern metadata while writing, shrink stage1 from 12mb to 5.7mb.Graydon Hoare-94/+224
2011-04-28rustc: Fix vec append glue for strings. Add a test case.Patrick Walton-5/+8
2011-04-28rustc: Add some value names to the vec append glue function. Un-XFAIL ↵Patrick Walton-0/+6
vec-growth.rs.
2011-04-28More attempts at fixing broken vec-append glue.Graydon Hoare-3/+3
2011-04-28Make the no-growth path (previously never exercised) in rustc *work*.Graydon Hoare-2/+1
2011-04-28Actually hit the no-growth path on vec-append.Graydon Hoare-2/+12
2011-04-28Consider unop deref as an lval. Un-XFAIL vec-push.Graydon Hoare-0/+1
2011-04-28rustc: Only use color if it's supportedPatrick Walton-2/+10
2011-04-28Drop args in native stubs too.Graydon Hoare-0/+11
2011-04-28Enable typestate_checkTim Chevalier-2/+1
This was supposed to be in a previous commit. I don't know what happened.
2011-04-28Add a session field to ty_ctxt and change an err to span_errTim Chevalier-12/+18
I changed instantiate to print out a more helpful error message, which required passing it a session argument. To avoid threading extra arguments through a lot of functions, I added a session field to ty_ctxt.
2011-04-28Reindented things and removed superfluous comments, nothing to see hereTim Chevalier-14/+7
2011-04-28Fix some nested patterns in rustcTim Chevalier-0/+2
In rustc, nested patterns were potentially matching when they shouldn't match, because a loop index wasn't being incremented. Fixed it and added one test case.
2011-04-28Fix bug in handling of expr_alt (postcond for alts was being intersected ↵Tim Chevalier-52/+102
with postcond for scrutinee)
2011-04-28Fixed bug in typeck that wasn't filling in anns for stmtsTim Chevalier-8/+39
(needed for typestate_check). Also changed a (log; fail) to (log_err; fail) in typestate_check, and added some more logging funs in util.common.
2011-04-28Support all expression forms in typestateTim Chevalier-12/+230
Added support for self_method, cont, chan, port, recv, send, be, do_while, spawn, and ext; handled break and cont correctly. (However, there are no non-xfailed test cases for ext or spawn in stage0 currently.) Although the standard library compiles and all test cases pass with typestate enabled, I left typestate checking disabled as rustc terminates abnormally when building the standard library if so, even though it does generate code correctly.