about summary refs log tree commit diff
path: root/src/comp/driver/rustc.rs
AgeCommit message (Collapse)AuthorLines
2011-08-03parse_crate_from_source_str takes a parse_sess, not codemapBrian Anderson-1/+1
This was causing problems when reading from stdin for subsequent passes that needed to generate node ids.
2011-08-03Fix pretty-printer to read from files againBrian Anderson-1/+5
I accidentally made the pretty-printer always read from stdin
2011-08-02Add a --no-trans command line optionBrian Anderson-4/+12
Runs all passes before translation. This will be used for pretty-printing tests to verify that the results are still probably valid Rust code.
2011-08-02Compiler accepts input from stdin when source file is called "-"Brian Anderson-10/+32
2011-07-29Remove unreachable statementsMarijn Haverbeke-1/+1
2011-07-28Show millisecond precision for time_passes timesMarijn Haverbeke-5/+4
Closes #713
2011-07-27Remove vestiges of "layers", insert skeletal do-nothing "kind" pass plus ↵Graydon Hoare-0/+3
cached calculation of kind for each type.
2011-07-27Fix damage done by the pretty-printerMarijn Haverbeke-3/+2
2011-07-27Reformat for new syntaxMarijn Haverbeke-348/+333
2011-07-25Adjust pp interface to that printing a crate (an reproducing ↵Graydon Hoare-2/+3
literals/comments) takes a reader, not just a filename. Fixes first big pp-fuzzer bug.
2011-07-25Add a pass that checks for unreachable alt armsMarijn Haverbeke-0/+2
2011-07-23Add `--expand` option to rustc to pretty-print expanded code.Paul Stansifer-7/+20
2011-07-21Make ty::ctxt be boxed.Michael Sullivan-1/+1
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-19Beginnings of support for constrained typesTim Chevalier-4/+4
Programs with constrained types now parse and typecheck, but typestate doesn't check them specially, so the one relevant test case so far is XFAILed. Also rewrote all of the constraint-related data structures in the process (again), for some reason. I got rid of a superfluous data structure in the context that was mapping front-end constraints to resolved constraints, instead handling constraints in the same way in which everything else gets resolved.
2011-07-19Add a pass that finds all of the free variables.Michael Sullivan-2/+7
2011-07-15Merge the stage1,2,3.mk files into a common definition in stageN.mk, more ↵Graydon Hoare-1/+1
rearrangement of host/target libs.
2011-07-15rustc: Introduce a stub destination-passing-style translation engine, ↵Patrick Walton-3/+8
accessible via the --dps switch for now
2011-07-15rustc: Remove a bunch of exterior vectorsPatrick Walton-4/+11
2011-07-14rustc: Move much of metadata reading over to interior vectorsPatrick Walton-6/+6
2011-07-14Flag --test implies '--cfg test'. Issue #428Brian Anderson-6/+53
So certain code can be conditionally compiled only when building for testing
2011-07-13Make resolve and the typechecker check for a main fn of theTim Chevalier-1/+1
correct type This means if a non-library program leaves out the main program, the error gets caught earlier than link. Closes #626.
2011-07-11Move macro expansion to a separate phase, change macro syntax, and add ↵Paul Stansifer-3/+7
parse_sess to session.
2011-07-08Add just enough logic to the driver so that we can link std statically.Rafael Ávila de Espíndola-2/+10
2011-07-08Move external crate/lib resolution to its own passBrian Anderson-0/+2
The scope of external crate reading is beyond the resolve pass now, as it builds up tables of information needed for several different purposes.
2011-07-08Move used_link_args from session to cstoreBrian Anderson-2/+2
2011-07-08Move used_libraries from session to cstoreBrian Anderson-3/+4
2011-07-08Move used_crate_files from session to cstoreBrian Anderson-3/+4
2011-07-08Replace the crate cache in session with the one in cstoreBrian Anderson-2/+1
2011-07-08Introduce metadata::cstoreBrian Anderson-1/+2
I intend for this to be the location for storing all the data retrieved by creader, most of which is currently in the session.
2011-07-07Implement --lib --static.Rafael Ávila de Espíndola-8/+7
2011-07-07Use an early exit to reduce indentation.Rafael Ávila de Espíndola-72/+74
2011-07-07Command line changes for adding support for static libraries.Rafael Ávila de Espíndola-11/+13
2011-07-06Generate a main fn for test running. Issue #428Brian Anderson-1/+1
2011-07-06rustc: Make meta items into interior vectorsPatrick Walton-11/+10
2011-07-06Begin adding unit testing infrastructure to the compilerBrian Anderson-3/+10
Add a --test flag and a pass for transforming the AST to generate a test harness. Issue #428
2011-07-06Remove temporary stdlib placeholders, use actual stdlib functionsMarijn Haverbeke-1/+1
(Possible now that a snapshot took place.)
2011-07-05Change ast::meta_name_value to accept any literal, not just stringBrian Anderson-1/+1
This isn't useful for much of anything yet, since metadata::encoder doesn't know how to handle the non-string variants. Issue #611
2011-07-05Don't thread the local crate number through the sessionMarijn Haverbeke-4/+1
It's a constant, anyway.
2011-07-05Move everything syntax-related to syntax/, break deps on rest of compilerMarijn Haverbeke-30/+31
src/comp/syntax is currently just a sub-module of rustc, but it will, in the near future, be its own crate. This includes: - The AST data structure - The parser - The pretty-printer - Visit, walk, and fold - The syntax extension system - Some utility stuff that should be in the stdlib* *) Stdlib extensions currently require a snapshot before they can be used, and the win build is very broken right now. This is temporary and will be cleaned up when one of those problems goes away. A lot of code was moved by this patch, mostly towards a more organized layout. Some package paths did get longer, and I guess the new layout will take some getting used to. Sorry about that! Please try not to re-introduce any dependencies in syntax/ on any of the other src/comp/ subdirs.
2011-07-05Move pretty-printing 'modes' into a callback hookMarijn Haverbeke-6/+53
This way, the pretty-printer does not have to know about middle::ty. (This is a preparation for separating the AST functionality into a separate crate.)
2011-07-04Use metadata to avoid always passing -Lrustllvm to the linker.Rafael Ávila de Espíndola-5/+5
2011-07-04Simplify the code a bit.Rafael Ávila de Espíndola-8/+3
2011-07-01Introduce --cfg argument for providing additional configuration. Issue #489Brian Anderson-3/+23
2011-07-01Remove the environment concept from front::evalBrian Anderson-16/+20
This is the old method of conditional compilation. It is going away. Issue #489
2011-06-30Add a pass to fold out items that do not belong in the current configurationBrian Anderson-0/+2
The parser needs to parse unconfigured items into the AST so that they can make the round trip back through the pretty printer, but subsequent passes shouldn't care about items not being translated. Running a fold pass after parsing is the lowest-impact way to make this work. The performance seems fine. Issue #489
2011-06-30Second try to remove -lssp.Rafael Ávila de Espíndola-5/+2
2011-06-29Be more strategic about linking to rust cratesBrian Anderson-1/+26
Instead of linking directly to the rust crate, try to figure out the location and name of the library from the file name, then call gcc with appropriate -L, -l flags. This will allow dynamic linking to be more forgiving about where it loads the library from at runtime - currently a stage3 compiler can't run correctly from the stage0 directory. Only tested on Linux. Fingers crossed.
2011-06-29Display an error when linking failsBrian Anderson-2/+13
2011-06-29Eliminate the --check-claims compiler flagTim Chevalier-5/+2
The option can only be toggled at runtime now.
2011-06-29Revert ""Try" push without -lssp on windows to see what needs it."Rafael Ávila de Espíndola-1/+1
This reverts commit 47b3e087e945a2a8fcfd1179e333746d294c1259.