| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Use different syntax for checks that matter to typestate | Tim Chevalier | 2011-05-02 | 8 | -381/+370 | |
| | | | | | | | | | | | 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 trans | Patrick Walton | 2011-05-02 | 1 | -0/+6 | |
| | | ||||||
| * | Remove the search direction from resolve's fold environment | Brian Anderson | 2011-05-01 | 1 | -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 variants | Brian Anderson | 2011-05-01 | 1 | -3/+5 | |
| | | ||||||
| * | Implement simple module export | Brian Anderson | 2011-05-01 | 1 | -12/+60 | |
| | | ||||||
| * | rustc: Run scope cleanups in the implicit block created by log statements. ↵ | Patrick Walton | 2011-04-29 | 1 | -14/+18 | |
| | | | | | Fixes a leak. | |||||
| * | rustc: Emit pure native glue; we don't call it yet | Patrick Walton | 2011-04-29 | 1 | -8/+19 | |
| | | ||||||
| * | rustc: Start threading a purity flag through upcalls | Patrick Walton | 2011-04-29 | 1 | -20/+26 | |
| | | ||||||
| * | Temporarily disable dtors; they broke self-hosting. | Graydon Hoare | 2011-04-29 | 1 | -1/+3 | |
| | | ||||||
| * | rustc: First steps to determine whether tydescs escape | Patrick Walton | 2011-04-29 | 1 | -17/+30 | |
| | | ||||||
| * | Don't emit metadata unless compiling -shared. | Graydon Hoare | 2011-04-29 | 2 | -5/+8 | |
| | | ||||||
| * | Implement destructors in rustc | Marijn Haverbeke | 2011-04-29 | 1 | -40/+60 | |
| | | | | | | | 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: Add a --time-passes option | Patrick Walton | 2011-04-29 | 1 | -1/+1 | |
| | | ||||||
| * | rustc: Handle alias parameters in native functions properly | Patrick Walton | 2011-04-29 | 1 | -14/+20 | |
| | | ||||||
| * | Intern metadata while writing, shrink stage1 from 12mb to 5.7mb. | Graydon Hoare | 2011-04-29 | 3 | -78/+175 | |
| | | ||||||
| * | rustc: Fix vec append glue for strings. Add a test case. | Patrick Walton | 2011-04-28 | 1 | -5/+8 | |
| | | ||||||
| * | rustc: Add some value names to the vec append glue function. Un-XFAIL ↵ | Patrick Walton | 2011-04-28 | 1 | -0/+6 | |
| | | | | | vec-growth.rs. | |||||
| * | More attempts at fixing broken vec-append glue. | Graydon Hoare | 2011-04-28 | 1 | -3/+3 | |
| | | ||||||
| * | Make the no-growth path (previously never exercised) in rustc *work*. | Graydon Hoare | 2011-04-28 | 1 | -2/+1 | |
| | | ||||||
| * | Actually hit the no-growth path on vec-append. | Graydon Hoare | 2011-04-28 | 1 | -2/+12 | |
| | | ||||||
| * | Consider unop deref as an lval. Un-XFAIL vec-push. | Graydon Hoare | 2011-04-28 | 1 | -0/+1 | |
| | | ||||||
| * | Drop args in native stubs too. | Graydon Hoare | 2011-04-28 | 1 | -0/+11 | |
| | | ||||||
| * | Add a session field to ty_ctxt and change an err to span_err | Tim Chevalier | 2011-04-28 | 2 | -10/+16 | |
| | | | | | | | | 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 here | Tim Chevalier | 2011-04-28 | 1 | -14/+7 | |
| | | ||||||
| * | Fix some nested patterns in rustc | Tim Chevalier | 2011-04-28 | 1 | -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 Chevalier | 2011-04-28 | 1 | -52/+102 | |
| | | | | | with postcond for scrutinee) | |||||
| * | Fixed bug in typeck that wasn't filling in anns for stmts | Tim Chevalier | 2011-04-28 | 2 | -8/+19 | |
| | | | | | | | | (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 typestate | Tim Chevalier | 2011-04-28 | 1 | -12/+198 | |
| | | | | | | | | | | | | | 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_check | Tim Chevalier | 2011-04-28 | 1 | -119/+343 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. | |||||
| * | Actually perform take/drop on args (oh my!) | Graydon Hoare | 2011-04-28 | 1 | -4/+36 | |
| | | ||||||
| * | Use cnames when present in ty.ty_to_str. | Graydon Hoare | 2011-04-27 | 1 | -10/+10 | |
| | | ||||||
| * | Cache sha1 values of types, use seq-based mangling for glue as it's private ↵ | Graydon Hoare | 2011-04-27 | 1 | -10/+17 | |
| | | | | | anyways. | |||||
| * | Partly disable simplified-type glue optimization due to compile-time cost. | Graydon Hoare | 2011-04-27 | 1 | -1/+11 | |
| | | ||||||
| * | rustc: Ignore the return value of native functions that return nil. stage1 ↵ | Patrick Walton | 2011-04-26 | 1 | -1/+10 | |
| | | | | | can build libstd now, though it leaks. | |||||
| * | rustc: Actually write the optimized bitcode when --save-temps is on | Patrick Walton | 2011-04-26 | 1 | -12/+13 | |
| | | ||||||
| * | Speed up calls to get_tydesc and kill cname-redundant glue generation. | Graydon Hoare | 2011-04-26 | 1 | -16/+29 | |
| | | ||||||
| * | Merge branch 'master' of ssh://github.com/graydon/rust | Graydon Hoare | 2011-04-26 | 1 | -1/+3 | |
| |\ | ||||||
| | * | rustc: Cap ridiculous type name sizes | Patrick Walton | 2011-04-26 | 1 | -1/+3 | |
| | | | ||||||
| * | | Various bits of trans lint, nothing major. | Graydon Hoare | 2011-04-26 | 1 | -25/+36 | |
| |/ | ||||||
| * | rustc: Add a missing return value to Collect.ty_of_item() | Patrick Walton | 2011-04-25 | 1 | -1/+3 | |
| | | ||||||
| * | A little more guarding against wasted work in ty, typeck. | Graydon Hoare | 2011-04-25 | 2 | -2/+19 | |
| | | ||||||
| * | rustc: Use the abbreviated type names to avoid LLVM bitcode size explosion | Patrick Walton | 2011-04-25 | 3 | -5/+11 | |
| | | ||||||
| * | Kick ty_var and ty_local entries out of the type store. Pre-compute presence ↵ | Graydon Hoare | 2011-04-25 | 2 | -72/+183 | |
| | | | | | of var, local, param and bound_params in types. | |||||
| * | rustc: Add a -save-temps option to save bitcode and write output ↵ | Patrick Walton | 2011-04-25 | 1 | -6/+49 | |
| | | | | | simultaneously; document command line switches | |||||
| * | rustc: Pass a "type context" around instead of directly passing the type ↵ | Patrick Walton | 2011-04-25 | 4 | -783/+738 | |
| | | | | | store; prep for removing type annotations | |||||
| * | Avoid type_store hashtable access for a variety of cases, probably only ↵ | Graydon Hoare | 2011-04-25 | 2 | -45/+168 | |
| | | | | | ty_var matters. | |||||
| * | Skip substitution and/or binding when there's no work to do. | Graydon Hoare | 2011-04-25 | 1 | -0/+34 | |
| | | ||||||
| * | Bind tag members as aliases rather than new locals. | Graydon Hoare | 2011-04-25 | 1 | -19/+18 | |
| | | ||||||
| * | Fix busted iter/put code. Un-XFAIL foreach-box-drop.rs. | Graydon Hoare | 2011-04-23 | 1 | -95/+94 | |
| | | ||||||
| * | rustc: Use a silly "magic numbers" hack; seems to speed things up a bit. | Patrick Walton | 2011-04-22 | 1 | -2/+41 | |
| | | ||||||