about summary refs log tree commit diff
path: root/src/librustc_driver/test.rs
AgeCommit message (Collapse)AuthorLines
2018-04-06Fix error in rustc_driver::test.Michael Woerister-1/+1
2018-03-23Revert "fix tests in `librustc_driver`"Sean Griffin-2/+1
This reverts commit 17df455c2eda9717e2d7ff2f43809b553852d7e6.
2018-03-14Auto merge of #47630 - canndrew:exhaustive-patterns, r=nikomatsakisbors-5/+5
Stabilise feature(never_type). Introduce feature(exhaustive_patterns) This stabilizes `!`, removing the feature gate as well as the old defaulting-to-`()` behavior. The pattern exhaustiveness checks which were covered by `feature(never_type)` have been moved behind a new `feature(exhaustive_patterns)` gate.
2018-03-14Remove syntax and syntax_pos thread localsJohn Kåre Alsaker-1/+12
2018-03-14remove defaulting to unitAndrew Cann-5/+5
Types will no longer default to `()`, instead always defaulting to `!`. This disables the associated warning and removes the flag from TyTuple
2018-03-13refactor `ParamEnv::empty(Reveal)` into two distinct methodsNiko Matsakis-2/+2
- `ParamEnv::empty()` -- does not reveal all, good for typeck - `ParamEnv::reveal_all()` -- does, good for trans - `param_env.with_reveal_all()` -- converts an existing parameter environment
2018-03-02Replace Rc with Lrc for shared dataJohn Kåre Alsaker-5/+5
2018-03-01fix tests in `librustc_driver`Niko Matsakis-1/+2
2018-02-23Introduce UnpackedKindvarkor-4/+4
This adds an `UnpackedKind` type as a typesafe counterpart to `Kind`. This should make future changes to kinds (such as const generics!) more resilient, as the type-checker should catch more potential issues.
2018-01-19Fix rustc_driver test.rsbjorn3-1/+0
2018-01-19Fix rustc_driver test.rsbjorn3-3/+1
2018-01-19Allow runtime switching between trans backendsbjorn3-1/+1
2018-01-13Remove `impl Foo for ..` in favor of `auto trait Foo`leonardo.yvens-2/+1
No longer parse it. Remove AutoTrait variant from AST and HIR. Remove backwards compatibility lint. Remove coherence checks, they make no sense for the new syntax. Remove from rustdoc.
2017-12-21Combine GlobalArenas and DroplessArena into AllArenasJohn Kåre Alsaker-4/+1
2017-12-14trait alias falloutAlex Burka-0/+1
2017-12-14Use PathBuf instead of String where applicableOliver Schneider-2/+2
2017-12-11move `resolve_lifetimes` into a proper queryNiko Matsakis-3/+0
Now that we made `resolve_lifetimes` into a query, elision errors no longer abort compilation, which affects some tests. Also, remove `dep_graph_crosscontaminate_tables` -- there is no a path in the dep-graph, though red-green handles it. The same scenario is (correctly) tested by issue-42602.rs in any case.
2017-12-04make `resolve_regions_and_report_errors` take an `OutlivesEnv`Niko Matsakis-4/+5
This revealed some shortcomings, one of which is fixed. Fixes #45937.
2017-11-17strip old lub-glb tests from `librustc_driver`Niko Matsakis-212/+0
Good riddance.
2017-11-14rustc: move the MIR pass infrastructure and list to rustc_mir.Eduard-Mihai Burtescu-2/+0
2017-11-03[Syntax Breaking] Rename DefaultImpl to AutoImplleonardo.yvens-1/+1
DefaultImpl is a highly confusing name for what we now call auto impls, as in `impl Send for ..`. The name auto impl is not formally decided but for sanity anything is better than `DefaultImpl` which refers neither to `default impl` nor to `impl Default`.
2017-10-25Fix librustc_driver unit test after API change.Michael Woerister-0/+2
2017-09-23Fix errorbjorn3-1/+2
2017-09-23Add TransCrate traitbjorn3-1/+1
2017-09-20incr.comp.: Add some comments.Michael Woerister-1/+1
2017-09-18incr.comp.: Remove tcx from StableHashingContext.Michael Woerister-1/+1
2017-09-17rustc: Move codegen to a queryAlex Crichton-0/+14
This commit moves the actual code generation in the compiler behind a query keyed by a codegen unit's name. This ended up entailing quite a few internal refactorings to enable this, along with a few cut corners: * The `OutputFilenames` structure is now tracked in the `TyCtxt` as it affects a whole bunch of trans and such. This is now behind a query and threaded into the construction of the `TyCtxt`. * The `TyCtxt` now has a channel "out the back" intended to send data to worker threads in rustc_trans. This is used as a sort of side effect of the codegen query but morally what's happening here is the return value of the query (currently unit but morally a path) is only valid once the background threads have all finished. * Dispatching work items to the codegen threads was refactored to only rely on data in `TyCtxt`, which mostly just involved refactoring where data was stored, moving it from the translation thread to the controller thread's `CodegenContext` or the like. * A new thread locals was introduced in trans to work around the query system. This is used in the implementation of `assert_module_sources` which looks like an artifact of the old query system and will presumably go away once red/green is up and running.
2017-09-14rustc: Remove `Session::dep_graph`Alex Crichton-5/+0
This commit removes the `dep_graph` field from the `Session` type according to issue #44390. Most of the fallout here was relatively straightforward and the `prepare_session_directory` function was rejiggered a bit to reuse the results in the later-called `load_dep_graph` function. Closes #44390
2017-09-12Remove the `cstore` reference from Session in order to prepare encapsulating ↵Michael Woerister-3/+3
CrateStore access in tcx.
2017-09-11rustc: replace usize with u64 and ConstUsize.Eduard-Mihai Burtescu-11/+11
2017-09-09rustc: Remove `DepGraph` handling from rustc_metadataAlex Crichton-1/+1
This should now be entirely tracked through queries, so no need to have a `DepGraph` in the `CStore` object any more!
2017-09-05rustc: Store InternedString in `DefPathData`Alex Crichton-3/+0
Previously a `Symbol` was stored there, but this ended up causing hash collisions in situations that otherwise shouldn't have a hash collision. Only the symbol's string value was hashed, but it was possible for distinct symbols to have the same string value, fooling various calcuations into thinking that these paths *didn't* need disambiguating data when in fact they did! By storing `InternedString` instead we're hopefully triggering all the exising logic to disambiguate paths with same-name `Symbol` but actually distinct locations.
2017-09-05rustc: Remove lang item methods from CrateStoreAlex Crichton-3/+0
Given the previous commit, these are now trivially representable as queries!
2017-09-01rustc: rename CodeExtent to Scope and RegionMaps to ScopeTree.Eduard-Mihai Burtescu-11/+11
2017-09-01rustc: use hir::ItemLocalId instead of ast::NodeId in CodeExtent.Eduard-Mihai Burtescu-16/+14
2017-08-13Remove some more cfg'sbjorn3-1/+0
2017-08-12Less cfg'sbjorn3-1/+0
2017-08-11Actually make rustc_driver compile without llvmbjorn3-0/+2
2017-08-11Make librustc_driver work without librustc_transbjorn3-1/+1
2017-08-10driver: factor out `continue_parse_after_error` so it can be controlled via ↵Nick Cameron-1/+3
driver API
2017-06-10rustc: make the comon case of tcx.infer_ctxt(()) nicer.Eduard-Mihai Burtescu-1/+1
2017-06-01fix librustc_driver testsNiko Matsakis-16/+14
2017-05-15Remove rustc_llvm dependency from librustcRobin Kruppe-0/+1
Consequently, session creation can no longer initialize LLVM. The few places that use the compiler without going through rustc_driver/CompilerCalls thus need to be careful to manually initialize LLVM (via rustc_trans!) immediately after session creation. This means librustc is not rebuilt when LLVM changes.
2017-05-14Remove rustc_llvm dependency from rustc_metadataRobin Kruppe-1/+2
Move the code for loading metadata from rlibs and dylibs from rustc_metadata into rustc_trans, and introduce a trait to avoid introducing a direct dependency on rustc_trans. This means rustc_metadata is no longer rebuilt when LLVM changes.
2017-05-13rustc: stop interning CodeExtent, it's small enough.Eduard-Mihai Burtescu-6/+5
2017-05-13rustc: treat ReEarlyBound as free without replacing it with ReFree.Eduard-Mihai Burtescu-2/+3
2017-05-13rustc: use DefId instead of CodeExtent for FreeRegion's scope.Eduard-Mihai Burtescu-14/+14
2017-05-10rustc: Add a new `-Z force-unstable-if-unmarked` flagAlex Crichton-1/+1
This commit adds a new `-Z` flag to the compiler for use when bootstrapping the compiler itself. We want to be able to use crates.io crates, but we also want the usage of such crates to be as ergonomic as possible! To that end compiler crates are a little tricky in that the crates.io crates are not annotated as unstable, nor do they expect to pull in unstable dependencies. To cover all these situations it's intended that the compiler will forever now bootstrap with `-Z force-unstable-if-unmarked`. This flags serves a dual purpose of forcing crates.io crates to themselves be unstable while also allowing them to use other "unstable" crates.io crates. This should mean that adding a dependency to compiler no longer requires upstream modification with unstable/staged_api attributes for inclusion!
2017-05-02remove `mir_passes` from `Session` and add a FIXMENiko Matsakis-1/+2
2017-05-02fix librustc_driverNiko Matsakis-0/+1