about summary refs log tree commit diff
path: root/src/librustc_driver
AgeCommit message (Collapse)AuthorLines
2019-04-03Deny internal lints on non conflicting cratesflip1995-0/+1
- libarena - librustc_allocator - librustc_borrowck - librustc_codegen_ssa - librustc_codegen_utils - librustc_driver - librustc_errors - librustc_incremental - librustc_metadata - librustc_passes - librustc_privacy - librustc_resolve - librustc_save_analysis - librustc_target - librustc_traits - libsyntax - libsyntax_ext - libsyntax_pos
2019-03-27librustc_driver => 2018Taiki Endo-45/+23
2019-03-24Rollup merge of #59251 - matthewjasper:fix-graphviz, r=petrochenkovkennytm-1/+11
Use a valid name for graphviz graphs Hiridification has broken graphviz output because `HirId` has a more complex display implemetation than `NodeId`. Since the id was just used to generate a distinct identifier, we just pull out the various constituent indexed.
2019-03-18Auto merge of #58847 - bjorn3:remove_metadata_only_cg, r=alexcrichtonbors-617/+0
Remove metadata only codegen backend It is unused and probably broken at the moment.
2019-03-17Use a valid name for graphviz graphsMatthew Jasper-1/+11
2019-03-16Rename `MetaItem::ident` to `MetaItem::path`Vadim Petrochenkov-1/+1
2019-03-16Remove rustc_driver testsbjorn3-617/+0
2019-03-15rustc: replace node_path_str with uses of def_path_str.Eduard-Mihai Burtescu-1/+1
2019-03-10Drop expanded AST later if in save_analysis modeIgor Matuszewski-3/+8
2019-03-10Make the rustc driver and interface demand drivenJohn Kåre Alsaker-1973/+415
2019-03-07Fix with_emitter callersEsteban Küber-1/+1
2019-03-06Make `-Z treat-err-as-bug` take a number of errors to be emittedEsteban Küber-2/+2
`-Z treat-err-as-bug=0` will cause `rustc` to panic after the first error is reported. `-Z treat-err-as-bug=2` will cause `rustc` to panic after 3 errors have been reported.
2019-03-03Remove profiler output and replace with a raw event dumpWesley Wiser-6/+1
Related to #58372
2019-03-03Wrap the self-profiler in an `Arc<Mutex<>>`Wesley Wiser-8/+9
This will allow us to send it across threads and measure things like LLVM time.
2019-03-02driver: fix testljedrz-4/+4
2019-03-02hir: remove NodeId from Pat and FieldPatljedrz-2/+2
2019-03-02hir: remove NodeId from Itemljedrz-2/+2
2019-03-01Fix importJohn Kåre Alsaker-0/+1
2019-03-01Add support for using a jobserver with RayonJohn Kåre Alsaker-1/+4
2019-02-28Introduce rustc_interface and move some methods thereJohn Kåre Alsaker-1623/+95
2019-02-27Rollup merge of #58748 - hellow554:scoped_tls, r=estebankMazdak Farrokhzad-1/+1
update scoped_tls to 1.0 scoped_tls has been updated to version 1.0 This PR will hopefully merge flawlessly :) This fixes, among others, https://github.com/alexcrichton/scoped-tls/issues/9 Note, that the nightly feature has been removed in https://github.com/alexcrichton/scoped-tls/commit/64bd7b84a1765fb72a32caed3c17c970bdc6ad57
2019-02-26update scoped_tls to 1.0Marcel Hellwig-1/+1
2019-02-24hir: remove NodeId from Exprljedrz-7/+7
2019-02-24hir: remove NodeId from Blockljedrz-2/+2
2019-02-18Fix a transposition in driver.rs.Benjamin Peterson-1/+1
2019-02-16Rollup merge of #58074 - scottmcm:stabilize-sort_by_cached_key, r=SimonSapinkennytm-1/+0
Stabilize slice_sort_by_cached_key I was going to ask on the tracking issue (https://github.com/rust-lang/rust/issues/34447), but decided to just send this and hope for an FCP here. The method was added last March by https://github.com/rust-lang/rust/pull/48639. Signature: https://doc.rust-lang.org/std/primitive.slice.html#method.sort_by_cached_key ```rust impl [T] { pub fn sort_by_cached_key<K, F>(&mut self, f: F) where F: FnMut(&T) -> K, K: Ord; } ``` That's an identical signature to the existing `sort_by_key`, so I think the questions are just naming, implementation, and the usual "do we want this?". The implementation seems to have proven its use in rustc at least, which many uses: https://github.com/rust-lang/rust/search?l=Rust&q=sort_by_cached_key (I'm asking because it's exactly what I just needed the other day: ```rust all_positions.sort_by_cached_key(|&n| data::CITIES.iter() .map(|x| *metric_closure.get_edge(n, x.pos).unwrap()) .sum::<usize>() ); ``` since caching that key is a pretty obviously good idea.) Closes #34447
2019-02-13Rollup merge of #58400 - gnzlbg:fix_driver, r=oli-obkMazdak Farrokhzad-0/+5
Fix rustc_driver swallowing errors when compilation is stopped r? @oli-obk
2019-02-12Stabilize slice_sort_by_cached_keyScott McMurray-1/+0
2019-02-12Auto merge of #58341 - alexreg:cosmetic-2-doc-comments, r=steveklabnikbors-12/+12
Cosmetic improvements to doc comments This has been factored out from https://github.com/rust-lang/rust/pull/58036 to only include changes to documentation comments (throughout the rustc codebase). r? @steveklabnik Once you're happy with this, maybe we could get it through with r=1, so it doesn't constantly get invalidated? (I'm not sure this will be an issue, but just in case...) Anyway, thanks for your advice so far!
2019-02-12Fix rustc_driver swallowing errors when compilation is stoppedgnzlbg-0/+5
2019-02-10rustc: doc commentsAlexander Regueiro-12/+12
2019-02-10Rollup merge of #58345 - RalfJung:2nd-filename, r=matthewjasperGuillaume Gomez-1/+9
When there are multiple filenames, print what got interpreted as filenames I have written code that crafts command lines for rustc, and when I get "multiple input filenames provided" it can be quite hard to figure out where in this long list of arguments the mistake is hiding. Probably I passed an argument to a flag that does not expect an argument, but which flag would that be? This changes the error message to print the first two filenames, to make it easier to debug what is going on.
2019-02-10when there are multiple filenames, print what got interpreted as 2nd filenameRalf Jung-1/+9
2019-02-07Rollup merge of #58185 - GuillaumeGomez:images-url, r=SimonSapinGuillaume Gomez-3/+1
Remove images' url to make it work even without internet connection Needed for local std docs mainly. cc @SimonSapin r? @QuietMisdreavus
2019-02-07Remove images' url to make it work even without internet connectionGuillaume Gomez-3/+1
2019-02-07Auto merge of #58010 - Zoxc:parallel-passes, r=michaelwoeristerbors-44/+59
Move privacy checking later in the pipeline and make some passes run in parallel r? @michaelwoerister
2019-02-06Overhaul `syntax::fold::Folder`.Nicholas Nethercote-32/+31
This commit changes `syntax::fold::Folder` from a functional style (where most methods take a `T` and produce a new `T`) to a more imperative style (where most methods take and modify a `&mut T`), and renames it `syntax::mut_visit::MutVisitor`. The first benefit is speed. The functional style does not require any reallocations, due to the use of `P::map` and `MoveMap::move_{,flat_}map`. However, every field in the AST must be overwritten; even those fields that are unchanged are overwritten with the same value. This causes a lot of unnecessary memory writes. The imperative style reduces instruction counts by 1--3% across a wide range of workloads, particularly incremental workloads. The second benefit is conciseness; the imperative style is usually more concise. E.g. compare the old functional style: ``` fn fold_abc(&mut self, abc: ABC) { ABC { a: fold_a(abc.a), b: fold_b(abc.b), c: abc.c, } } ``` with the imperative style: ``` fn visit_abc(&mut self, ABC { a, b, c: _ }: &mut ABC) { visit_a(a); visit_b(b); } ``` (The reductions get larger in more complex examples.) Overall, the patch removes over 200 lines of code -- even though the new code has more comments -- and a lot of the remaining lines have fewer characters. Some notes: - The old style used methods called `fold_*`. The new style mostly uses methods called `visit_*`, but there are a few methods that map a `T` to something other than a `T`, which are called `flat_map_*` (`T` maps to multiple `T`s) or `filter_map_*` (`T` maps to 0 or 1 `T`s). - `move_map.rs`/`MoveMap`/`move_map`/`move_flat_map` are renamed `map_in_place.rs`/`MapInPlace`/`map_in_place`/`flat_map_in_place` to reflect their slightly changed signatures. - Although this commit renames the `fold` module as `mut_visit`, it keeps it in the `fold.rs` file, so as not to confuse git. The next commit will rename the file.
2019-01-31Use ensure for mir_borrowckJohn Kåre Alsaker-1/+1
2019-01-30Move privacy checking later in the pipeline and make some passes run in parallelJohn Kåre Alsaker-44/+59
2019-01-28Use multiple threads by default. Limits tests to one thread. Do some renaming.John Kåre Alsaker-3/+3
2019-01-28Conditionally skip two passes if their related attributes were not foundJohn Kåre Alsaker-14/+17
2019-01-27Auto merge of #57765 - Mark-Simulacrum:bootstrap-bump, r=alexcrichtonbors-2/+2
Bump bootstrap compiler to 1.33 beta r? @alexcrichton or @pietroalbini cc @rust-lang/release
2019-01-26Replace deprecated ATOMIC_INIT constsMark Rousskov-2/+2
2019-01-26Auto merge of #57726 - Zoxc:combine-early-lints, r=estebankbors-3/+7
Combine all builtin early lints This also adds a -Z no-interleave-lints option to allow benchmarking lints. r? @estebank
2019-01-25distinguish "no data" from "heterogeneous" for ABI purposesNiko Matsakis-1/+4
Also, add a testing infrastructure and tests that lets us dump layout.
2019-01-24Remove quote_*! macros and associated APIsMark Simulacrum-2/+1
2019-01-19Rollup merge of #57598 - h-michael:unpretty-help, r=oli-obkMazdak Farrokhzad-1/+2
Add missing unpretty option help message There are some missing help messages that is printed `ructc -Zunpretty help` and receiving invalid option. related with #16419, #45721, #21085, #31916
2019-01-19Auto merge of #57752 - Centril:rollup, r=Centrilbors-40/+13
Rollup of 10 pull requests Successful merges: - #57268 (Add a target option "merge-functions", and a corresponding -Z flag (works around #57356)) - #57476 (Move glob map use to query and get rid of CrateAnalysis) - #57501 (High priority resolutions for associated variants) - #57573 (Querify `entry_fn`) - #57610 (Fix nested `?` matchers) - #57634 (Remove an unused function argument) - #57653 (Make the contribution doc reference the guide more) - #57666 (Generalize `huge-enum.rs` test and expected stderr for more cross platform cases) - #57698 (Fix typo bug in DepGraph::try_mark_green().) - #57746 (Update README.md) Failed merges: r? @ghost
2019-01-19Rollup merge of #57573 - Xanewok:querify-entry-fn, r=ZoxcMazdak Farrokhzad-4/+5
Querify `entry_fn` Analogous to https://github.com/rust-lang/rust/pull/57570 but this will also require few fixups in Miri so I decided to separate that (and it seems [CI doesn't let us break tools anymore](https://github.com/rust-lang/rust/pull/57392#issuecomment-453801540)? Or was that because it was a rollup PR?) r? @nikomatsakis
2019-01-19Auto merge of #57253 - Zoxc:incr-passes2, r=michaelwoeristerbors-0/+2
Make privacy checking, intrinsic checking and liveness checking incremental Blocked on https://github.com/rust-lang/rust/pull/51487 r? @michaelwoerister