rust/src/test/run-make
Huon Wilson 532cd5f85a Separate most of rustc::lint::builtin into a separate crate.
This pulls out the implementations of most built-in lints into a
separate crate, to reduce edit-compile-test iteration times with
librustc_lint and increase parallelism. This should enable lints to be
refactored, added and deleted much more easily as it slashes the
edit-compile cycle to get a minimal working compiler to test with (`make
rustc-stage1`) from

    librustc -> librustc_typeck -> ... -> librustc_driver ->
        libcore -> ... -> libstd

to

    librustc_lint -> librustc_driver -> libcore -> ... libstd

which is significantly faster, mainly due to avoiding the librustc build
itself.

The intention would be to move as much as possible of the infrastructure
into the crate too, but the plumbing is deeply intertwined with librustc
itself at the moment. Also, there are lints for which diagnostics are
registered directly in the compiler code, not in their own crate
traversal, and their definitions have to remain in librustc.

This is a [breaking-change] for direct users of the compiler APIs:
callers of `rustc::session::build_session` or
`rustc::session::build_session_` need to manually call
`rustc_lint::register_builtins` on their return value.

This should make #22206 easier.
2015-02-28 15:33:59 +11:00
..
alloc-extern-crates Fix new test 2015-02-07 10:51:25 -08:00
allow-non-lint-warnings-cmdline Make '-A warnings' apply to all warnings, including feature gate warnings 2015-01-26 16:29:27 -08:00
allow-warnings-cmdline-stability Make '-A warnings' apply to all warnings, including feature gate warnings 2015-01-26 16:29:27 -08:00
c-dynamic-dylib Clean up tidy scripts, coverage, performance 2015-02-05 14:37:16 -08:00
c-dynamic-rlib Clean up tidy scripts, coverage, performance 2015-02-05 14:37:16 -08:00
c-link-to-rust-dylib Clean up tidy scripts, coverage, performance 2015-02-05 14:37:16 -08:00
c-link-to-rust-staticlib adapt run-make test suite for openbsd 2015-02-08 14:18:03 +01:00
c-static-dylib Clean up tidy scripts, coverage, performance 2015-02-05 14:37:16 -08:00
c-static-rlib Clean up tidy scripts, coverage, performance 2015-02-05 14:37:16 -08:00
cannot-read-embedded-idents Replace some uses of deprecated os functions 2015-02-16 16:19:24 +02:00
codegen-options-parsing Slightly improved rustc error messages for invalid -C arguments 2014-11-15 14:51:22 +01:00
compiler-lookup-paths rustc: Re-jigger -L and -l for MSYS compatibility 2014-12-31 16:05:00 -08:00
compiler-lookup-paths-2 rustc: Fix a leak in dependency= paths 2015-01-16 08:48:16 -08:00
crate-data-smoke rustc: Remove deprecated flags 2015-01-20 11:16:26 -08:00
crate-name-priority rustc: Mix extra-filename in temp outputs 2014-07-18 18:09:08 -07:00
dep-info rustc: Remove deprecated flags 2015-01-20 11:16:26 -08:00
dep-info-spaces rustc: Remove deprecated flags 2015-01-20 11:16:26 -08:00
duplicate-output-flavors Deduplicate --crate-type arguments 2015-02-09 19:51:21 +02:00
dylib-chain rustc: Default to static linking dylibs 2014-11-03 15:08:20 -08:00
error-found-staticlib-instead-crate Improve error message, when found staticlib instead crate 2015-02-06 04:41:49 +03:00
error-writing-dependencies rustc: Remove deprecated flags 2015-01-20 11:16:26 -08:00
extern-diff-internal-name rustc: Turn off multiple versions of crate warning 2015-01-06 08:22:59 -08:00
extern-flag-disambiguates rustc: Fix a leak in dependency= paths 2015-01-16 08:48:16 -08:00
extern-flag-fun test: Fix tests for crate_id removal 2014-07-05 12:46:42 -07:00
extern-fn-generic Clean up tidy scripts, coverage, performance 2015-02-05 14:37:16 -08:00
extern-fn-mangle Clean up tidy scripts, coverage, performance 2015-02-05 14:37:16 -08:00
extern-fn-reachable std: Move dynamic_lib from std::unstable to std 2014-06-09 17:46:53 -07:00
extern-fn-with-packed-struct Clean up tidy scripts, coverage, performance 2015-02-05 14:37:16 -08:00
extern-fn-with-union Clean up tidy scripts, coverage, performance 2015-02-05 14:37:16 -08:00
extern-overrides-distribution rustc: Use --extern to always override 2015-01-30 09:48:23 -08:00
extra-filename-with-temp-outputs rustc: Mix extra-filename in temp outputs 2014-07-18 18:09:08 -07:00
graphviz-flowgraph revise handling of match expressions so that arms branch to next arm. 2015-02-22 12:43:08 +01:00
interdependent-c-libraries Clean up tidy scripts, coverage, performance 2015-02-05 14:37:16 -08:00
intrinsic-unreachable Add tests for intrinsics::unreachable 2014-10-04 20:09:09 -07:00
invalid-library rustc: Better error when loading invalid libraries 2014-03-01 23:36:28 -08:00
issue-7349 tests: make run-make/issue-7349 more specific to avoid false positives. 2015-02-16 17:13:47 +02:00
issue-11908 Test fixes and rebase conflicts 2014-07-05 12:46:42 -07:00
issue-12446 Clean up tidy scripts, coverage, performance 2015-02-05 14:37:16 -08:00
issue-14500 Move -Z lto to -C lto. 2014-09-21 02:17:31 -04:00
issue-15460 Clean up tidy scripts, coverage, performance 2015-02-05 14:37:16 -08:00
issue-19371 Separate most of rustc::lint::builtin into a separate crate. 2015-02-28 15:33:59 +11:00
issue-22131 Test fixes and rebase conflicts 2015-02-10 11:51:38 -08:00
libs-and-bins rustc: Remove the session building_library flag 2014-05-02 15:26:45 -07:00
libs-through-symlinks rustc: Start "stabilizing" some flags 2014-12-19 11:38:24 -08:00
link-path-order Clean up tidy scripts, coverage, performance 2015-02-05 14:37:16 -08:00
linkage-attr-on-static Clean up tidy scripts, coverage, performance 2015-02-05 14:37:16 -08:00
ls-metadata Move --ls behind -Z ls 2014-04-16 17:45:06 +02:00
lto-readonly-lib rustc: Fix permission denied error in 'ar' when lto is enabled 2014-09-29 15:07:14 +02:00
lto-smoke Move -Z lto to -C lto. 2014-09-21 02:17:31 -04:00
lto-smoke-c Clean up tidy scripts, coverage, performance 2015-02-05 14:37:16 -08:00
lto-syntax-extension Replace #[phase] with #[plugin] / #[macro_use] / #[no_link] 2015-01-05 18:21:13 -08:00
manual-crate-name rustc: Repurpose the --crate-name CLI flag 2014-07-05 12:46:42 -07:00
manual-link Clean up tidy scripts, coverage, performance 2015-02-05 14:37:16 -08:00
many-crates-but-no-match Remove a large amount of deprecated functionality 2014-10-19 12:59:40 -07:00
metadata-flag-frobs-symbols test: Fix tests for crate_id removal 2014-07-05 12:46:42 -07:00
mismatching-target-triples Feature-gate #![no_std] 2015-02-07 10:49:58 -08:00
missing-crate-dependency Refactoring: Introduce distinct host and target rpath var setters. 2014-05-18 22:56:26 +02:00
mixing-deps rustc: Default to static linking dylibs 2014-11-03 15:08:20 -08:00
mixing-formats rustc: Default to static linking dylibs 2014-11-03 15:08:20 -08:00
mixing-libs Refactoring: Introduce distinct host and target rpath var setters. 2014-05-18 22:56:26 +02:00
no-duplicate-libs Feature-gate #![no_std] 2015-02-07 10:49:58 -08:00
no-intermediate-extras Remove workaround of #13793/#10872 2014-08-18 13:45:08 +09:00
no-stack-check adapt run-make test suite for openbsd 2015-02-08 14:18:03 +01:00
obey-crate-type-flag Refactoring: Introduce distinct host and target rpath var setters. 2014-05-18 22:56:26 +02:00
output-type-permutations rustc: Start "stabilizing" some flags 2014-12-19 11:38:24 -08:00
prefer-dylib rustc: Default to static linking dylibs 2014-11-03 15:08:20 -08:00
prefer-rlib extern mod => extern crate 2014-02-14 22:55:21 -08:00
pretty-expanded rustc: Remove deprecated flags 2015-01-20 11:16:26 -08:00
pretty-expanded-hygiene Feature-gate #![no_std] 2015-02-07 10:49:58 -08:00
pretty-print-path-suffix rustc: Remove deprecated flags 2015-01-20 11:16:26 -08:00
pretty-print-to-file rustc: Remove deprecated flags 2015-01-20 11:16:26 -08:00
prune-link-args test: Fix run-make on windows 2014-04-28 11:45:30 +09:00
relocation-model Add support for different relocation models 2014-04-06 15:06:44 +02:00
rlib-chain Use new attribute syntax in python files in src/etc too (#13478) 2014-04-14 21:00:31 +05:30
rustdoc-assoc-types Print full Type::ResolvedPaths starting with Self 2015-02-06 03:22:29 -08:00
rustdoc-extern-default-method Add a rustdoc test for default methods in external crates 2015-02-27 00:28:57 +09:00
rustdoc-extern-method rustdoc: Show non-Rust ABIs on methods 2015-02-06 01:02:15 -08:00
rustdoc-ffi Encode foreign function argument names 2015-02-06 03:22:34 -08:00
rustdoc-hidden-line rustdoc: Clean up some htmldocck tests 2015-02-05 23:54:11 -08:00
rustdoc-json Fallout: tests. As tests frequently elide things, lots of changes 2015-02-18 10:25:28 -05:00
rustdoc-must-use rustdoc: Show must_use attribute 2015-02-13 00:47:03 +09:00
rustdoc-negative-impl Fallout: tests. As tests frequently elide things, lots of changes 2015-02-18 10:25:28 -05:00
rustdoc-recursion rustdoc: Don't try to inline the crate root 2014-09-23 15:19:30 -07:00
rustdoc-search-index Fallout: tests. As tests frequently elide things, lots of changes 2015-02-18 10:25:28 -05:00
rustdoc-smoke Fallout: tests. As tests frequently elide things, lots of changes 2015-02-18 10:25:28 -05:00
rustdoc-viewpath-self Fallout: tests. As tests frequently elide things, lots of changes 2015-02-18 10:25:28 -05:00
rustdoc-where Fallout: tests. As tests frequently elide things, lots of changes 2015-02-18 10:25:28 -05:00
save-analysis Round 5 test fixes and rebase conflicts 2015-02-19 07:03:18 -08:00
sepcomp-cci-copies rustc: Start "stabilizing" some flags 2014-12-19 11:38:24 -08:00
sepcomp-inlining rustc: Start "stabilizing" some flags 2014-12-19 11:38:24 -08:00
sepcomp-separate rustc: Start "stabilizing" some flags 2014-12-19 11:38:24 -08:00
simd-ffi Fallout: tests. As tests frequently elide things, lots of changes 2015-02-18 10:25:28 -05:00
simple-dylib rustc: Default to static linking dylibs 2014-11-03 15:08:20 -08:00
simple-rlib extern mod => extern crate 2014-02-14 22:55:21 -08:00
static-dylib-by-default test/run-make: another missing $(EXTRACFLAGS). 2014-12-02 04:52:29 +08:00
static-unwinding Test fixes and rebase conflicts 2015-02-17 19:42:28 -08:00
staticlib-blank-lib rustc: Add knowledge of separate lookup paths 2014-12-23 10:08:17 -08:00
suspicious-library rustc: Default to static linking dylibs 2014-11-03 15:08:20 -08:00
symbols-are-reasonable rollup merge of #22286: nikomatsakis/variance-4b 2015-02-18 15:52:01 -08:00
symlinked-extern Properly canonicalize crate paths specified via --extern 2014-08-15 14:40:09 +02:00
symlinked-libraries rustc: Default to static linking dylibs 2014-11-03 15:08:20 -08:00
target-specs Fallout: tests. As tests frequently elide things, lots of changes 2015-02-18 10:25:28 -05:00
test-harness Continue cfg syntax transition 2014-10-12 11:40:19 -07:00
unicode-input Update suffixes en masse in tests using perl -p -i -e 2015-02-18 09:10:10 -05:00
use-extern-for-plugins Fix tests that fail on FreeBSD 2015-02-15 17:18:55 +09:00
version rustc: Start "stabilizing" some flags 2014-12-19 11:38:24 -08:00
volatile-intrinsics rustc: Start "stabilizing" some flags 2014-12-19 11:38:24 -08:00
weird-output-filenames Disallow crate names with leading hyphens 2015-02-22 20:05:05 +13:00
tools.mk Test fixes and rebase conflicts 2015-02-02 18:50:23 -08:00