| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Don't emit metadata unless compiling -shared. | Graydon Hoare | 2011-04-29 | 2 | -5/+8 | |
| | | ||||||
| * | Implement destructors in rustc | Marijn Haverbeke | 2011-04-29 | 2 | -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 Walton | 2011-04-29 | 2 | -5/+15 | |
| | | | | | disable typestate | |||||
| * | build: Add a TIME_PASSES=1 variable | Patrick Walton | 2011-04-29 | 1 | -0/+3 | |
| | | ||||||
| * | rustc: Add a --time-passes option | Patrick Walton | 2011-04-29 | 2 | -14/+42 | |
| | | ||||||
| * | rustc: Handle alias parameters in native functions properly | Patrick Walton | 2011-04-29 | 1 | -14/+20 | |
| | | ||||||
| * | stdlib: Add a Time module to the standard library | Patrick Walton | 2011-04-29 | 4 | -0/+43 | |
| | | ||||||
| * | rustc: Remove the wrong-compiler warning; we're self-hosting now. | Patrick Walton | 2011-04-29 | 2 | -14/+3 | |
| | | ||||||
| * | Intern metadata while writing, shrink stage1 from 12mb to 5.7mb. | Graydon Hoare | 2011-04-29 | 4 | -94/+224 | |
| | | ||||||
| * | rustc: Fix vec append glue for strings. Add a test case. | Patrick Walton | 2011-04-28 | 2 | -5/+22 | |
| | | ||||||
| * | rustc: Add some value names to the vec append glue function. Un-XFAIL ↵ | Patrick Walton | 2011-04-28 | 2 | -2/+6 | |
| | | | | | vec-growth.rs. | |||||
| * | More attempts at fixing broken vec-append glue. | Graydon Hoare | 2011-04-28 | 1 | -3/+3 | |
| | | ||||||
| * | test: Add a test case for vec growth | Patrick Walton | 2011-04-28 | 1 | -0/+15 | |
| | | ||||||
| * | 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 | |
| | | ||||||
| * | stdlib: Provide "array" as a friendlier shorthand for "vec[mutable? T]" | Patrick Walton | 2011-04-28 | 1 | -17/+18 | |
| | | ||||||
| * | Consider unop deref as an lval. Un-XFAIL vec-push. | Graydon Hoare | 2011-04-28 | 2 | -3/+2 | |
| | | ||||||
| * | rustc: Add a testcase for vector push (mutable aliases with *, really) | Patrick Walton | 2011-04-28 | 1 | -0/+11 | |
| | | ||||||
| * | rustc: Only use color if it's supported | Patrick Walton | 2011-04-28 | 1 | -2/+10 | |
| | | ||||||
| * | stdlib: Add a color_supported() function to Term | Patrick Walton | 2011-04-28 | 3 | -0/+12 | |
| | | ||||||
| * | Change vec-ref-count to handle 1 or 2, so long as non-leaky and ↵ | Graydon Hoare | 2011-04-28 | 1 | -4/+5 | |
| | | | | | non-creeping. un-XFAIL. | |||||
| * | Drop args in native stubs too. | Graydon Hoare | 2011-04-28 | 1 | -0/+11 | |
| | | ||||||
| * | stdlib: Add getenv(3) to win32_os. | Patrick Walton | 2011-04-28 | 1 | -0/+2 | |
| | | ||||||
| * | test: Add a test for vector reference counts, XFAIL'd in rustc | Patrick Walton | 2011-04-28 | 1 | -0/+11 | |
| | | ||||||
| * | Log refcounts in upcall_vec_grow. | Graydon Hoare | 2011-04-28 | 1 | -4/+4 | |
| | | ||||||
| * | Enable typestate_check | Tim Chevalier | 2011-04-28 | 1 | -2/+1 | |
| | | | | | This was supposed to be in a previous commit. I don't know what happened. | |||||
| * | Enable typestate_check | Tim Chevalier | 2011-04-28 | 11 | -11/+0 | |
| | | | | | | Enable typestate checking (just for uninitialized vars) and un-XFAIL the relevant tests for stage0. | |||||
| * | Add a session field to ty_ctxt and change an err to span_err | Tim Chevalier | 2011-04-28 | 3 | -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 here | Tim Chevalier | 2011-04-28 | 1 | -14/+7 | |
| | | ||||||
| * | Fix some nested patterns in rustc | Tim Chevalier | 2011-04-28 | 2 | -0/+31 | |
| | | | | | | | 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. | |||||
| * | Slightly more helpful error message for "null lib handle" | Tim Chevalier | 2011-04-28 | 1 | -1/+2 | |
| | | | | | | I changed the error message to also suggest checking the -L flag when this happens. | |||||
| * | Fix nested patterns in rustboot | Tim Chevalier | 2011-04-28 | 1 | -16/+34 | |
| | | | | | | | | | | | The code for taking pattern-bound variables was being interspersed with pattern code, so that if a nested pattern failed partway through, a variable would be taken but never dropped (because the drop code is inside the block representing the action for the pattern). For example, in the pattern foo(?i, bar(some[t](_)), _), if the scrutinee was foo(x, bar(none[t]), y), the variable i would be taken but never dropped. The patch fixes this bug. | |||||
| * | Fix bug in handling of expr_alt (postcond for alts was being intersected ↵ | Tim Chevalier | 2011-04-28 | 2 | -52/+136 | |
| | | | | | with postcond for scrutinee) | |||||
| * | Fixed bug in typeck that wasn't filling in anns for stmts | Tim Chevalier | 2011-04-28 | 3 | -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 typestate | Tim Chevalier | 2011-04-28 | 4 | -12/+274 | |
| | | | | | | | | | | | | | 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 | 6 | -131/+483 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 backtraces | Rafael Ávila de Espíndola | 2011-04-28 | 2 | -3/+35 | |
| | | | | | | | | | | | | | | | | | | 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 Hoare | 2011-04-28 | 1 | -4/+36 | |
| | | ||||||
| * | rustc: Joseph and the Amazing Technicolor Error Messages | Patrick Walton | 2011-04-28 | 1 | -21/+20 | |
| | | ||||||
| * | stdlib: Use an unsafe cast to speed up the memory writer | Patrick Walton | 2011-04-27 | 1 | -1/+11 | |
| | | ||||||
| * | stdlib/rt: Add an unsafe function to cast immutable vectors to mutable ones | Patrick Walton | 2011-04-27 | 3 | -0/+12 | |
| | | ||||||
| * | rt: Add str_vec to the def file. Puts out burning tinderbox. | Patrick Walton | 2011-04-27 | 1 | -0/+1 | |
| | | ||||||
| * | 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. | |||||
| * | Fix _str.bytes to trivial version. | Graydon Hoare | 2011-04-27 | 2 | -4/+28 | |
| | | ||||||
| * | stdlib: Real fix for _uint.parse_buf(). | Patrick Walton | 2011-04-27 | 1 | -0/+8 | |
| | | ||||||
| * | stdlib: Fix a crazy underflow bug in _uint.parse_buf. Oops. | Patrick Walton | 2011-04-27 | 1 | -3/+2 | |
| | | ||||||
| * | 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 | |
| | | ||||||