diff --git a/llvm/tools/llvm-jitlink/llvm-jitlink.cpp b/llvm/tools/llvm-jitlink/llvm-jitlink.cpp index 3b9972fe49a8c..6c8245a70f2ce 100644 --- a/llvm/tools/llvm-jitlink/llvm-jitlink.cpp +++ b/llvm/tools/llvm-jitlink/llvm-jitlink.cpp @@ -736,6 +736,13 @@ static Expected> launchExecutor() { return make_error("-" + OutOfProcessExecutor.ArgStr + " not supported on non-unix platforms", inconvertibleErrorCode()); +#elif !LLVM_ENABLE_THREADS + // Out of process mode using SimpleRemoteEPC depends on threads. + return make_error( + "-" + OutOfProcessExecutor.ArgStr + + " requires threads, but LLVM was built with " + "LLVM_ENABLE_THREADS=Off", + inconvertibleErrorCode()); #else constexpr int ReadEnd = 0; @@ -795,7 +802,7 @@ static Expected> launchExecutor() { #endif } -#ifdef LLVM_ON_UNIX +#if LLVM_ON_UNIX && LLVM_ENABLE_THREADS static Error createTCPSocketError(Twine Details) { return make_error( formatv("Failed to connect TCP socket '{0}': {1}", @@ -847,6 +854,13 @@ static Expected> connectToExecutor() { return make_error("-" + OutOfProcessExecutorConnect.ArgStr + " not supported on non-unix platforms", inconvertibleErrorCode()); +#elif !LLVM_ENABLE_THREADS + // Out of process mode using SimpleRemoteEPC depends on threads. + return make_error( + "-" + OutOfProcessExecutorConnect.ArgStr + + " requires threads, but LLVM was built with " + "LLVM_ENABLE_THREADS=Off", + inconvertibleErrorCode()); #else StringRef Host, PortStr; @@ -907,8 +921,8 @@ Expected> Session::Create(Triple TT) { return PageSize.takeError(); EPC = std::make_unique( std::make_shared(), - std::make_unique(), - std::move(TT), *PageSize, createMemoryManager()); + std::make_unique(), std::move(TT), *PageSize, + createMemoryManager()); } Error Err = Error::success();