| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | 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 | |
| | | ||||||
| * | Fix the interaction between various flags in #fmt | Brian Anderson | 2011-04-26 | 2 | -9/+29 | |
| | | ||||||
| * | Support octal #fmt conversions | Brian Anderson | 2011-04-26 | 3 | -0/+25 | |
| | | ||||||
| * | Make #fmt char conversions behave like printf | Brian Anderson | 2011-04-26 | 2 | -3/+6 | |
| | | ||||||
| * | Speed up calls to get_tydesc and kill cname-redundant glue generation. | Graydon Hoare | 2011-04-26 | 1 | -16/+29 | |
| | | ||||||
| * | Disable frame-pointer elimination (not sure how this didn't get commited ↵ | Graydon Hoare | 2011-04-26 | 1 | -0/+5 | |
| | | | | | before). | |||||
| * | Merge branch 'master' of ssh://github.com/graydon/rust | Graydon Hoare | 2011-04-26 | 6 | -127/+392 | |
| |\ | ||||||
| | * | rustc: Cap ridiculous type name sizes | Patrick Walton | 2011-04-26 | 1 | -1/+3 | |
| | | | ||||||
| | * | stdlib: Add a silly ANSI color library | Patrick Walton | 2011-04-26 | 2 | -0/+55 | |
| | | | ||||||
| | * | 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. | |||||
| | * | Add GetOpts module to std | Marijn Haverbeke | 2011-04-26 | 2 | -0/+250 | |
| | | | ||||||
| | * | Add _str.slice to std lib | Marijn Haverbeke | 2011-04-26 | 1 | -2/+6 | |
| | | | ||||||
| * | | 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 | |
| | | ||||||
| * | Skip likely-zero initial probe, speed up map.rs. | Graydon Hoare | 2011-04-25 | 1 | -5/+5 | |
| | | ||||||
| * | Fix busted iter/put code. Un-XFAIL foreach-box-drop.rs. | Graydon Hoare | 2011-04-23 | 2 | -97/+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 | |
| | | ||||||
| * | Use -c in the Makefiles. | Rafael Ávila de Espíndola | 2011-04-22 | 1 | -0/+1 | |
| | | ||||||