forked from OSchip/llvm-project
Skip MCJIT unit tests if LLVM is not configured for native compilation
Patch by Sergej Jaskiewicz! Differential Revision: D67089 llvm-svn: 370812
This commit is contained in:
parent
e331d50534
commit
4a07bba31c
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue