This reverts commit r242058, r242065, r242067.

The tests were failing on OS X.

Revert "[cuda] Driver changes to compile and stitch together host and device-side CUDA code."
Revert "Fixed regex to properly match '64' in the test case."
Revert "clang/test/Driver/cuda-options.cu REQUIRES clang-driver, at least."

llvm-svn: 242077
This commit is contained in:
Rafael Espindola
2015-07-13 22:26:30 +00:00
parent 3ca8f429b1
commit abbd6d6824
17 changed files with 28 additions and 512 deletions

View File

@@ -15,7 +15,6 @@
#include "clang/Basic/DiagnosticOptions.h"
#include "clang/Driver/Compilation.h"
#include "clang/Driver/Driver.h"
#include "clang/Driver/Action.h"
#include "clang/Driver/Options.h"
#include "clang/Driver/Tool.h"
#include "clang/Frontend/CompilerInstance.h"
@@ -62,21 +61,9 @@ clang::createInvocationFromCommandLine(ArrayRef<const char *> ArgList,
}
// We expect to get back exactly one command job, if we didn't something
// failed. CUDA compilation is an exception as it creates multiple jobs. If
// that's the case, we proceed with the first job. If caller needs particular
// CUDA job, it should be controlled via --cuda-{host|device}-only option
// passed to the driver.
// failed.
const driver::JobList &Jobs = C->getJobs();
bool CudaCompilation = false;
if (Jobs.size() > 1) {
for (auto &A : C->getActions())
if (isa<driver::CudaDeviceAction>(A)) {
CudaCompilation = true;
break;
}
}
if (Jobs.size() == 0 || !isa<driver::Command>(*Jobs.begin()) ||
(Jobs.size() > 1 && !CudaCompilation)) {
if (Jobs.size() != 1 || !isa<driver::Command>(*Jobs.begin())) {
SmallString<256> Msg;
llvm::raw_svector_ostream OS(Msg);
Jobs.Print(OS, "; ", true);