From: Artyom Skrobov <artyom.skrobov@arm.com>
Date: Wed, 11 Sep 2013 20:12:19 +0100
Subject: [PATCH] Add "native" to config.available_features, to make it easier to disable non-x-compile-safe tests

---
 test/Index/cindex-from-source.m |    2 +-
 test/Index/complete-pch.m       |    2 ++
 test/lit.cfg                    |    4 ++++
 test/lit.site.cfg.in            |    1 +
 4 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/test/Index/cindex-from-source.m b/test/Index/cindex-from-source.m
index f226e45..504d90f 100644
--- a/test/Index/cindex-from-source.m
+++ b/test/Index/cindex-from-source.m
@@ -1,4 +1,4 @@
-
+// REQUIRES: native
 // RUN: %clang -x objective-c-header %S/Inputs/cindex-from-source.h -o %t.pfx.h.gch
 // RUN: c-index-test -test-load-source local %s -include %t.pfx.h > %t
 // RUN: FileCheck %s < %t
diff --git a/test/Index/complete-pch.m b/test/Index/complete-pch.m
index 517d49c..4c29f27 100644
--- a/test/Index/complete-pch.m
+++ b/test/Index/complete-pch.m
@@ -11,6 +11,8 @@ void msg_id(id x) {
   [x instanceMethod1:5];
 }
 
+// REQUIRES: native
+
 // Build the precompiled header
 // RUN: %clang -x objective-c-header -o %t.h.pch %S/Inputs/complete-pch.h
 
diff --git a/test/lit.cfg b/test/lit.cfg
index d23a40c..3b1c2c1 100644
--- a/test/lit.cfg
+++ b/test/lit.cfg
@@ -256,6 +256,10 @@ if not platform.system() in ['Windows'] or not execute_external:
 if platform.system() not in ['Windows']:
     config.available_features.add('ansi-escape-sequences')
 
+# Native compilation: host arch == target arch
+if config.host_arch in config.target_triple:
+    config.available_features.add("native")
+
 # Case-insensitive file system
 def is_filesystem_case_insensitive():
     handle, path = tempfile.mkstemp(prefix='case-test', dir=config.test_exec_root)
diff --git a/test/lit.site.cfg.in b/test/lit.site.cfg.in
index 1b0b09a..9a4fa33 100644
--- a/test/lit.site.cfg.in
+++ b/test/lit.site.cfg.in
@@ -13,6 +13,7 @@ config.llvm_use_sanitizer = "@LLVM_USE_SANITIZER@"
 config.clang_arcmt = @ENABLE_CLANG_ARCMT@
 config.clang_staticanalyzer = @ENABLE_CLANG_STATIC_ANALYZER@
 config.clang_rewriter = @ENABLE_CLANG_REWRITER@
+config.host_arch = "@HOST_ARCH@"
 
 # Support substitution of the tools and libs dirs with user parameters. This is
 # used when we can't determine the tool dir at configuration time.
-- 
1.7.9.5

