Thanks! On Tue, Apr 19, 2016 at 11:58 AM Justin Lebar via cfe-commits < cfe-commits@lists.llvm.org> wrote:
> Committed a test in r266796. > > On Tue, Apr 19, 2016 at 11:42 AM, Justin Lebar <jle...@google.com> wrote: > >> I don't really understand why having to change the test when we change > the code it test changes... > > > > My thought was, this code isn't really testing how we detect a CUDA > > installation. That's a separate matter, involving --cuda-path, > > various default locations we check, and so on. > > > > Anyway I now see that we're already biting that cost with existing > > tests, so adding a test for this shouldn't be a big deal. > > > > On Tue, Apr 19, 2016 at 11:33 AM, Chandler Carruth <chandl...@gmail.com> > wrote: > >> I don't really understand why having to change the test when we change > the > >> code it test changes... > >> > >> We have several fake install trees in the driver tests to check pretty > much > >> exactly these kinds of things? > >> > >> On Tue, Apr 19, 2016 at 11:31 AM Justin Lebar via cfe-commits > >> <cfe-commits@lists.llvm.org> wrote: > >>> > >>> Yes, in general our testing story around the CUDA installs needs work. > >>> In particular, our wrapper headers are complicated and fragile, and > >>> have zero coverage at the moment. That's why Art is working on > >>> getting CUDA tests into the test-suite. > >>> > >>> It's possible to test this particular change without access to a full > >>> CUDA installation. However, I was hesitant to do so, because such a > >>> test would have to create a fake cuda installation. Our test would > >>> then be fragile with respect to exactly how clang detects that a CUDA > >>> install is "real". If we changed those heuristics, we'd have to > >>> change our test. > >>> > >>> On Tue, Apr 19, 2016 at 11:21 AM, Chandler Carruth < > chandl...@gmail.com> > >>> wrote: > >>> > This commit is missing a test. > >>> > > >>> > > >>> > On Fri, Apr 15, 2016 at 5:16 PM Justin Lebar via cfe-commits > >>> > <cfe-commits@lists.llvm.org> wrote: > >>> >> > >>> >> Author: jlebar > >>> >> Date: Fri Apr 15 19:11:11 2016 > >>> >> New Revision: 266496 > >>> >> > >>> >> URL: http://llvm.org/viewvc/llvm-project?rev=266496&view=rev > >>> >> Log: > >>> >> [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 > >>> >> > >>> >> Modified: > >>> >> cfe/trunk/include/clang/Basic/DiagnosticDriverKinds.td > >>> >> cfe/trunk/lib/Driver/ToolChains.cpp > >>> >> > >>> >> Modified: cfe/trunk/include/clang/Basic/DiagnosticDriverKinds.td > >>> >> URL: > >>> >> > >>> >> > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticDriverKinds.td?rev=266496&r1=266495&r2=266496&view=diff > >>> >> > >>> >> > >>> >> > ============================================================================== > >>> >> --- cfe/trunk/include/clang/Basic/DiagnosticDriverKinds.td > (original) > >>> >> +++ cfe/trunk/include/clang/Basic/DiagnosticDriverKinds.td Fri Apr > 15 > >>> >> 19:11:11 2016 > >>> >> @@ -23,6 +23,9 @@ def err_drv_unknown_language : Error<"la > >>> >> 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< > >>> >> > >>> >> Modified: cfe/trunk/lib/Driver/ToolChains.cpp > >>> >> URL: > >>> >> > >>> >> > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains.cpp?rev=266496&r1=266495&r2=266496&view=diff > >>> >> > >>> >> > >>> >> > ============================================================================== > >>> >> --- cfe/trunk/lib/Driver/ToolChains.cpp (original) > >>> >> +++ cfe/trunk/lib/Driver/ToolChains.cpp Fri Apr 15 19:11:11 2016 > >>> >> @@ -4118,11 +4118,14 @@ void Linux::AddCudaIncludeArgs(const Arg > >>> >> 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(); } > >>> >> > >>> >> > >>> >> _______________________________________________ > >>> >> cfe-commits mailing list > >>> >> cfe-commits@lists.llvm.org > >>> >> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits > >>> _______________________________________________ > >>> cfe-commits mailing list > >>> cfe-commits@lists.llvm.org > >>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits