summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/unittests/ExecutionEngine/MCJIT/MCJITTestAPICommon.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/unittests/ExecutionEngine/MCJIT/MCJITTestAPICommon.h b/llvm/unittests/ExecutionEngine/MCJIT/MCJITTestAPICommon.h
index 0f554439ad4..f47de56d3e4 100644
--- a/llvm/unittests/ExecutionEngine/MCJIT/MCJITTestAPICommon.h
+++ b/llvm/unittests/ExecutionEngine/MCJIT/MCJITTestAPICommon.h
@@ -21,13 +21,14 @@
#include "llvm/InitializePasses.h"
#include "llvm/Support/Host.h"
#include "llvm/Support/TargetSelect.h"
+#include "llvm/Support/TargetRegistry.h"
// Used to skip tests on unsupported architectures and operating systems.
// To skip a test, add this macro at the top of a test-case in a suite that
// inherits from MCJITTestBase. See MCJITTest.cpp for examples.
#define SKIP_UNSUPPORTED_PLATFORM \
do \
- if (!ArchSupportsMCJIT() || !OSSupportsMCJIT()) \
+ if (!ArchSupportsMCJIT() || !OSSupportsMCJIT() || !HostCanBeTargeted()) \
return; \
while(0)
@@ -52,6 +53,11 @@ protected:
HostTriple = Triple::normalize(HostTriple);
}
+ bool HostCanBeTargeted() {
+ std::string Error;
+ return TargetRegistry::lookupTarget(HostTriple, Error) != nullptr;
+ }
+
/// Returns true if the host architecture is known to support MCJIT
bool ArchSupportsMCJIT() {
Triple Host(HostTriple);
OpenPOWER on IntegriCloud