| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | 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 | 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 | 2 | -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_check | Tim Chevalier | 2011-04-28 | 3 | -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 backtraces | Rafael Ávila de Espíndola | 2011-04-28 | 1 | -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 Hoare | 2011-04-28 | 1 | -4/+36 |
| | | |||||
| * | rustc: Joseph and the Amazing Technicolor Error Messages | Patrick Walton | 2011-04-28 | 1 | -21/+20 |
| | | |||||
| * | 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 |
| | | |||||
| * | Support octal #fmt conversions | Brian Anderson | 2011-04-26 | 1 | -0/+7 |
| | | |||||
| * | 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 | 2 | -125/+81 |
| |\ | |||||
| | * | rustc: Cap ridiculous type name sizes | Patrick Walton | 2011-04-26 | 1 | -1/+3 |
| | | | |||||
| | * | Change rustc to use GetOpts rather than ad-hoc command-line parsing | Marijn Haverbeke | 2011-04-26 | 1 | -124/+78 |
| | | | | | | | | | | | NOTE: all 'long' parameters now use a double dash, so --shared, rather than gcc-style -shared. | ||||
| * | | 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 | 2 | -11/+64 |
| | | | | | simultaneously; document command line switches | ||||
| * | rustc: Pass a "type context" around instead of directly passing the type ↵ | Patrick Walton | 2011-04-25 | 7 | -833/+786 |
| | | | | | 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 |
| | | |||||
| * | rustc: Include the cname in the hash to increase entropy | Patrick Walton | 2011-04-22 | 1 | -1/+10 |
| | | |||||
| * | rustc: Thread the type store through everything that needs to access type ↵ | Patrick Walton | 2011-04-22 | 5 | -383/+412 |
| | | | | | structures | ||||
| * | rustc: Move the type serialization logic to an Encode module | Patrick Walton | 2011-04-22 | 2 | -97/+108 |
| | | |||||
| * | rustc: Remove direct access to the cname field of types | Patrick Walton | 2011-04-22 | 1 | -4/+7 |
| | | |||||
| * | rustc: Switch @ty.t to ty.t so that we can change it to a uint | Patrick Walton | 2011-04-22 | 7 | -423/+424 |
| | | |||||
| * | rustc: Eliminate the direct use of ty.t.struct | Patrick Walton | 2011-04-22 | 5 | -111/+118 |
| | | |||||
| * | Dispose the module. | Rafael Ávila de Espíndola | 2011-04-22 | 1 | -0/+1 |
| | | | | | Thanks to brson for noticing it. | ||||
| * | rustc: Add a fast path when the types to be unified are exactly equal | Patrick Walton | 2011-04-22 | 1 | -0/+3 |
| | | |||||
| * | rustc: Add a fast path if there are no type substitutions to be made | Patrick Walton | 2011-04-22 | 1 | -2/+8 |
| | | |||||
| * | rustc: Improve the efficiency of lookup_item_type() slightly | Patrick Walton | 2011-04-22 | 1 | -7/+7 |
| | | |||||
| * | Switch to binary search in codemap.lookup_pos | Marijn Haverbeke | 2011-04-22 | 1 | -19/+15 |
| | | | | | | Patrick observed excessive slowness when looking up positions in rustc. This might help. | ||||
| * | rustc: Intern types | Patrick Walton | 2011-04-21 | 3 | -331/+73 |
| | | |||||
| * | Fix the signature of expr_ext | Brian Anderson | 2011-04-21 | 5 | -8/+8 |
| | | | | | The extension body is just a string, not an expression. | ||||
| * | rustc: Add a shallow type equality function, not used yet | Patrick Walton | 2011-04-21 | 1 | -0/+321 |
| | | |||||
| * | rustc: Pass a type store around, which does nothing yet | Patrick Walton | 2011-04-21 | 7 | -440/+600 |
| | | |||||
| * | rustc: Make the parser never assign any types, not even ty_nil | Patrick Walton | 2011-04-21 | 1 | -5/+4 |
| | | |||||
| * | rustc: Get rid of boring_ann(); it duplicates plain_ann() | Patrick Walton | 2011-04-21 | 1 | -17/+14 |
| | | |||||
| * | rustc: Create a unification context | Patrick Walton | 2011-04-21 | 1 | -99/+75 |
| | | |||||
| * | rustc: Move ty.unify to a separate namespace | Patrick Walton | 2011-04-21 | 2 | -46/+50 |
| | | |||||