| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2011-06-15 | Refactor data structures representing constraints (again...) | Tim Chevalier | -5/+5 | |
| I added a "resolved" version of the ast::constr type -- ty::constr_def -- that has a def_id field instead of an ann_field. This is more consistent with other types and eliminates some checking. Incidentally, I removed the def_map argument to the top-level function in middle::alias, since the ty::ctxt already has a def_map field. | ||||
| 2011-06-15 | Add support for producing shared libraries directly in the rust driver. | Rafael Ávila de Espíndola | -22/+19 | |
| 2011-06-15 | Reformat source tree (minus a couple tests that are still grumpy). | Graydon Hoare | -319/+217 | |
| 2011-06-14 | Apply the makefile changes again, this time fixin the driver to not produce a | Rafael Ávila de Espíndola | -5/+3 | |
| rustc.exe.exe. | ||||
| 2011-06-13 | Enough driver support to link an empty program on linux. Will | Rafael Ávila de Espíndola | -5/+16 | |
| try to update the Makefiles to use it. | ||||
| 2011-06-11 | rustc: Link with main.o | Patrick Walton | -3/+4 | |
| 2011-06-09 | Further support for predicate constraints | Tim Chevalier | -3/+4 | |
| Changed function types to include a list of constraints. Added code for parsing and pretty-printing constraints. This necessitated splitting pprust into two files (pprust and ppaux) to break a circulate dependency, as ty_to_str now needs to print out constraints, which may include literals, but pprust depended on ty. | ||||
| 2011-06-07 | rustc: Use a set-based approach to unification; remove ty_bound_param and ↵ | Patrick Walton | -1/+1 | |
| ty_local. Sorry, big perf regression; will fix soon. | ||||
| 2011-06-07 | More work on proper linkage name-mangling. Almost right, aside from version ↵ | Graydon Hoare | -15/+28 | |
| numbers. | ||||
| 2011-06-06 | First take on an alias-safety checker | Marijn Haverbeke | -0/+3 | |
| The alias checker works by ensuring that any value to which an alias is created is rooted in some way that ensures it outlives the alias. It is now disallowed to create an alias to the content of a mutable box, or to a box hanging off a mutable field. There is also machinery in place to prevent assignment to local variables whenever they are the root of a live alias. | ||||
| 2011-06-01 | rustc: Add a new mode to the pretty printer that prints out node IDs, for ↵ | Patrick Walton | -3/+6 | |
| debugging | ||||
| 2011-06-01 | rustc: Remove else-after-return in main | Patrick Walton | -21/+21 | |
| 2011-06-01 | rustc: Fold --pretty and --typed-pretty into a single option with an ↵ | Patrick Walton | -17/+39 | |
| optional argument | ||||
| 2011-05-31 | Now imports are not re-exported unless 'export' is explicitly used. | Paul Stansifer | -3/+3 | |
| 2011-05-31 | rustc: Remove unneeded type params from alt patterns | Brian Anderson | -4/+4 | |
| 2011-05-26 | Add a span_str function in session | Tim Chevalier | -4/+12 | |
| 2011-05-26 | Remove residual uses of fold, and fold itself. | Graydon Hoare | -3/+0 | |
| 2011-05-26 | Add early returns to rustc main on non-compiling paths. | Graydon Hoare | -0/+2 | |
| 2011-05-22 | rustc: More cleanup of rustc.rs | Brian Anderson | -65/+61 | |
| 2011-05-22 | rustc: Some refactoring of rustc.rs | Brian Anderson | -46/+63 | |
| 2011-05-22 | rustc: Cleanup formatting in rustc.rs | Brian Anderson | -16/+12 | |
| 2011-05-20 | Annotate erroring functions in session and parser | Tim Chevalier | -6/+6 | |
| 2011-05-20 | Options fix from erickt. | Graydon Hoare | -1/+1 | |
| 2011-05-19 | Move type cache and node type table into type context. | Graydon Hoare | -12/+9 | |
| 2011-05-19 | OptLevel changes. Accepts levels 0 to 3 only. '-O' is synonym for --OptLevel=2. | Graydon Hoare | -7/+40 | |
| 2011-05-19 | Typestate checking code no longer uses fold -- only walk. | Tim Chevalier | -3/+3 | |
| 2011-05-17 | rustc: Have typechecking no longer rebuild the AST | Patrick Walton | -3/+1 | |
| 2011-05-17 | rustc: Add a typed pretty-printing mode for debugging | Patrick Walton | -8/+24 | |
| 2011-05-17 | rustc: Make return value checking warnings a little prettier. Also introduce ↵ | Patrick Walton | -0/+5 | |
| a new "note" diagnostic level. | ||||
| 2011-05-17 | Finally rename std::_xxx to std::xxx | Marijn Haverbeke | -25/+25 | |
| Except for _task, which is still a keyword. | ||||
| 2011-05-16 | Merge remote branch 'origin/master' into HEAD | Graydon Hoare | -14/+20 | |
| Conflicts: src/comp/middle/trans.rs | ||||
| 2011-05-16 | Rewrite everything to use [] instead of vec() in value position. | Graydon Hoare | -22/+22 | |
| 2011-05-16 | Fix get_os and get_arch | Tim Chevalier | -12/+17 | |
| get_os and get_arch were failing to return a value in the error case; they were also assuming that strings are indexed from 1. No idea how they ever worked, but anyway, fixed. | ||||
| 2011-05-16 | Started adding support for return checking and non-returning function ↵ | Tim Chevalier | -2/+3 | |
| annotations * Reorganized typestate into several modules. * Made typestate check that any function with a non-nil return type returns a value. For now, the check is a warning and not an error (see next item). * Added a "bot" type (prettyprinted as _|_), for constructs like be, ret, break, cont, and fail that don't locally return a value that can be inspected. "bot" is distinct from "nil". There is no concrete syntax for _|_, while the concrete syntax for the nil type is (). * Added support to the parser for a ! annotation on functions whose result type is _|_. Such a function is required to have either a fail or a call to another ! function that is reached in all control flow paths. The point of this annotation is to mark functions like unimpl() and span_err(), so that an alt with a call to err() in one case isn't a false positive for the return-value checker. I haven't actually annotated anything with it yet. * Random bugfixes: * * Fixed bug in trans::trans_binary that was throwing away the cleanups for nested subexpressions of an and or or (tests: box-inside-if and box-inside-if2). ** In typeck, unify the expected type arguments of a tag with the actual specified arguments. | ||||
| 2011-05-16 | Replace --bitcode with the canonical --emit-llvm | Kelly Wilson | -3/+3 | |
| 2011-05-16 | Add automatic exe generation capabilities. Add --bitcode flag to generate ↵ | Kelly Wilson | -2/+68 | |
| only an LLVM bitcode file. | ||||
| 2011-05-13 | rustc: lowercase the link and link::write modules | Brian Anderson | -13/+13 | |
| 2011-05-13 | Fix naming of libc that was mangled by recent module changes | Brian Anderson | -3/+3 | |
| It doesn't appear that rustc makes use of these strings so it didn't actually break anything yet. | ||||
| 2011-05-13 | Move capture checking into resolve.rs | Marijn Haverbeke | -3/+0 | |
| Drops capture.rs. The new algorithm also checks for captures function arguments and obj fields. | ||||
| 2011-05-13 | Change resolve to use walk instead of fold | Marijn Haverbeke | -4/+2 | |
| Possibly, at some point, we should add a state-passing variant of walk, or a wrapper that makes it easier to thread state. (See the repetetive pop_state_for_* functions in this commit.) | ||||
| 2011-05-12 | rustc: Pass a node type table around, unused as of yet | Patrick Walton | -2/+4 | |
| 2011-05-12 | Add stats option and lazily emit glue. | Graydon Hoare | -0/+5 | |
| 2011-05-12 | Downcase std modules again, move to :: for module dereferencing | Marijn Haverbeke | -159/+160 | |
| This should be a snapshot transition. | ||||
| 2011-05-12 | Keep resolve data in external hash table, rather than embedded defs | Marijn Haverbeke | -12/+14 | |
| One step closer to removing fold and having a single, immutable AST. Resolve still uses fold, because it has to detect and transform expr_field expressions. If we go through on our plan of moving to a different syntax for module dereferencing, the parser can spit out expr_field expressions, and resolve can move to walk. (I am truly sorry for the things I did in typestate_check.rs. I expect we'll want to change that to walk as well in the near future, at which point it should probably pass around a context record, which could hold the def_map.) | ||||
| 2011-05-11 | Give the lexer a session so that it can fail more informatively | Brian Anderson | -1/+1 | |
| 2011-05-11 | Use a const for crate-num-zero (ast.local_crate) | Marijn Haverbeke | -2/+2 | |
| 2011-05-10 | rustc: Make -g not take an argument | Patrick Walton | -1/+1 | |
| 2011-05-10 | Add --time-llvm-passes. | Graydon Hoare | -2/+6 | |
| 2011-05-06 | Rename std modules to be camelcased | Marijn Haverbeke | -46/+46 | |
| (Have fun mergining your stuff with this.) | ||||
| 2011-05-06 | Ge the host triple using LLVM. Fix a few 'mutable' warnings also. | Kelly Wilson | -8/+26 | |
