about summary refs log tree commit diff
path: root/src/bootstrap
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2016-09-01 10:52:44 -0700
committerAlex Crichton <alex@alexcrichton.com>2016-09-01 16:14:17 -0700
commit96283fc08367ae8c3d344f2342c4ebe11d799092 (patch)
treef4103d1b396456ca2ec844efb327a964bdea8c40 /src/bootstrap
parentb2799a56a1631ee351e4687ee649808e28cccda1 (diff)
downloadrust-96283fc08367ae8c3d344f2342c4ebe11d799092.tar.gz
rust-96283fc08367ae8c3d344f2342c4ebe11d799092.zip
test: Add a min-llvm-version directive
We've got tests which require a particular version of LLVM to run as they're
testing bug fixes. Our build system, however, supports multiple LLVM versions,
so we can't run these tests on all LLVM versions.

This adds a new `min-llvm-version` directive for tests so they can opt out of
being run on older versions of LLVM. This then namely applies that logic to the
`issue-36023.rs` test case and...

Closes #36138
Diffstat (limited to 'src/bootstrap')
-rw-r--r--src/bootstrap/check.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/bootstrap/check.rs b/src/bootstrap/check.rs
index 3d8b1438125..2b9d717cbd4 100644
--- a/src/bootstrap/check.rs
+++ b/src/bootstrap/check.rs
@@ -148,6 +148,9 @@ pub fn compiletest(build: &Build,
     if let Some(ref dir) = build.lldb_python_dir {
         cmd.arg("--lldb-python-dir").arg(dir);
     }
+    let llvm_config = build.llvm_config(target);
+    let llvm_version = output(Command::new(&llvm_config).arg("--version"));
+    cmd.arg("--llvm-version").arg(llvm_version);
 
     cmd.args(&build.flags.args);
 
@@ -158,7 +161,6 @@ pub fn compiletest(build: &Build,
     // Only pass correct values for these flags for the `run-make` suite as it
     // requires that a C++ compiler was configured which isn't always the case.
     if suite == "run-make" {
-        let llvm_config = build.llvm_config(target);
         let llvm_components = output(Command::new(&llvm_config).arg("--components"));
         let llvm_cxxflags = output(Command::new(&llvm_config).arg("--cxxflags"));
         cmd.arg("--cc").arg(build.cc(target))