about summary refs log tree commit diff
path: root/src/librustc_driver/lib.rs
AgeCommit message (Collapse)AuthorLines
2018-10-13rustc/driver: improve common patternsljedrz-38/+23
2018-10-13rustc/driver: use Cow<str> where applicableljedrz-7/+8
2018-10-13rustc/driver: improve/remove allocationsljedrz-15/+12
2018-10-12rustc/driver: improve macro callsljedrz-1/+1
2018-10-08Stabilize the `Option::replace` methodClément Renault-1/+0
2018-09-30Re-export `getopts` so custom drivers can reference it.Richard Diamond-1/+1
Otherwise, custom drivers will have to use their own copy of `getopts`, which won't match the types used in `CompilerCalls`.
2018-09-30Auto merge of #54601 - cuviper:prep-1.31, r=Mark-Simulacrumbors-1/+1
Bump to 1.31.0 and bootstrap from 1.30 beta Closes #54594.
2018-09-27Bump to 1.31.0 and bootstrap from 1.30 betaJosh Stone-1/+1
2018-09-28Remap only source files in the command lineIgor Matuszewski-0/+1
2018-09-26Remove OneVectorljedrz-0/+1
2018-09-11stabalize infer outlives requirements (RFC 2093).toidiu-1/+0
Co-authored-by: nikomatsakis
2018-08-27Auto merge of #53441 - toidiu:ak-fix53419, r=nikomatsakisbors-0/+1
fix for late-bound regions Fix for https://github.com/rust-lang/rust/issues/53419 r? @nikomatsakis
2018-08-27Move with_globals setup from run_compiler to runJohn Kåre Alsaker-28/+28
2018-08-24check that adding infer-outlives requirement to all crates worksNiko Matsakis-0/+1
2018-08-19mv codemap source_mapDonato Sciarra-3/+3
2018-08-19mv (mod) codemap source_mapDonato Sciarra-1/+1
2018-08-19mv CodeMap SourceMapDonato Sciarra-2/+2
2018-08-14Rollup merge of #53229 - varkor:rlimits_min, r=nikomatsakiskennytm-1/+3
Make sure rlimit is only ever increased `libc::setrlimit` will fail if we try to set the rlimit to a value lower than it is currently, so make sure we're never trying to do this. Fixes #52801.
2018-08-14Rollup merge of #53226 - QuietMisdreavus:editions-for-all, r=estebankkennytm-2/+1
driver: set the syntax edition in phase 1 Fixes https://github.com/rust-lang/rust/issues/53203 It seems the way libsyntax handles the desired edition is to use a global, set via `syntax_pos::hygiene::set_default_edition`. Right now, this is set in the driver in `run_compiler`, which is the entry point for running the compiler all the way through to emitting files. Since rustdoc doesn't use this function, it wasn't properly setting this global. (When initially setting up editions in rustdoc, i'd assumed that setting `sessopts.edition` would have done this... `>_>`) This was "fixed" for doctests in https://github.com/rust-lang/rust/pull/52385, but rather than patching in a call to `set_default_edition` in all the places rustdoc sets up the compiler, i've instead moved the call in the driver to be farther in the process. This means that any use of `phase_1_parse_input` with the right session options will have the edition properly set without having to also remember to set libsyntax up separately. r? @rust-lang/compiler
2018-08-09Don't set rlimit to a lower value than the currentvarkor-1/+3
2018-08-09set the syntax edition in the driver's phase 1QuietMisdreavus-2/+1
2018-08-09[nll] librustc_driver: enable feature(nll) for bootstrapmemoryruins-0/+1
2018-08-06Auto merge of #53002 - QuietMisdreavus:brother-may-i-have-some-loops, r=pnkfelixbors-0/+1
make `everybody_loops` preserve item declarations First half of https://github.com/rust-lang/rust/issues/52545. `everybody_loops` is used by rustdoc to ensure we don't contain erroneous references to platform APIs if one of its uses is pulled in by `#[doc(cfg)]`. However, you can also implement traits for public types inside of functions. This is used by Diesel (probably others, but they were the example that was reported) to get around a recent macro hygiene fix, which has caused their crate to fail to document. While this won't make the traits show up in documentation (that step comes later), it will at least allow files to be generated.
2018-08-03Move unused trait functions to inherent functionsMark Rousskov-2/+1
2018-08-03Store concrete crate stores where possibleMark Rousskov-3/+3
2018-08-02make `everybody_loops` keep item declarationsQuietMisdreavus-0/+1
2018-07-30Auto merge of #52805 - ljedrz:format_str_literal, r=petrochenkovbors-1/+1
Don't format!() string literals Prefer `to_string()` to `format!()` take 2, this time targetting string literals. In some cases (`&format!("...")` -> `"..."`) also removes allocations. Occurences of `format!("")` are changed to `String::new()`.
2018-07-29Auto merge of #52738 - ljedrz:push_to_extend, r=eddybbors-4/+1
Replace push loops with extend() where possible Or set the vector capacity where I couldn't do it. According to my [simple benchmark](https://gist.github.com/ljedrz/568e97621b749849684c1da71c27dceb) `extend`ing a vector can be over **10 times** faster than `push`ing to it in a loop: 10 elements (6.1 times faster): ``` test bench_extension ... bench: 75 ns/iter (+/- 23) test bench_push_loop ... bench: 458 ns/iter (+/- 142) ``` 100 elements (11.12 times faster): ``` test bench_extension ... bench: 87 ns/iter (+/- 26) test bench_push_loop ... bench: 968 ns/iter (+/- 3,528) ``` 1000 elements (11.04 times faster): ``` test bench_extension ... bench: 311 ns/iter (+/- 9) test bench_push_loop ... bench: 3,436 ns/iter (+/- 233) ``` Seems like a good idea to use `extend` as much as possible.
2018-07-29Replace push loops with collect() and extend() where possibleljedrz-4/+1
2018-07-29Auto merge of #52767 - ljedrz:avoid_format, r=petrochenkovbors-2/+2
Prefer to_string() to format!() Simple benchmarks suggest in some cases it can be faster by even 37%: ``` test converting_f64_long ... bench: 339 ns/iter (+/- 199) test converting_f64_short ... bench: 136 ns/iter (+/- 34) test converting_i32_long ... bench: 87 ns/iter (+/- 16) test converting_i32_short ... bench: 87 ns/iter (+/- 49) test converting_str ... bench: 54 ns/iter (+/- 15) test formatting_f64_long ... bench: 349 ns/iter (+/- 176) test formatting_f64_short ... bench: 145 ns/iter (+/- 14) test formatting_i32_long ... bench: 98 ns/iter (+/- 14) test formatting_i32_short ... bench: 93 ns/iter (+/- 15) test formatting_str ... bench: 86 ns/iter (+/- 23) ```
2018-07-29Auto merge of #52764 - sinkuu:cleanup, r=nikomatsakisbors-8/+3
Misc cleanups
2018-07-28Don't format!() string literalsljedrz-1/+1
2018-07-27Auto merge of #52336 - ishitatsuyuki:dyn-rollup, r=Mark-Simulacrumbors-2/+0
Rollup of bare_trait_objects PRs All deny attributes were moved into bootstrap so they can be disabled with a line of config. Warnings for external tools are allowed and it's up to the tool's maintainer to keep it warnings free. r? @Mark-Simulacrum cc @ljedrz @kennytm
2018-07-27SimplifyShotaro Yamada-1/+1
2018-07-27Use str::repeatShotaro Yamada-7/+2
2018-07-27Prefer to_string() to format!()ljedrz-2/+2
2018-07-25Improve readability in a few sortsljedrz-4/+1
2018-07-25Deny bare_trait_objects globallyTatsuyuki Ishi-2/+0
2018-07-24force the doctest rustc thread to share the name of the testQuietMisdreavus-5/+17
2018-07-18rustc: distinguish compilation failure from ICEAndy Russell-13/+35
This commit changes the exit status of rustc to 1 in the presence of compilation errors. In the event of an unexpected panic (ICE) the standard panic error exit status of 101 remains. A run-make test is added to ensure that the exit code does not regress, and compiletest is updated to check for an exit status of 1 or 101, depending on the mode and suite. This is a breaking change for custom drivers. Fixes #51971.
2018-07-12Deny bare trait objects in librustc_driverljedrz-18/+20
2018-07-06Haiku: work around the lack of setrlimitNiels Sascha Reedijk-1/+21
By default, Haiku has the desired 16 MB stack, therefore in general we do not have to spawn a new thread. The code has been written in such a way that any changes in Haiku or in Rust will be adapted to.
2018-06-28Use `Ident`s for associated item definitions in HIRVadim Petrochenkov-1/+1
Remove emulation of hygiene with gensyms
2018-06-05Impl CompilerCalls for CompileController instead of AdHocCompilerCallsbjorn3-24/+0
2018-06-05Add AdHocCalls and pass self to build_controller as Box<Self>bjorn3-22/+50
2018-05-17Add edition to expansion infoVadim Petrochenkov-1/+2
2018-05-17Rename trans to codegen everywhere.Irina Popa-36/+38
2018-05-13Add a Rayon thread poolJohn Kåre Alsaker-16/+22
2018-05-13Add Sync bounds to the crate storeJohn Kåre Alsaker-0/+2
2018-05-02make it compile againflip1995-1/+1