about summary refs log tree commit diff
path: root/src/librustc_driver
AgeCommit message (Collapse)AuthorLines
2018-07-25Improve readability in a few sortsljedrz-7/+3
2018-07-25Deny bare_trait_objects globallyTatsuyuki Ishi-2/+0
2018-07-24Auto merge of #52181 - QuietMisdreavus:panicked-tester, r=GuillaumeGomezbors-5/+17
rustdoc: set panic output before starting compiler thread pool When the compiler was updated to run on a thread pool, rustdoc's processing of compiler/doctest stderr/stdout was moved into each compiler thread. However, this caused output of the test to be lost if the test failed at *runtime* instead of compile time. This change sets up the `set_panic` call and output bomb before starting the compiler thread pool, so that the `Drop` call that writes back to the test's stdout happens after the test runs, not just after it compiles. Fixes https://github.com/rust-lang/rust/issues/51162
2018-07-24force the doctest rustc thread to share the name of the testQuietMisdreavus-5/+17
2018-07-23dump lints _after_ parsing macrosmark-7/+9
2018-07-23Extend ParseSess to support buffering lintsmark-0/+8
2018-07-19Auto merge of #52197 - euclio:exit-code, r=oli-obkbors-13/+35
overhaul exit codes for rustc and rustdoc 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. Note that while changes were made to the rustdoc binary, there is no intended behavior change. rustdoc errors (i.e., failed lints) will still report 101. While this could *also* hide potential ICEs, I will leave that work to a future PR. Fixes #51971.
2018-07-18Auto merge of #52375 - oli-obk:the_early_lint_pass_gets_the_worm, r=Manishearthbors-1/+5
Lint `async` identifiers in 2018 preparation mode r? @Manishearth fixes https://github.com/rust-lang/rust/issues/49716
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-17Rollup merge of #52338 - RalfJung:miri, r=oli-obkkennytm-18/+18
update miri
2018-07-17Rollup merge of #52435 - ljedrz:misc_capacity, r=estebankkennytm-1/+2
Calculate the exact capacity for 2 HashMaps
2018-07-17Auto merge of #52285 - ljedrz:dyn_librustc_driver, r=nikomatsakisbors-51/+53
Deny bare trait objects in librustc_driver Enforce `#![deny(bare_trait_objects)]` in `src/librustc_driver`.
2018-07-16Calculate the exact capacity for 2 HashMapsljedrz-1/+2
2018-07-16ItemKindcsmoe-18/+18
2018-07-14Lint the use of async as an identifierOliver Schneider-1/+5
2018-07-12Add missing dyn in driver.rsljedrz-1/+1
2018-07-12Deny bare trait objects in librustc_driverljedrz-50/+52
2018-07-10Auto merge of #52100 - nielx:fix/rust_driver-stacklimit, r=cramertjbors-1/+21
Haiku: work around the lack of setrlimit The default Unix codepath fails, because Haiku does not implement setrlimit for stack size. Thus we create an additional path. 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-07-07Revert changes to bootstrap, rustc_driver and fix {core,std}simdbjorn3-12/+2
2018-07-07Remove unused rustc_driver dependency on arbjorn3-2/+0
2018-07-07Move some functions out of rustc_codegen_llvm and fix metadata_only backendbjorn3-2/+12
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-07-05Do not run AST borrowck when -Zborrowck=mirSantiago Pastorino-1/+5
2018-06-30Auto merge of #51806 - oli-obk:lowering_cleanups1, r=cramertjbors-1/+1
Lowering cleanups [1/N]
2018-06-28Use `Ident`s for associated item definitions in HIRVadim Petrochenkov-1/+1
Remove emulation of hygiene with gensyms
2018-06-27Generate the `NodeId` for `existential type` in the ASTOliver Schneider-1/+1
2018-06-24Attempt to fix hygiene for global_allocatorMark Mansi-1/+10
2018-06-21Parse async fn header.Without Boats-6/+6
This is gated on edition 2018 & the `async_await` feature gate. The parser will accept `async fn` and `async unsafe fn` as fn items. Along the same lines as `const fn`, only `async unsafe fn` is permitted, not `unsafe async fn`.The parser will not accept `async` functions as trait methods. To do a little code clean up, four fields of the function type struct have been merged into the new `FnHeader` struct: constness, asyncness, unsafety, and ABI. Also, a small bug in HIR printing is fixed: it previously printed `const unsafe fn` as `unsafe const fn`, which is grammatically incorrect.
2018-06-20Rename structures in astvarkor-1/+1
2018-06-20Remove AngleBracketedArgs implvarkor-5/+11
2018-06-20Make method and variable names more consistentvarkor-1/+1
2018-06-20Rename "parameter" to "arg"varkor-1/+1
2018-06-20Rename PathParameter(s) to GenericArg(s)varkor-2/+2
2018-06-20Consolidate PathParameters and AngleBracketedParameterDatavarkor-1/+1
2018-06-19Auto merge of #51383 - Zoxc:parallel-stuff, r=nikomatsakisbors-5/+3
Run some stuff in parallel Requires https://github.com/rust-lang/rust/pull/50699 to actually work correctly. r? @nikomatsakis
2018-06-19Parallel codeJohn Kåre Alsaker-5/+3
2018-06-18Auto merge of #51248 - fabric-and-ink:newtype_index_debrujin, r=nikomatsakisbors-1/+1
Declare DebruijnIndex via newtype_index macro Part of #49887 Declare `DebruijnIndex` via the `newtype_index` macro.
2018-06-18Auto merge of #51414 - oli-obk:impl_trait_type_def, r=pnkfelixbors-0/+1
Add existential type definitions Note: this does not allow creating named existential types, it just desugars `impl Trait` to a less (but still very) hacky version of actual `existential type` items. r? @nikomatsakis
2018-06-15Fix compile errorFabian Drinck-1/+1
2018-06-14Circumvent const fn problemFabian Drinck-1/+1
2018-06-14Fix compile errorFabian Drinck-1/+1
2018-06-14rustc: rename ty::maps to ty::query.Eduard-Mihai Burtescu-9/+9
2018-06-11Update testsOliver Schneider-0/+1
2018-06-08Rollup merge of #51394 - nnethercote:NCA-depths, r=nikomatsakisMark Rousskov-3/+4
Use scope tree depths to speed up `nearest_common_ancestor`. This patch adds depth markings to all entries in the `ScopeTree`'s `parent_map`. This change increases memory usage somewhat, but permits a much faster algorithm to be used: - If one scope has a greater depth than the other, the deeper scope is moved upward until they are at equal depths. - Then we move the two scopes upward in lockstep until they match. This avoids the need to keep track of which scopes have already been seen, which was the major part of the cost of the old algorithm. It also reduces the number of child-to-parent moves (which are hash table lookups) when the scopes start at different levels, because it never goes past the nearest common ancestor the way the old algorithm did. Finally, the case where one of the scopes is the root is now handled in advance, because that is moderately common and lets us skip everything. This change speeds up runs of several rust-perf benchmarks, the best by 6%. A selection of the bigger improvements: ``` clap-rs-check avg: -2.6% min: -6.6% max: 0.0% syn-check avg: -2.2% min: -5.0% max: 0.0% style-servo-check avg: -2.9%? min: -4.8%? max: 0.0%? cargo-check avg: -1.3% min: -2.8% max: 0.0% sentry-cli-check avg: -1.0% min: -2.1% max: 0.0% webrender-check avg: -0.9% min: -2.0% max: 0.0% style-servo avg: -0.9%? min: -1.8%? max: -0.0%? ripgrep-check avg: -0.7% min: -1.8% max: 0.1% clap-rs avg: -0.9% min: -1.6% max: -0.2% regex-check avg: -0.2% min: -1.3% max: 0.1% syn avg: -0.6% min: -1.3% max: 0.1% hyper-check avg: -0.5% min: -1.1% max: 0.0% ``` The idea came from multiple commenters on my blog and on Reddit. Thank you! r? @nikomatsakis
2018-06-06Reduce the amount of unsafe code and mark handle_deadlock as unsafeJohn Kåre Alsaker-3/+4
2018-06-06Update Rayon versionJohn Kåre Alsaker-1/+1
2018-06-06Make queries block and handle query cyclesJohn Kåre Alsaker-3/+10
2018-06-06Use scope tree depths to speed up `nearest_common_ancestor`.Nicholas Nethercote-3/+4
This patch adds depth markings to all entries in the `ScopeTree`'s `parent_map`. This change increases memory usage somewhat, but permits a much faster algorithm to be used: - If one scope has a greater depth than the other, the deeper scope is moved upward until they are at equal depths. - Then we move the two scopes upward in lockstep until they match. This avoids the need to keep track of which scopes have already been seen, which was the major part of the cost of the old algorithm. It also reduces the number of child-to-parent moves (which are hash table lookups) when the scopes start at different levels, because it never goes past the nearest common ancestor the way the old algorithm did. Finally, the case where one of the scopes is the root is now handled in advance, because that is moderately common and lets us skip everything. This change speeds up runs of several rust-perf benchmarks, the best by 6%.
2018-06-05Add commentbjorn3-0/+12
2018-06-05Impl CompilerCalls for CompileController instead of AdHocCompilerCallsbjorn3-24/+57