about summary refs log tree commit diff
path: root/src/tools/compiletest
diff options
context:
space:
mode:
authorSimonas Kazlauskas <git@kazlauskas.me>2017-06-08 17:18:05 +0300
committerSimonas Kazlauskas <git@kazlauskas.me>2017-06-15 19:11:55 +0300
commit406eddf5e1e14b9356b332c0df987a1bdf0d2c7f (patch)
treebf77d664b2b87b4f3b0fc6e37c452c81181e6dd8 /src/tools/compiletest
parent8938269db63bf1f9c0f17f3c2c39d3449b4d652e (diff)
Add a no-system-llvm compilecheck header
Diffstat (limited to 'src/tools/compiletest')
-rw-r--r--src/tools/compiletest/src/common.rs3
-rw-r--r--src/tools/compiletest/src/header.rs3
-rw-r--r--src/tools/compiletest/src/main.rs2
3 files changed, 8 insertions, 0 deletions
diff --git a/src/tools/compiletest/src/common.rs b/src/tools/compiletest/src/common.rs
index 92f6f36d69d..cc95e1b8930 100644
--- a/src/tools/compiletest/src/common.rs
+++ b/src/tools/compiletest/src/common.rs
@@ -166,6 +166,9 @@ pub struct Config {
     // Version of LLVM
     pub llvm_version: Option<String>,
 
+    // Is LLVM a system LLVM
+    pub system_llvm: bool,
+
     // Path to the android tools
     pub android_cross_path: PathBuf,
 
diff --git a/src/tools/compiletest/src/header.rs b/src/tools/compiletest/src/header.rs
index c503ca7d8cd..aa33580b337 100644
--- a/src/tools/compiletest/src/header.rs
+++ b/src/tools/compiletest/src/header.rs
@@ -166,6 +166,9 @@ impl EarlyProps {
         }
 
         fn ignore_llvm(config: &Config, line: &str) -> bool {
+            if config.system_llvm && line.starts_with("no-system-llvm") {
+                    return true;
+            }
             if let Some(ref actual_version) = config.llvm_version {
                 if line.starts_with("min-llvm-version") {
                     let min_version = line.trim_right()
diff --git a/src/tools/compiletest/src/main.rs b/src/tools/compiletest/src/main.rs
index 1bb0b765f9f..3dac580a5f4 100644
--- a/src/tools/compiletest/src/main.rs
+++ b/src/tools/compiletest/src/main.rs
@@ -97,6 +97,7 @@ pub fn parse_config(args: Vec<String> ) -> Config {
           optopt("", "gdb", "path to GDB to use for GDB debuginfo tests", "PATH"),
           optopt("", "lldb-version", "the version of LLDB used", "VERSION STRING"),
           optopt("", "llvm-version", "the version of LLVM used", "VERSION STRING"),
+          optflag("", "system-llvm", "is LLVM the system LLVM"),
           optopt("", "android-cross-path", "Android NDK standalone path", "PATH"),
           optopt("", "adb-path", "path to the android debugger", "PATH"),
           optopt("", "adb-test-dir", "path to tests for the android debugger", "PATH"),
@@ -183,6 +184,7 @@ pub fn parse_config(args: Vec<String> ) -> Config {
         gdb_native_rust: gdb_native_rust,
         lldb_version: extract_lldb_version(matches.opt_str("lldb-version")),
         llvm_version: matches.opt_str("llvm-version"),
+        system_llvm: matches.opt_present("system-llvm"),
         android_cross_path: opt_path(matches, "android-cross-path"),
         adb_path: opt_str2(matches.opt_str("adb-path")),
         adb_test_dir: opt_str2(matches.opt_str("adb-test-dir")),