- 29 4月, 2011 7 次提交
-
-
由 Tim Chevalier 提交于
Fix bug in handling of expr_alt (postcond for alts was being intersected with postcond for scrutinee)
-
由 Tim Chevalier 提交于
(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.
-
由 Tim Chevalier 提交于
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.
-
由 Tim Chevalier 提交于
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.
-
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 ()
-
由 Graydon Hoare 提交于
-
由 Patrick Walton 提交于
-
- 28 4月, 2011 9 次提交
-
-
由 Patrick Walton 提交于
-
由 Patrick Walton 提交于
-
由 Patrick Walton 提交于
-
由 Graydon Hoare 提交于
-
由 Graydon Hoare 提交于
-
由 Graydon Hoare 提交于
-
由 Patrick Walton 提交于
-
由 Patrick Walton 提交于
-
由 Graydon Hoare 提交于
-
- 27 4月, 2011 13 次提交
-
-
由 Patrick Walton 提交于
rustc: Ignore the return value of native functions that return nil. stage1 can build libstd now, though it leaks.
-
由 Patrick Walton 提交于
-
由 Brian Anderson 提交于
-
由 Brian Anderson 提交于
-
由 Brian Anderson 提交于
-
由 Graydon Hoare 提交于
-
由 Graydon Hoare 提交于
-
-
由 Graydon Hoare 提交于
-
由 Patrick Walton 提交于
-
由 Patrick Walton 提交于
-
由 Marijn Haverbeke 提交于
NOTE: all 'long' parameters now use a double dash, so --shared, rather than gcc-style -shared.
-
由 Marijn Haverbeke 提交于
-
- 26 4月, 2011 9 次提交
-
-
由 Marijn Haverbeke 提交于
-
由 Patrick Walton 提交于
-
由 Graydon Hoare 提交于
-
由 Patrick Walton 提交于
-
由 Graydon Hoare 提交于
Kick ty_var and ty_local entries out of the type store. Pre-compute presence of var, local, param and bound_params in types.
-
由 Patrick Walton 提交于
-
由 Patrick Walton 提交于
rustc: Add a -save-temps option to save bitcode and write output simultaneously; document command line switches
-
由 Patrick Walton 提交于
rustc: Pass a "type context" around instead of directly passing the type store; prep for removing type annotations
-
由 Graydon Hoare 提交于
-
- 25 4月, 2011 2 次提交
-
-
由 Graydon Hoare 提交于
-
由 Graydon Hoare 提交于
-