}
TEST(InterpreterTest, CatchException) {
+ llvm::llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
llvm::InitializeNativeTarget();
llvm::InitializeNativeTargetAsmPrinter();
EXPECT_ANY_THROW(ThrowException());
std::string CapturedStdOut = testing::internal::GetCapturedStdout();
EXPECT_EQ(CapturedStdOut, "Caught: 'To be caught in JIT'\n");
-
- llvm::llvm_shutdown();
}
} // end anonymous namespace
using namespace clang;
+#if defined(_AIX) || defined(__hexagon__) || \
+ (defined(_WIN32) && \
+ (defined(__aarch64__) || defined(_M_ARM64) || defined(__arm__)))
+#define CLANG_INTERPRETER_NO_SUPPORT_EXEC
+#endif
+
namespace {
using Args = std::vector<const char *>;
static std::unique_ptr<Interpreter>
~LLVMInitRAII() { llvm::llvm_shutdown(); }
} LLVMInit;
-#ifdef _AIX
+#ifdef CLANG_INTERPRETER_NO_SUPPORT_EXEC
TEST(IncrementalProcessing, DISABLED_FindMangledNameSymbol) {
#else
TEST(IncrementalProcessing, FindMangledNameSymbol) {
return R.getFoundDecl();
}
-#ifdef _AIX
+#ifdef CLANG_INTERPRETER_NO_SUPPORT_EXEC
TEST(IncrementalProcessing, DISABLED_InstantiateTemplate) {
#else
TEST(IncrementalProcessing, InstantiateTemplate) {