aboutsummaryrefslogtreecommitdiff
path: root/src/comp
Commit message (Collapse)AuthorAgeFilesLines
* rustc: Stub support for Rust intrinsicsPatrick Walton2011-05-034-28/+61
|
* Revert "Rename the "llvm" API to "llvm-intrinsic"" due to tinderbox bustagePatrick Walton2011-05-032-2/+1
| | | | This reverts commit 6871c245a67fab222eccc2a21dcb620d11d3b0d0.
* Start sketching --depend support in rustc.Graydon Hoare2011-05-033-1/+19
|
* Rename the "llvm" API to "llvm-intrinsic"Patrick Walton2011-05-032-1/+2
|
* rustc: Refactor metadata.Encode.* to not require a type abbreviation table ↵Patrick Walton2011-05-033-45/+53
| | | | if abbreviation isn't enabled
* rustc: Name type glue properlyPatrick Walton2011-05-031-3/+17
|
* Extract ast.is_exported from the resolve moduleBrian Anderson2011-05-022-18/+23
|
* rustc: Time the Rust translation and LLVM passes separatelyPatrick Walton2011-05-022-6/+11
|
* rustc: Remove the artificial block in ty.rs. Fixes self-hosting. Add a test ↵Patrick Walton2011-05-021-1/+1
| | | | case for this, XFAIL'd.
* Un-revert "Use different syntax for checks that matter to typestate", fixing ↵Patrick Walton2011-05-0216-505/+510
| | | | | | the problem. This reverts commit d08b443fffb1181d8d45ae5d061412f202dd4118.
* Revert "Use different syntax for checks that matter to typestate"Graydon Hoare2011-05-0216-510/+505
| | | | This reverts commit aa25f22f197682de3b18fc4c8ba068d1feda220f. It broke stage2, not sure why yet.
* rustc: Allocate tydescs on the stack when it's safe to do so. 60% compile ↵Patrick Walton2011-05-021-12/+33
| | | | speed increase.
* Use different syntax for checks that matter to typestateTim Chevalier2011-05-0216-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.
* rustc: Add a "fat tydesc" LLVM type to transPatrick Walton2011-05-021-0/+6
|
* Remove the search direction from resolve's fold environmentBrian Anderson2011-05-011-36/+31
| | | | | It's not actually involved in the fold so it can just be passed between the functions that need it.
* Hide unexported tag variantsBrian Anderson2011-05-011-3/+5
|
* Implement simple module exportBrian Anderson2011-05-011-12/+60
|
* rustc: Preserve dots in input path when using an implicit output pathBrian Anderson2011-05-011-2/+2
| | | | This avoids outputing, e.g. /test.bc for ../test.rs
* Fix a typo in the documentation.Ralph Giles2011-05-011-1/+1
|
* rustc: Run scope cleanups in the implicit block created by log statements. ↵Patrick Walton2011-04-291-14/+18
| | | | Fixes a leak.
* rustc: Add constants for LLVM function attributesPatrick Walton2011-04-291-0/+24
|
* rustc: Emit pure native glue; we don't call it yetPatrick Walton2011-04-293-20/+50
|
* rustc: Start threading a purity flag through upcallsPatrick Walton2011-04-291-20/+26
|
* Temporarily disable dtors; they broke self-hosting.Graydon Hoare2011-04-291-1/+3
|
* rustc: First steps to determine whether tydescs escapePatrick Walton2011-04-291-17/+30
|
* Don't emit metadata unless compiling -shared.Graydon Hoare2011-04-292-5/+8
|
* Implement destructors in rustcMarijn Haverbeke2011-04-292-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.
* rustc: Temporarily add a switch and a corresponding makefile variable to ↵Patrick Walton2011-04-291-5/+12
| | | | disable typestate
* rustc: Add a --time-passes optionPatrick Walton2011-04-292-14/+42
|
* rustc: Handle alias parameters in native functions properlyPatrick Walton2011-04-291-14/+20
|
* rustc: Remove the wrong-compiler warning; we're self-hosting now.Patrick Walton2011-04-291-12/+1
|
* Intern metadata while writing, shrink stage1 from 12mb to 5.7mb.Graydon Hoare2011-04-294-94/+224
|
* rustc: Fix vec append glue for strings. Add a test case.Patrick Walton2011-04-281-5/+8
|
* rustc: Add some value names to the vec append glue function. Un-XFAIL ↵Patrick Walton2011-04-281-0/+6
| | | | vec-growth.rs.
* More attempts at fixing broken vec-append glue.Graydon Hoare2011-04-281-3/+3
|
* Make the no-growth path (previously never exercised) in rustc *work*.Graydon Hoare2011-04-281-2/+1
|
* Actually hit the no-growth path on vec-append.Graydon Hoare2011-04-281-2/+12
|
* Consider unop deref as an lval. Un-XFAIL vec-push.Graydon Hoare2011-04-281-0/+1
|
* rustc: Only use color if it's supportedPatrick Walton2011-04-281-2/+10
|
* Drop args in native stubs too.Graydon Hoare2011-04-281-0/+11
|
* Enable typestate_checkTim Chevalier2011-04-281-2/+1
| | | | This was supposed to be in a previous commit. I don't know what happened.
* Add a session field to ty_ctxt and change an err to span_errTim Chevalier2011-04-283-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.
* Reindented things and removed superfluous comments, nothing to see hereTim Chevalier2011-04-281-14/+7
|
* Fix some nested patterns in rustcTim Chevalier2011-04-281-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.
* Fix bug in handling of expr_alt (postcond for alts was being intersected ↵Tim Chevalier2011-04-281-52/+102
| | | | with postcond for scrutinee)
* Fixed bug in typeck that wasn't filling in anns for stmtsTim Chevalier2011-04-283-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.
* Support all expression forms in typestateTim Chevalier2011-04-282-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.
* Further work on typestate_checkTim Chevalier2011-04-283-131/+426
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lots of work on typestate_check, seems to get a lot of the way through checking the standard library. * Added for, for_each, assign_op, bind, cast, put, check, break, and cont. (I'm not sure break and cont are actually handled correctly.) * Fixed side-effect bug in seq_preconds so that unioning the preconditions of a sequence of statements or expressions is handled correctly. * Pass poststate correctly through a stmt_decl. * Handle expr_ret and expr_fail properly (after execution of a ret or fail, everything is true -- this is needed to handle ifs and alts where one branch is a ret or fail) * Fixed bug in set_prestate_ann where a thing that needed to be mutated wasn't getting passed as an alias * Fixed bug in how expr_alt was treated (zero is not the identity for intersect, who knew, right?) * Update logging to reflect log_err vs. log * Fixed find_locals so as to return all local decls and exclude function arguments. * Make union_postconds work on an empty vector (needed to handle empty blocks correctly) * Added _vec.cat_options, which takes a list of option[T] to a list of T, ignoring any Nones * Added two test cases.
* Add a very minimal set of .cfi_* statements to get part of backtracesRafael Ávila de Espíndola2011-04-281-2/+34
| | | | | | | | | | | | | | | | | working (on hello world at least): ~/inst/gdb/bin/gdb --args ./foo (gdb) b write ... (gdb) r ... Breakpoint 1, 0xf7f04270 in write () from /lib32/libc.so.6 (gdb) bt 0 0xf7f04270 in write () from /lib32/libc.so.6 1 0x0804931a in rust_native_cdecl_3 () 2 0x080487d7 in _rust_wrapper3_ () 3 0x0804890a in _rust_fn5_main () 4 0x08049440 in rust_native_cdecl_7 ()
* Actually perform take/drop on args (oh my!)Graydon Hoare2011-04-281-4/+36
|