aboutsummaryrefslogtreecommitdiff
path: root/src/comp/util
Commit message (Collapse)AuthorAgeFilesLines
* Continued sketching out code for checking states against preconditions.Tim Chevalier2011-04-061-4/+47
| | | | | | | | | It's still sketchy. I added a typestate annotation field to statements tagged stmt_decl or stmt_expr, because a stmt_decl statement has a typestate that's different from that of its child node. This necessitated trivial changes to a bunch of other files all over to the compiler. I also added a few small standard library functions, some of which I didn't actually end up using but which I thought might be useful anyway.
* More work on typestate. Sketched out code for computing and checking ↵Tim Chevalier2011-04-061-5/+24
| | | | prestates and poststates. Still a long ways away.
* Started adding support for typestate checking.Tim Chevalier2011-04-011-0/+61
| | | | | | | | | | | | | | | I added a new field to the ast "ann" type for typestate information. Currently, the field contains a record of a precondition bit vector and postcondition vector, but I tried to structure things so as to make it easy to change the representation of the typestate annotation type. I also had to add annotations to some syntactic forms that didn't have them before (fail, ret, be...), with all the boilerplate changes that that would imply. The main call to the typestate_check entry point is commented out and the actual pre-postcondition algorithm only has a few cases implemented, though the overall AST traversal is there. The rest of the typestate algorithm isn't implemented yet.
* rustc: Mix the bits more when hashing def idsPatrick Walton2011-03-311-9/+8
|
* Another go at changing compile-command, this time using RBUILD env var.Graydon Hoare2011-03-251-1/+1
|
* Revert "Bulk-edit compile commands in emacs chatter to point to assumed ↵Graydon Hoare2011-03-251-1/+1
| | | | | | build/ dir off src root." This reverts commit 846f2e2ba994268725f38c36fa12f1a09f21615c.
* Bulk-edit compile commands in emacs chatter to point to assumed build/ dir ↵Graydon Hoare2011-03-251-1/+1
| | | | off src root.
* rustc: Create a crate metadata cachePatrick Walton2011-03-251-0/+8
|
* Switch all vases of vec += elt to vec += vec. Prohibit former in rustboot. ↵Graydon Hoare2011-03-161-9/+0
| | | | Tweak std lib vec fns in process.
* rustc: Expose common.def_eq().Patrick Walton2011-03-081-5/+5
|
* Add a type for crate directives, to support intermixing with exprs in crate ↵Graydon Hoare2011-02-231-1/+3
| | | | files.
* Make append take a mutable &. Not even checked at present, tsk tsk.Graydon Hoare2010-10-221-1/+1
|
* line length police; moved comp.util.bits to std.bitvDave Herman2010-10-211-463/+0
|
* tests and bugfixes: fns take aliases, fixed binary arithmetic in create, ↵Dave Herman2010-10-211-29/+318
| | | | eliminated wasted bit per uint
* simpler computation of uint_bits(), plus whitespace policeDave Herman2010-10-201-13/+2
|
* created a first draft of the bit-set library needed for typestateDave Herman2010-10-201-0/+185
|
* Teach trans to allocate, initialize and load from local variables.Graydon Hoare2010-10-191-0/+19
|
* Store items and decls in vecs to preserve input order, index externally. ↵Graydon Hoare2010-10-181-0/+9
| | | | Implement block-local name lookup.
* Encode and decode tag types in dwarf properly. Add list module to std. Shift ↵Graydon Hoare2010-10-151-8/+0
| | | | rustc to use std.util.option. Fix various dependent bugs. Closes #73.
* Add input coordinate tracking to all major rustc ast nodes.Graydon Hoare2010-10-051-0/+1
|
* Teach rustc about phi nodes, block relationships. Translate if- and ↵Graydon Hoare2010-10-041-0/+8
| | | | block-expressions.
* Declare the global and upcall glues as ValueRefs in rustc's trans.Graydon Hoare2010-09-231-0/+5
|
* Begin teaching rustc to parse literals, atoms, stmts, blocks, items, ↵Graydon Hoare2010-09-211-0/+6
| | | | modules, crates.
* Bind pattern slots with ?, drop parens from 0-ary tag constructors, ↵Graydon Hoare2010-09-201-24/+24
| | | | translate 0-ary constructors as constants. Rustc loses ~300kb.
* Switch tags to purely nominal, removing TY_iso and TY_idx. Seems to mostly ↵Graydon Hoare2010-09-091-3/+14
| | | | work, possibly a little bumpy. Changes a lot.
* Add session, span tracking, error reporting, beginning of a function to ↵Graydon Hoare2010-09-011-0/+4
| | | | parse an item to rustc.
* Reinstate commit 9f0eaa65817303b8768c80454734144c176fda43 with sufficient ↵Graydon Hoare2010-08-311-4/+8
| | | | fixes to hopefully not break tinderboxes.
* Revert "More work on lexer.rs: start using keyword hashtable, handle more ↵Patrick Walton2010-08-271-8/+4
| | | | | | lexemes." due to tinderbox bustage This reverts commit 9f0eaa65817303b8768c80454734144c176fda43.
* More work on lexer.rs: start using keyword hashtable, handle more lexemes.Graydon Hoare2010-08-271-4/+8
|
* Expand rustc lexer to do almost-nearly-nontrivial stuff.Graydon Hoare2010-08-201-0/+13
|
* Add mod common to rustc.Graydon Hoare2010-08-181-0/+15