about summary refs log tree commit diff
path: root/src/comp
AgeCommit message (Collapse)AuthorLines
2011-07-26Properly parse 'auto' for loop variable typesMarijn Haverbeke-1/+1
2011-07-26Remove all uses of tuples from the compiler and stdlibMarijn Haverbeke-571/+590
2011-07-26Make the pretty-printer output new-style syntax for recordsMarijn Haverbeke-9/+8
2011-07-26Make the pretty-printer output new-style syntax for local declsMarijn Haverbeke-11/+8
2011-07-26Add support for new-style local declsMarijn Haverbeke-0/+33
let x = 5; let y: int = 10; // as soon as a typestate bug is fixed: let x: str = foo, y <- 20u; 'auto' and 'type-first let' will soon be dropped.
2011-07-25Correct input coordinate tracking on block-opening brace.Graydon Hoare-5/+5
2011-07-25Recognize and preserve first blank line if first line of file.Graydon Hoare-5/+13
2011-07-25Rename the block type to be blk also. Sorry.Michael Sullivan-82/+83
2011-07-25Adjust pp interface to that printing a crate (an reproducing ↵Graydon Hoare-6/+11
literals/comments) takes a reader, not just a filename. Fixes first big pp-fuzzer bug.
2011-07-25Disallow block as a variable name in preparation for it becoming a keyword.Michael Sullivan-47/+48
2011-07-25Add support for bracey record types and literalsMarijn Haverbeke-8/+46
type foo = {mutable x: int, y: int}; auto myfoo = {mutable x: 10, y: 20u}; The old syntax is also still supported.
2011-07-25Add look-ahead to parser objectMarijn Haverbeke-34/+48
2011-07-25Make the lexer slightly less statefulMarijn Haverbeke-29/+25
2011-07-25Remove some rustboot-ismsMarijn Haverbeke-23/+13
Closes #464
2011-07-25Tie up the ends needed to get external consts workingMarijn Haverbeke-24/+17
Closes #658
2011-07-25Fix span information returned by parser::parse_seqMarijn Haverbeke-35/+33
Its hi pos used to be the end of the token after the sequence. It now properly reports the end of the closing token.
2011-07-25Add a pass that checks for unreachable alt armsMarijn Haverbeke-2/+105
2011-07-23Add `--expand` option to rustc to pretty-print expanded code.Paul Stansifer-7/+20
2011-07-22Overhaul how we handle freevars.Michael Sullivan-26/+39
2011-07-22Simple cleanup of the freevars pass.Michael Sullivan-5/+5
2011-07-22Add a "fake" def_upvar and mechanisms to create it.Michael Sullivan-4/+23
2011-07-22Implement Macro By Example.Paul Stansifer-210/+609
2011-07-22Fixing (or at least improving) translation of move semantics for send and ↵Eric Holk-8/+5
receive. This let's us run all of the task-comm tests.
2011-07-22Folding recv_val into trans_recv, since this is its only use.Eric Holk-11/+7
2011-07-22Remove typechecker work-arounds now that I know howMarijn Haverbeke-3/+2
2011-07-22Start adding support for multiple variable declarations per stmtMarijn Haverbeke-46/+81
This adds parser support and most of the machinery for auto x = 10, y = 20; However, the above still goes wrong somewhere in typestate, causing the state checker to believe only the last variable in the list is initialized after the statement. Tim, if you have a moment, could you go over the changes to the tstate code in this patch and see where I'm going wrong? Multi-var-decls without the typestate extension Add a loop
2011-07-22Rewrite trans_cast, float->float and float->int castsMarijn Haverbeke-50/+73
2011-07-22Report unresolved names only once per functionMarijn Haverbeke-32/+52
Closes #708
2011-07-22Fix unboxing in alias passMarijn Haverbeke-15/+27
The alias checker would only deref once for autoderef, and only deref boxes. It should now do the right thing. Closes #725.
2011-07-21Removing unnecessary argument from process_fwding_mthd().Lindsey Kuper-6/+1
2011-07-21Clean up build_environment by having it return a rec with usefully named fields.Michael Sullivan-7/+5
2011-07-21Add some useful functions to freevars.Michael Sullivan-2/+25
2011-07-21Add some support for using a map like a set.Michael Sullivan-0/+5
2011-07-21Move a bunch of trans into trans_common, including the context structures.Michael Sullivan-388/+369
Probably more should be moved or split off into other files. My algorithm was something along the lines of: move the contexts and their transitive dependencies along with some functions to work with them. I stopped when I was going to have to start pulling glue generation, which really should go into a trans_glue file.
2011-07-21Make ty::ctxt be boxed.Michael Sullivan-50/+45
Arguably we should leave ty_ctxt as a bare rec and just always work with boxes of it. This winds up being simpler and prettier, though.
2011-07-21Instantiate function preconditions inside the function bodyTim Chevalier-6/+53
so that if we have a function like: f(...) : p(x) { ... } p(x) is true inside the body of f. Closes #694.
2011-07-21Move ast_constr_to_constr from typeck to tyTim Chevalier-22/+24
so that it can be used in places that import ty.
2011-07-21Now with more type inference.Lindsey Kuper-43/+42
2011-07-21Comments and cleanup.Lindsey Kuper-4/+3
2011-07-21Consolidate obj_field_from_anon_obj_field().Lindsey Kuper-10/+8
2011-07-21Remove vestiges of typarams from anon objs.Lindsey Kuper-77/+35
2011-07-21Improving move semantics for channel operations.Eric Holk-4/+5
This lets us un-XFAIL task-comm-10.rs.
2011-07-21Lots of work on memory tracking and channels.Eric Holk-55/+59
We're trying to get closer to doing correct move semantics for channel operations. This involves a lot of cleanup (such as removing the unused sched parameter from rust_vec constructor) and making circular_buffer kernel_owned. Added tagging for memory allocations. This means we give a string tag to everything we allocate. If we leak something and TRACK_ALLOCATIONS is enabled, then it's much easier now to tell exactly what is leaking.
2011-07-21Revert "rustc: Avoid SHA-1 hashing every type, since they're interned"Patrick Walton-9/+29
This reverts commit df90f57a5f76059394abd8328d30003b844cb497.
2011-07-21rustc: Box raw types. Shaves about 5 seconds off compilation.Patrick Walton-17/+17
2011-07-21rustc: Avoid SHA-1 hashing every type, since they're internedPatrick Walton-29/+9
2011-07-21Make the pretty-printer output paren-free and case-free codeMarijn Haverbeke-19/+19
We should probably do another pretty-printing pass soon.
2011-07-20rustc: Remove cnames for nowPatrick Walton-1/+2
2011-07-20rustc: Strip cnames before generating glue to avoid duplicatesPatrick Walton-2/+11
2011-07-20rustc: Translate functions only oncePatrick Walton-0/+1