about summary refs log tree commit diff
path: root/src/comp
AgeCommit message (Collapse)AuthorLines
2011-04-28Further work on typestate_checkTim Chevalier-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.
2011-04-28Add a very minimal set of .cfi_* statements to get part of backtracesRafael Ávila de Espíndola-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 ()
2011-04-28Actually perform take/drop on args (oh my!)Graydon Hoare-4/+36
2011-04-28rustc: Joseph and the Amazing Technicolor Error MessagesPatrick Walton-21/+20
2011-04-27Use cnames when present in ty.ty_to_str.Graydon Hoare-10/+10
2011-04-27Cache sha1 values of types, use seq-based mangling for glue as it's private ↵Graydon Hoare-10/+17
anyways.
2011-04-27Partly disable simplified-type glue optimization due to compile-time cost.Graydon Hoare-1/+11
2011-04-26rustc: Ignore the return value of native functions that return nil. stage1 ↵Patrick Walton-1/+10
can build libstd now, though it leaks.
2011-04-26rustc: Actually write the optimized bitcode when --save-temps is onPatrick Walton-12/+13
2011-04-26Support octal #fmt conversionsBrian Anderson-0/+7
2011-04-26Speed up calls to get_tydesc and kill cname-redundant glue generation.Graydon Hoare-16/+29
2011-04-26Merge branch 'master' of ssh://github.com/graydon/rustGraydon Hoare-125/+81
2011-04-26Various bits of trans lint, nothing major.Graydon Hoare-25/+36
2011-04-26rustc: Cap ridiculous type name sizesPatrick Walton-1/+3
2011-04-26Change rustc to use GetOpts rather than ad-hoc command-line parsingMarijn Haverbeke-124/+78
NOTE: all 'long' parameters now use a double dash, so --shared, rather than gcc-style -shared.
2011-04-25rustc: Add a missing return value to Collect.ty_of_item()Patrick Walton-1/+3
2011-04-25A little more guarding against wasted work in ty, typeck.Graydon Hoare-2/+19
2011-04-25rustc: Use the abbreviated type names to avoid LLVM bitcode size explosionPatrick Walton-5/+11
2011-04-25Kick ty_var and ty_local entries out of the type store. Pre-compute presence ↵Graydon Hoare-72/+183
of var, local, param and bound_params in types.
2011-04-25rustc: Add a -save-temps option to save bitcode and write output ↵Patrick Walton-11/+64
simultaneously; document command line switches
2011-04-25rustc: Pass a "type context" around instead of directly passing the type ↵Patrick Walton-833/+786
store; prep for removing type annotations
2011-04-25Avoid type_store hashtable access for a variety of cases, probably only ↵Graydon Hoare-45/+168
ty_var matters.
2011-04-25Skip substitution and/or binding when there's no work to do.Graydon Hoare-0/+34
2011-04-25Bind tag members as aliases rather than new locals.Graydon Hoare-19/+18
2011-04-23Fix busted iter/put code. Un-XFAIL foreach-box-drop.rs.Graydon Hoare-95/+94
2011-04-22rustc: Use a silly "magic numbers" hack; seems to speed things up a bit.Patrick Walton-2/+41
2011-04-22rustc: Include the cname in the hash to increase entropyPatrick Walton-1/+10
2011-04-22rustc: Thread the type store through everything that needs to access type ↵Patrick Walton-383/+412
structures
2011-04-22rustc: Move the type serialization logic to an Encode modulePatrick Walton-97/+108
2011-04-22rustc: Remove direct access to the cname field of typesPatrick Walton-4/+7
2011-04-22rustc: Switch @ty.t to ty.t so that we can change it to a uintPatrick Walton-423/+424
2011-04-22rustc: Eliminate the direct use of ty.t.structPatrick Walton-111/+118
2011-04-22Dispose the module.Rafael Ávila de Espíndola-0/+1
Thanks to brson for noticing it.
2011-04-22rustc: Add a fast path when the types to be unified are exactly equalPatrick Walton-0/+3
2011-04-22rustc: Add a fast path if there are no type substitutions to be madePatrick Walton-2/+8
2011-04-22rustc: Improve the efficiency of lookup_item_type() slightlyPatrick Walton-7/+7
2011-04-22Switch to binary search in codemap.lookup_posMarijn Haverbeke-19/+15
Patrick observed excessive slowness when looking up positions in rustc. This might help.
2011-04-21rustc: Intern typesPatrick Walton-331/+73
2011-04-21Fix the signature of expr_extBrian Anderson-8/+8
The extension body is just a string, not an expression.
2011-04-21rustc: Add a shallow type equality function, not used yetPatrick Walton-0/+321
2011-04-21rustc: Pass a type store around, which does nothing yetPatrick Walton-440/+600
2011-04-21rustc: Make the parser never assign any types, not even ty_nilPatrick Walton-5/+4
2011-04-21rustc: Get rid of boring_ann(); it duplicates plain_ann()Patrick Walton-17/+14
2011-04-21rustc: Create a unification contextPatrick Walton-99/+75
2011-04-21rustc: Move ty.unify to a separate namespacePatrick Walton-46/+50
2011-04-21Change ty.eq_ty to avoid stringification.Graydon Hoare-43/+304
2011-04-20rustc: Create an item collection context during typechecking; move ↵Patrick Walton-170/+136
collection to a module
2011-04-20Fix walk bug that coupled with marijns work to regress stage1.Graydon Hoare-4/+3
2011-04-20rustc: Add a type unification cachePatrick Walton-3/+63
2011-04-20rustc: Define type hashing inductivelyPatrick Walton-12/+97