about summary refs log tree commit diff
path: root/src/rustc/driver/driver.rs
AgeCommit message (Collapse)AuthorLines
2012-05-29rustc: Move filesearch into metadata modBrian Anderson-2/+2
It's not that related to metadata, but metadata needs it and it will probably be useful for doing dynamic loading.
2012-05-25replace last_use with liveness infoNiko Matsakis-8/+5
2012-05-24remove dead assignmentsNiko Matsakis-2/+2
2012-05-24new liveness pass to supercede last_use / initednessNiko Matsakis-0/+3
2012-05-24fix classes and parameterized ifaces; remove needless self checkNiko Matsakis-2/+0
ref #1726, #2434
2012-05-22rustc: Eliminate metadata's dependency on sessionBrian Anderson-1/+5
2012-05-22rustc: Eliminate some session deps from metadata::loaderBrian Anderson-1/+2
2012-05-21rustc: Move ast_map to the syntax crateBrian Anderson-1/+1
2012-05-21rustc: Remove ast_map's session dependencyBrian Anderson-1/+1
2012-05-18print ids of patterns when doing --pretty identifiedNiko Matsakis-1/+4
2012-05-18use -Z to distinguish internal debugging optionsNiko Matsakis-23/+22
2012-05-17Comments only: annotate FIXMEs in back-end and driverTim Chevalier-2/+4
2012-05-15rustc: Extract loader mod from creader modBrian Anderson-1/+1
loader is a utility for locating crates and loading their metadata. creader is a compiler pass that loads metadata for all used libraries.
2012-05-15move regionck into typeck, in the process fixing a bug or twoNiko Matsakis-2/+0
2012-05-15get preservation of boxes working, at least in simple casesNiko Matsakis-5/+5
2012-05-14Enforce that self doesn't escape from a classTim Chevalier-0/+2
Closes #2294
2012-05-10replace mutbl pass with borrowckNiko Matsakis-4/+1
2012-05-10Preliminary groundwork for intrinsic module, reflection interface.Graydon Hoare-0/+4
2012-05-09rustc: Refactor driver to better understand string sourcesBrian Anderson-22/+51
2012-05-09implement new borrow ck (disabled by default)Niko Matsakis-5/+16
2012-04-30Revert "Eliminate a copy in syntax::parse::new_parser_from_file"Tim Chevalier-1/+1
This reverts commit 2bb3b63ec4379b812aeceb690d78763ec55d3cbb. (I was confused.)
2012-04-30Eliminate a copy in syntax::parse::new_parser_from_fileTim Chevalier-1/+1
Fixing a FIXME turned out to be pretty involved. I added an io function that returns a unique boxed string (for the contents of a file) rather than a string, and went from there. Also made the src field of codemap a unique boxed string. This doesn't seem to make that much difference in amount of allocation according to valgrind (disappointingly), but I also had to introduce a copy somewhere else pending a new snapshot, so maybe that's it.
2012-04-25Rewrite exhaustiveness checkerMarijn Haverbeke-1/+1
Issue #2111
2012-04-18syntax: Put the main parser interface in mod parseBrian Anderson-3/+3
2012-04-17new debug flag, new testNiko Matsakis-2/+4
2012-04-12Support general warnings and errors in lint pass via flags and attrs. Close ↵Graydon Hoare-9/+14
#1543.
2012-04-06Convert old-style for loops to new-styleMarijn Haverbeke-1/+1
Most could use the each method, but because of the hack used to disambiguate old- and new-style loops, some had to use vec::each. (This hack will go away soon.) Issue #1619
2012-04-04rustc: Don't allow recursive constantsBrian Anderson-1/+1
2012-04-04rustc: Allow consts to refer to other constsBrian Anderson-2/+2
2012-03-29rustc: Remove the rustsyntax::attr wrapper in frontBrian Anderson-1/+1
2012-03-27rust: Remove extensions' dependency on the sessionBrian Anderson-1/+2
2012-03-27Support an alternate for syntax that calls a higher-order functionMarijn Haverbeke-1/+1
The last argument of the call must be a block, and the type of this argument must a function returning bool. `break` and `cont` are supported in the body of the block, and return `false` or `true` from the function. When the end of the function is reached, `true` is implicitly returned. for vec::all([1, 2, 3]) {|elt| if elt == 2 { break; } log(error, elt); } Issue #1619
2012-03-26Bulk-edit mutable -> mut.Graydon Hoare-5/+5
2012-03-26Disallow ret inside of block functionsMarijn Haverbeke-0/+2
Also adds proper checking for cont/break being inside a loop. Closes #1854 Issue #1619
2012-03-23Keep an explicit map of things that have to be spilledMarijn Haverbeke-2/+3
This prevents us from spilling locals more than once. Closes #2040
2012-03-22Add an LLVM-instruction-counting mode to trans.Graydon Hoare-0/+3
Pipe to xdu to see a trans call graph of generated insns.
2012-03-22make --enforce-mut-vars always on, add mut annotations to remaining filesNiko Matsakis-3/+1
2012-03-21add mut decls to rustc and make them mandatoryNiko Matsakis-8/+8
2012-03-21Avoid mangling names differently in debug builds to work around a build ↵Josh Matthews-7/+6
error. Fix up file name and path debug information, and build one compilation unit for a crate instead of one per source file.
2012-03-15Rename dict to vtable throughout the compilerMarijn Haverbeke-2/+2
The difference went away.
2012-03-15Turn on monomorphization by defaultMarijn Haverbeke-3/+0
2012-03-14Add crude support for casts in constant expressionsMarijn Haverbeke-1/+2
Only casts to integral and float types are supported Closes #1975
2012-03-13first (functional) version of the auto_serialize syntax extNiko Matsakis-4/+9
2012-03-12Libc/os/run/rand/io reorganization. Close #1373. Close #1638.Graydon Hoare-14/+13
- Move io, run and rand to core. - Remove incorrect ctypes module (use libc). - Remove os-specific modules for os and fs. - Split fs between core::path and core::os.
2012-03-11rustc: Map local variables to their containing blocks so we know their regionsPatrick Walton-1/+1
2012-03-09rustc: Add a region checking passPatrick Walton-0/+2
Errors aren't reported yet, because the regions aren't properly inferred from the & operator at the moment and that would break the tests.
2012-03-09rustc: Perform region inferencePatrick Walton-1/+4
2012-03-08Drop collect_items pass, create decls on demandMarijn Haverbeke-1/+1
This solves a problem with inlined functions that have inner functions.
2012-03-06make inline enabled by defaultNiko Matsakis-3/+0
2012-03-06Make trans pass responsible for pulling in inlined functionsMarijn Haverbeke-7/+2
This makes the logic for finding the inlinable items much easier -- they are simply pulled in lazily when encountered.