about summary refs log tree commit diff
path: root/src/librustc_driver
AgeCommit message (Collapse)AuthorLines
2019-10-14rustc_metadata: Privatize private code and remove dead codeVadim Petrochenkov-1/+1
2019-10-13refactor session::config::build_session_options_and_crate_configMazdak Farrokhzad-1/+2
2019-09-29Rollup merge of #64799 - Aaron1011:fix/double-panic, r=Mark-SimulacrumMazdak Farrokhzad-1/+1
Fix double panic when printing query stack during an ICE On the latest nightly, any call to `bug` or `span_bug` will result in two panics - the first one as a normal result of calling `bug` / `span_bug`, and the second as a result of trying to print the query stack from the panic handler. This is caused by the query-printing code attempting to acquire a lock on `HandlerInnder`, which is still being held by `bug`. This PR moves the actual panic out of `HandlerInner`, into `Handler`. This allows us to release the lock on `HandlerInner` before triggering the panic, ensuring that the panic handler will be able to acquire the lock if necessary.
2019-09-28Rollup merge of #64847 - mati865:env_logger, r=alexcrichtonMazdak Farrokhzad-1/+1
Upgrade env_logger to 0.7 `./x.py test` passed locally.
2019-09-27-Z unpretty message: include expanded,hygieneMazdak Farrokhzad-3/+3
2019-09-27Remove unpretty=flowgraph.Mazdak Farrokhzad-164/+14
2019-09-27Remove librustc_ast_borrowck from driver & interface.Mazdak Farrokhzad-1/+0
2019-09-26Use existing Handler to print query stackAaron Hill-1/+1
When the panic handler is run, the existing Handler may be in a weird state if it was responsible for triggering the panic. By using a freshly created Handler, we avoid trying to re-entrantly lock a HandlerInner, which was causing a double panic on ICEs.
2019-09-26Rename `MetaItem.node` to `MetaItem.kind`varkor-1/+1
2019-09-26Upgrade env_logger to 0.7Mateusz Mikuła-1/+1
2019-09-23Introduce a diagnostic stashing API.Mazdak Farrokhzad-2/+1
2019-09-23Auto merge of #64272 - Mark-Simulacrum:parallel-handler, r=estebankbors-7/+6
Refactor librustc_errors::Handler API This should be reviewed by-commit. The last commit moves all fields into an inner struct behind a single lock; this is done to prevent possible deadlocks in a multi-threaded compiler, as well as inconsistent state observation.
2019-09-17Rollup merge of #64486 - matthewjasper:hygiene-debugging, r=petrochenkovTyler Mandry-2/+7
Print out more information for `-Zunpretty=expanded,hygiene` I've found this helpful when trying to understand how hygiene works. Closes #16420
2019-09-17Print syntax contexts and marks when printing hygiene informationMatthew Jasper-2/+7
2019-09-17Remove Handler::{emit, emit_with_code}Mark Rousskov-7/+5
2019-09-17Replace DiagnosticBuilder with Diagnostic when emitting errorMark Rousskov-0/+1
2019-09-16Rollup merge of #64497 - nnethercote:fix-64339, r=petrochenkovMazdak Farrokhzad-1/+4
Don't print the "total" `-Ztime-passes` output if `--prints=...` is also given Fixes #64339.
2019-09-16Don't print the "total" `-Ztime-passes` output if `--prints=...` is also given.Nicholas Nethercote-1/+4
Fixes #64339.
2019-09-15Auto merge of #60584 - jonas-schievink:ice-panic-hook, r=oli-obkbors-49/+95
Use `panic::set_hook` to print the ICE message This allows custom frontends and backends to override the hook with their own, for example to point people to a different issue tracker. ICE messages are printed in a slightly different order now. Nightly prints: ``` thread 'rustc' panicked at 'called `Option::unwrap()` on a `None` value', src/libcore/option.rs:347:21 note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace. error: aborting due to 2 previous errors Some errors have detailed explanations: E0277, E0658. For more information about an error, try `rustc --explain E0277`. error: internal compiler error: unexpected panic note: the compiler unexpectedly panicked. this is a bug. note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports note: rustc 1.36.0-nightly (08bfe1612 2019-05-02) running on x86_64-unknown-linux-gnu ``` After this PR, rustc prints: ``` thread 'rustc' panicked at 'called `Option::unwrap()` on a `None` value', src/libcore/option.rs:347:21 note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace. error: internal compiler error: unexpected panic note: the compiler unexpectedly panicked. this is a bug. note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports note: rustc 1.36.0-dev running on x86_64-unknown-linux-gnu error: aborting due to 2 previous errors Some errors have detailed explanations: E0277, E0658. For more information about an error, try `rustc --explain E0277`. ```
2019-09-07Rollup merge of #64235 - mati865:env_logger, r=alexcrichtonMazdak Farrokhzad-1/+1
Upgrade env_logger to 0.6
2019-09-07Rollup merge of #64139 - Mark-Simulacrum:strip-legacy-proc-macro, r=petrochenkovMazdak Farrokhzad-1/+0
Migrate internal diagnostic registration to macro_rules Review is best done commit-by-commit. Fixes #64132.
2019-09-06Upgrade env_logger to 0.6Mateusz Mikuła-1/+1
2019-09-06Move the HIR cfg to `rustc_ast_borrowck`Matthew Jasper-2/+1
No new code should be using it.
2019-09-05Remove rustc_diagnostic_macros featureMark Rousskov-1/+0
2019-08-30Update commentJonas Schievink-1/+1
2019-08-30Document the ICE hook and make it more flexibleJonas Schievink-3/+12
2019-08-30Clarify that rustc unwinds on errors, not panicsJonas Schievink-1/+1
2019-08-30Move librustc panic handler into the new oneJonas Schievink-5/+22
2019-08-30Use `panic::set_hook` to print the ICE messageJonas Schievink-45/+65
2019-08-30Auto merge of #63827 - andjo403:out-of-process-rustc-in-rustdoc, ↵bors-0/+9
r=Mark-Simulacrum Run doctests via out-of-process rustc closes #63638
2019-08-30Auto merge of #63402 - estebank:strip-margin, r=oli-obkbors-5/+7
Strip code to the left and right in diagnostics for long lines Fix #62999.
2019-08-29support rustdoc test from stdin to rustcAndreas Jonson-0/+9
2019-08-22Auto merge of #63175 - jsgf:argsfile, r=jsgfbors-8/+82
rustc: implement argsfiles for command line Many tools, such as gcc and gnu-ld, support "args files" - that is, being able to specify @file on the command line. This causes `file` to be opened and parsed for command line options. They're separated with whitespace; whitespace can be quoted with double or single quotes, and everything can be \\-escaped. Args files may recursively include other args files via `@file2`. See https://sourceware.org/binutils/docs/ld/Options.html#Options for the documentation of gnu-ld's @file parameters. This is useful for very large command lines, or when command lines are being generated into files by other tooling.
2019-08-21Add terminal_width debugging flagEsteban Küber-5/+7
2019-08-20Move argfile expansion into run_compilerJeremy Fitzhardinge-235/+67
This will make @path work with miri and other non-standard entrypoints. Also since this simplifies librustc_driver::args, move it into a simple source file. Also remove the tests since they're doing nothing more than checking `str::lines` has the right behaviour.
2019-08-20Restore the rustc_plugin crate in the sysrootSimon Sapin-0/+1
It was accidentally removed in a rebase of https://github.com/rust-lang/rust/pull/62727 Fixes https://github.com/rust-lang/rust/issues/63729
2019-08-19rustc: implement argsfiles for command lineJeremy Fitzhardinge-4/+246
This makes `rustc` support `@path` arguments on the command line. The `path` is opened and the file is interpreted as new command line options which are logically inserted at that point in the command-line. The options in the file are one per line. The file is UTF-8 encoded, and may have either Unix or Windows line endings. It does not support recursive use of `@path`. This is useful for very large command lines, or when command-lines are being generated into files by other tooling.
2019-08-19Use named arguments for formatting usage message.Jeremy Fitzhardinge-5/+5
It was getting a bit awkward.
2019-08-20Deprecate using rustc_plugin without the rustc_driver dylib.Simon Sapin-0/+3
CC https://github.com/rust-lang/rust/pull/59800 https://github.com/rust-lang/rust/commit/7198687bb2df13a3298ef1e8f594753073d6b9e8 Fix https://github.com/rust-lang/rust/issues/62717
2019-08-15`Ident::with_empty_ctxt` -> `Ident::with_dummy_span`Vadim Petrochenkov-1/+1
`Ident` has had a full span rather than just a `SyntaxContext` for a long time now.
2019-08-09Cleanup historical stability commentsMark Rousskov-15/+6
These weren't removed by ccbcc720a679ae76155a8 most likely by accident, let's clean them up now.
2019-07-28Deny `unused_lifetimes` through rustbuildVadim Petrochenkov-2/+0
2019-07-28Remove lint annotations in specific crates that are already enforced by ↵Vadim Petrochenkov-1/+0
rustbuild Remove some random unnecessary lint `allow`s
2019-07-27Break dependencies between `syntax_ext` and some other cratesVadim Petrochenkov-11/+0
Move `source_uitil` macros into `syntax_ext` Cleanup dependencies of `rustc_driver`
2019-07-25Rollup merge of #62735 - petrochenkov:galloc, r=alexcrichtonMazdak Farrokhzad-2/+0
Turn `#[global_allocator]` into a regular attribute macro It was a 99% macro with exception of some diagnostic details. As a result of the change, `#[global_allocator]` now works in nested modules and even in nameless blocks. Fixes https://github.com/rust-lang/rust/issues/44113 Fixes https://github.com/rust-lang/rust/issues/58072
2019-07-25Rollup merge of #62901 - petrochenkov:serde, r=CentrilMazdak Farrokhzad-2/+2
cleanup: Remove `extern crate serialize as rustc_serialize`s
2019-07-24Merge `rustc_allocator` into `libsyntax_ext`Vadim Petrochenkov-2/+0
2019-07-23normalize use of backticks for compiler messages in remaining modulesSamy Kacimi-2/+2
https://github.com/rust-lang/rust/issues/60532
2019-07-23cleanup: Remove `extern crate serialize as rustc_serialize`sVadim Petrochenkov-2/+2
2019-07-15Use more descriptive Compilation enum in rustc interface callbacksIgor Matuszewski-12/+15