about summary refs log tree commit diff
path: root/src/comp/driver/driver.rs
AgeCommit message (Collapse)AuthorLines
2012-03-02Move src/comp to src/rustcGraydon Hoare-667/+0
2012-02-29optionally enforce local variable mutabilityNiko Matsakis-2/+5
2012-02-28change def's that are always local to use node_id, add --inline optNiko Matsakis-1/+5
2012-02-24Encode/decode AST into metadata, re-instantiate inlined itemsNiko Matsakis-5/+12
2012-02-17rustdoc: Resolve imports and reexportsBrian Anderson-5/+15
2012-02-15make mut a keyword synonymous with mutableNiko Matsakis-1/+1
first step towards issue #1273
2012-02-13(core::str) add find_bytes and export it...Kevin Cantu-12/+12
2012-02-09Remove some pointless importsMarijn Haverbeke-2/+0
2012-02-03Start on in-crate monomorphizingMarijn Haverbeke-0/+3
Adds a --monomorpize flag to rustc to turn it on. You probably don't want to use it yet, since it's broken in a whole bunch of ways, but it successfully monomorphizes simple generic functions called from within the crate. Issue #1736
2012-02-03Remove experimental GC codeMarijn Haverbeke-2/+0
It's been sitting unused long enough to have bitrotted completely.
2012-01-31Change option::t to optionTim Chevalier-5/+5
Now that core exports "option" as a synonym for option::t, search-and- replace option::t with option. The only place that still refers to option::t are the modules in libcore that use option, because fixing this requires a new snapshot (forthcoming).
2012-01-31Rename str::from_byte(s) to str::unsafe::from_byte(s),Kevin Cantu-1/+1
mark them as unsafe, make comp/driver/driver.rs use str::from_bytes...
2012-01-31Require alts to be exhaustiveTim Chevalier-0/+4
middle::check_alt does the work. Lots of changes to add default cases into alts that were previously inexhaustive.
2012-01-30Change all ternary ops to if/then/elsePaul Woolcock-1/+5
All the files below had at least one instance of the ternary operator present in the source. All have been changed to the equivalent if/then/else expression.
2012-01-27Move various trans_ modules under a trans:: umbrella moduleMarijn Haverbeke-4/+4
Closes #1304
2012-01-26Remove the --no-core command-line optionBrian Anderson-3/+1
It is superceeded by the #[no_core] attribute
2012-01-26rustc: Switch the --no-core switch to a #[no_core] attributeBrian Anderson-4/+3
2012-01-26rustc: Make core injection a timed passBrian Anderson-1/+3
It's not much of a pass, but lets be consistent
2012-01-26rustc: Move core injection to its own moduleBrian Anderson-24/+2
2012-01-26Make re-exporting of impls workMarijn Haverbeke-1/+1
Closes #1438
2012-01-26First stab at operator overloadingMarijn Haverbeke-2/+2
When no built-in interpretation is found for one of the operators mentioned below, the typechecker will try to turn it into a method call with the name written next to it. For binary operators, the method will be called on the LHS with the RHS as only parameter. Binary: + op_add - op_sub * op_mul / op_div % op_rem & op_and | op_or ^ op_xor << op_shift_left >> op_shift_right >>> op_ashift_right Unary: - op_neg ! op_not Overloading of the indexing ([]) operator isn't finished yet. Issue #1520
2012-01-26Use string stored in codemap for pretty-printing comments and literalsMarijn Haverbeke-35/+22
Closes #1665
2012-01-25Keep source file around after parsing.Kevin Atkinson-5/+5
Specifically box the string (to avoid unnecessary copies) and store it in codemap::filemap. Remove the hack in driver::diagnostic that rereads the source from the file and instead just get the source from the filemap. (This commit is also a prerequisite for issue #1612)
2012-01-24rustc: Split diagnostics into "span diagnostics" and "diagnostics".Patrick Walton-4/+6
The former contain a codemap (which is per-crate), and the latter don't. This will be useful in order to allow more than one crate to be compiled in one run of the compiler.
2012-01-23Don't reset the chpos/byte_pos to 0 in new_parser_from_source_str.Kevin Atkinson-1/+3
This correctly fixes issue #1362. chpos/byte_pos are now the offsets within a particular file, but rather the offsets within a virtual file with is formed by combing all of the modules within a crate. Thus, resetting them to 0 causes an overlap and hence, bogus source locations. Fix #1362 by moving chpos/byte_pos to parse_sess so that new_parser_from_source_str has access to them and hence can chose an initial value that is not already been used in the crate. Note that the trigger for bug 1361 was that syntax/ext/expand.rs calls parse_expr_from_source_str (which calls new_parser_from_source_str) using the same codemap as the current crate (and hence causing overlap with files in the crate as new_parser_from_source_str resets the chpos/byte_pos to 0).
2012-01-22rustc: Specify lint checks via crate attributesHaitao Li-10/+3
A crate attribute like `#[lint(no_ctypes)]` can now be used to turn off ctypes checking. Issue #1543
2012-01-19rustc: ";" to "," in enumsPatrick Walton-6/+6
2012-01-19rustc: "tag" -> "enum"Patrick Walton-1/+1
2012-01-19Partial fix for #1561, doesn't actually "fix" the problem but you get output ↵Graydon Hoare-3/+3
now. There's still something wrong with #error here, possibly cross-crate issue.
2012-01-19rustc: Refactor lint check and avoid a segv faultHaitao Li-4/+9
The segv fault issue is #1566
2012-01-19rustc: Name the lint-style check module `lint`Haitao Li-7/+10
Issue #1543
2012-01-19rustc: Add a usage pass to collect one-off analysesHaitao Li-1/+8
This patch starts from move the analysis which checkes of probably incorrectly usage of `int|uint` in native fn. Issue #1543
2012-01-19rustc: Use io::println for time-passes dataHaitao Li-2/+2
Issue #1561
2012-01-19Remove support for the '.' after a nullary tag in a patternTim Chevalier-17/+17
(Commit also includes lots of changes to remove '.'s that a git merge messed up, or else it was monkeys.)
2012-01-18Remove '.' after nullary tags in patternsTim Chevalier-12/+12
Does what it says on the tin. The next commit will remove support for this syntax.
2012-01-18Fix --out-dir a bit more in driver.Graydon Hoare-3/+5
2012-01-17rustc: --test overrides the crate_type attributeBrian Anderson-2/+2
2012-01-17Prevent pretty-printer from trying to consume stdin twiceMarijn Haverbeke-15/+15
Why this didn't fail on my machine, I don't know.
2012-01-17Try to fix pretty-printer failureMarijn Haverbeke-9/+8
I can't reproduce it on my side, unfortunately.
2012-01-17Fix --pretty normal, reorganize some code in driver.rsMarijn Haverbeke-48/+63
There is now only one path doing crate expanding and typechecking, which should make it less likely for the pretty-printing code to be broken by changes to the compilation pipeline. Closes #1536
2012-01-16Ensure library file always has a proper suffix.Josh Matthews-1/+1
2012-01-14rustc: Fix testsBrian Anderson-4/+4
2012-01-14rustc: Rename mk_codemap_handler to mk_handlerBrian Anderson-1/+1
2012-01-14rustc: Use the same diagnostic emmiter for both early errors and the sessionBrian Anderson-1/+2
This funnels all properly reported errors through a single closure. Yay.
2012-01-14rustc: Thread a diagnostic::emitter through driverBrian Anderson-11/+14
2012-01-14rustc: Pull some uses of early_error up into build_target_configBrian Anderson-13/+19
2012-01-14rustc: Allow a custom diagnostic emitter when building the handlerBrian Anderson-1/+1
2012-01-13rustc: Remove emit_fatal/error/warning/note functionsBrian Anderson-1/+1
2012-01-13rustc: Replace the lexer's error handling with diagnostic implBrian Anderson-1/+1
2012-01-13rustc: Replace parser's error handling with diagnostic implBrian Anderson-2/+7