forked from OSchip/llvm-project
[CUDA] Raise an error if the CUDA install can't be found.
Summary: Without this change, we silently proceed on without including __clang_cuda_runtime_wrapper.h. This leads to very strange behavior -- you say you're compiling CUDA code, but e.g. __device__ is not defined! Reviewers: tra Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D19180 llvm-svn: 266496
This commit is contained in:
parent
4d247e7012
commit
423019d059
|
@ -23,6 +23,9 @@ def err_drv_unknown_language : Error<"language not recognized: '%0'">;
|
|||
def err_drv_invalid_arch_name : Error<
|
||||
"invalid arch name '%0'">;
|
||||
def err_drv_cuda_bad_gpu_arch : Error<"Unsupported CUDA gpu architecture: %0">;
|
||||
def err_drv_no_cuda_installation : Error<
|
||||
"cannot find CUDA installation. Provide its path via --cuda-path, or pass "
|
||||
"-nocudainc to build without CUDA includes.">;
|
||||
def err_drv_invalid_thread_model_for_target : Error<
|
||||
"invalid thread model '%0' in '%1' for this target">;
|
||||
def err_drv_invalid_linker_name : Error<
|
||||
|
|
|
@ -4118,11 +4118,14 @@ void Linux::AddCudaIncludeArgs(const ArgList &DriverArgs,
|
|||
if (DriverArgs.hasArg(options::OPT_nocudainc))
|
||||
return;
|
||||
|
||||
if (CudaInstallation.isValid()) {
|
||||
addSystemInclude(DriverArgs, CC1Args, CudaInstallation.getIncludePath());
|
||||
CC1Args.push_back("-include");
|
||||
CC1Args.push_back("__clang_cuda_runtime_wrapper.h");
|
||||
if (!CudaInstallation.isValid()) {
|
||||
getDriver().Diag(diag::err_drv_no_cuda_installation);
|
||||
return;
|
||||
}
|
||||
|
||||
addSystemInclude(DriverArgs, CC1Args, CudaInstallation.getIncludePath());
|
||||
CC1Args.push_back("-include");
|
||||
CC1Args.push_back("__clang_cuda_runtime_wrapper.h");
|
||||
}
|
||||
|
||||
bool Linux::isPIEDefault() const { return getSanitizerArgs().requiresPIE(); }
|
||||
|
|
Loading…
Reference in New Issue