aboutsummaryrefslogtreecommitdiff
path: root/src/comp/driver
Commit message (Collapse)AuthorAgeFilesLines
* rustc: lowercase the link and link::write modulesBrian Anderson2011-05-132-13/+13
|
* Fix naming of libc that was mangled by recent module changesBrian Anderson2011-05-131-3/+3
| | | | | It doesn't appear that rustc makes use of these strings so it didn't actually break anything yet.
* Move capture checking into resolve.rsMarijn Haverbeke2011-05-131-3/+0
| | | | | Drops capture.rs. The new algorithm also checks for captures function arguments and obj fields.
* Change resolve to use walk instead of foldMarijn Haverbeke2011-05-131-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.)
* rustc: Pass a node type table around, unused as of yetPatrick Walton2011-05-121-2/+4
|
* Add stats option and lazily emit glue.Graydon Hoare2011-05-122-0/+5
|
* Downcase std modules again, move to :: for module dereferencingMarijn Haverbeke2011-05-122-159/+160
| | | | This should be a snapshot transition.
* Keep resolve data in external hash table, rather than embedded defsMarijn Haverbeke2011-05-121-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.)
* Give the lexer a session so that it can fail more informativelyBrian Anderson2011-05-111-1/+1
|
* Use a const for crate-num-zero (ast.local_crate)Marijn Haverbeke2011-05-111-2/+2
|
* rustc: Make -g not take an argumentPatrick Walton2011-05-101-1/+1
|
* Add --time-llvm-passes.Graydon Hoare2011-05-102-2/+6
|
* Rename std modules to be camelcasedMarijn Haverbeke2011-05-062-46/+46
| | | | (Have fun mergining your stuff with this.)
* Ge the host triple using LLVM. Fix a few 'mutable' warnings also.Kelly Wilson2011-05-061-8/+26
|
* Use #env to bake a git revision string into rustc's --version output.Graydon Hoare2011-05-061-4/+5
|
* Add --help, --version and -v flags (not yet supporting GIT_REV env var, ↵Graydon Hoare2011-05-051-4/+23
| | | | waiting on snapshot).
* rustc: Add a Link module; move crate writing to it to slim down trans slightlyPatrick Walton2011-05-052-15/+16
|
* rustc: Detect the system root and allow the user to override if necessaryPatrick Walton2011-05-042-4/+22
|
* Add a structure for passing option flags around the compiler, put it in ↵Graydon Hoare2011-05-042-59/+83
| | | | session, and use it.
* Support new -g flag, only mangle glue names by type when it's passed.Graydon Hoare2011-05-041-10/+14
|
* Start sketching --depend support in rustc.Graydon Hoare2011-05-031-0/+1
|
* rustc: Time the Rust translation and LLVM passes separatelyPatrick Walton2011-05-021-3/+8
|
* rustc: Preserve dots in input path when using an implicit output pathBrian Anderson2011-05-011-2/+2
| | | | This avoids outputing, e.g. /test.bc for ../test.rs
* rustc: Temporarily add a switch and a corresponding makefile variable to ↵Patrick Walton2011-04-291-5/+12
| | | | disable typestate
* rustc: Add a --time-passes optionPatrick Walton2011-04-291-13/+41
|
* rustc: Remove the wrong-compiler warning; we're self-hosting now.Patrick Walton2011-04-291-12/+1
|
* rustc: Only use color if it's supportedPatrick Walton2011-04-281-2/+10
|
* Enable typestate_checkTim Chevalier2011-04-281-2/+1
| | | | This was supposed to be in a previous commit. I don't know what happened.
* Add a session field to ty_ctxt and change an err to span_errTim Chevalier2011-04-281-2/+2
| | | | | | | I changed instantiate to print out a more helpful error message, which required passing it a session argument. To avoid threading extra arguments through a lot of functions, I added a session field to ty_ctxt.
* rustc: Joseph and the Amazing Technicolor Error MessagesPatrick Walton2011-04-281-21/+20
|
* Change rustc to use GetOpts rather than ad-hoc command-line parsingMarijn Haverbeke2011-04-261-124/+78
| | | | | NOTE: all 'long' parameters now use a double dash, so --shared, rather than gcc-style -shared.
* rustc: Add a -save-temps option to save bitcode and write output ↵Patrick Walton2011-04-251-5/+15
| | | | simultaneously; document command line switches
* rustc: Pass a "type context" around instead of directly passing the type ↵Patrick Walton2011-04-251-3/+3
| | | | store; prep for removing type annotations
* rustc: Pass a type store around, which does nothing yetPatrick Walton2011-04-211-3/+6
|
* rustc: Add a -noverify optionPatrick Walton2011-04-191-5/+11
|
* Remove effect system from src.Graydon Hoare2011-04-191-4/+4
|
* replace error logging with log_err in stdlib and rustcMarijn Haverbeke2011-04-192-35/+34
|
* Add a -c option.Rafael Ávila de Espíndola2011-04-181-0/+2
|
* collect crate meta info and ext crate namesMarijn Haverbeke2011-04-182-5/+15
|
* Add a -S option for producing assembly. I will move more of it toRafael Ávila de Espíndola2011-04-151-9/+12
| | | | rust once the necessary APIs are available in C.
* Implement the "attempted dynamic environment-capture" error in rustc.Rafael Ávila de Espíndola2011-04-111-0/+2
|
* Move to single-uint file-position representation.Marijn Haverbeke2011-04-092-13/+30
| | | | | | | | This makes passing them around cheaper. There is now a table (see front/codemap.rs) that is needed to transform such an uint into an actual filename/line/col location. Also cleans up the span building in the parser a bit.
* add a -parse-only option to rustcMarijn Haverbeke2011-04-081-2/+9
| | | | (undocumented, only used for profiling the parser)
* Add a very basic crate-dump utilityMarijn Haverbeke2011-04-071-2/+7
| | | | | 'rustc -ls [cratelib]' will now dump out a list of symbols defined by the crate, as well as a short description of what they are.
* Add a -O option and change the Makefile to use it.Rafael Ávila de Espíndola2011-04-071-5/+11
|
* Re-enable typestate_check in build, was lost during merge. Sorry.Graydon Hoare2011-04-011-1/+1
|
* Comment out import for not-yet-compiling typestate_check.Graydon Hoare2011-04-011-1/+1
|
* Started adding support for typestate checking.Tim Chevalier2011-04-011-2/+3
| | | | | | | | | | | | | | | 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.
* Preserve comments when pretty-printing.Marijn Haverbeke2011-03-311-1/+1
| | | | | The patch also includes a number of smaller fixes to the pretty-printer that were encountered on the way.
* rustc: Thread an item-to-type mapping throughout the typechecking and ↵Patrick Walton2011-03-301-2/+7
| | | | translation phases