[CUDA] Mark CUDA as a no-errno platform.
authorJustin Lebar <jlebar@google.com>
Fri, 3 Nov 2017 02:30:00 +0000 (02:30 +0000)
committerJustin Lebar <jlebar@google.com>
Fri, 3 Nov 2017 02:30:00 +0000 (02:30 +0000)
Summary:
CUDA doesn't support errno at all, so this is the right thing -- or at
least, in the right direction.

But also, this unbreaks the CUDA test-suite math tests [0] after D39481.
__cuda_cmath.h forwards nexttoward() to __builtin_nexttoward, which,
after that patch, was lowering to a libcall that doesn't exist in NVPTX.

[0] http://lab.llvm.org:8011/builders/clang-cuda-build/builds/14999

Reviewers: tra

Subscribers: sanjoy, cfe-commits

Differential Revision: https://reviews.llvm.org/D39586

llvm-svn: 317297

clang/lib/Driver/ToolChains/Cuda.h

index 414c944..3101cb3 100644 (file)
@@ -157,6 +157,7 @@ public:
   bool isPICDefaultForced() const override { return false; }
   bool SupportsProfiling() const override { return false; }
   bool SupportsObjCGC() const override { return false; }
+  bool IsMathErrnoDefault() const override { return false; }
 
   void AddCudaIncludeArgs(const llvm::opt::ArgList &DriverArgs,
                           llvm::opt::ArgStringList &CC1Args) const override;