summaryrefslogtreecommitdiffstats
path: root/clang/lib/Headers/__clang_cuda_runtime_wrapper.h
diff options
context:
space:
mode:
authorJustin Lebar <jlebar@google.com>2016-01-23 21:28:14 +0000
committerJustin Lebar <jlebar@google.com>2016-01-23 21:28:14 +0000
commit3039a593db6f013c374d25b715a56e6098bfe17f (patch)
treeca83ab20af1fc04b6c6cf0c4f62b32ab5f1ef0ad /clang/lib/Headers/__clang_cuda_runtime_wrapper.h
parenta8f0254bc1a4bdb3061d033cb5b9a3997bfc9a98 (diff)
downloadbcm5719-llvm-3039a593db6f013c374d25b715a56e6098bfe17f.tar.gz
bcm5719-llvm-3039a593db6f013c374d25b715a56e6098bfe17f.zip
[CUDA] Make printf work.
Summary: The code in CGCUDACall is largely based on a patch written by Eli Bendersky: http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20140324/210218.html That patch implemented an LLVM pass lowering printf to vprintf; this one does something similar, but in Clang codegen. Reviewers: echristo Subscribers: cfe-commits, jhen, tra, majnemer Differential Revision: http://reviews.llvm.org/D16372 llvm-svn: 258642
Diffstat (limited to 'clang/lib/Headers/__clang_cuda_runtime_wrapper.h')
-rw-r--r--clang/lib/Headers/__clang_cuda_runtime_wrapper.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Headers/__clang_cuda_runtime_wrapper.h b/clang/lib/Headers/__clang_cuda_runtime_wrapper.h
index 8e5f0331cb3..b2585f423f7 100644
--- a/clang/lib/Headers/__clang_cuda_runtime_wrapper.h
+++ b/clang/lib/Headers/__clang_cuda_runtime_wrapper.h
@@ -210,6 +210,11 @@ extern "C" __device__ __attribute__((const)) int __nvvm_reflect(const void *);
static __device__ __attribute__((used)) int __nvvm_reflect_anchor() {
return __nvvm_reflect("NONE");
}
+
+// The nvptx vprintf syscall. This doesn't actually need to be declared, but we
+// declare it so that if someone else declares it with a different signature,
+// we'll throw an error.
+extern "C" __device__ int vprintf(const char*, const char*);
#endif
#endif // __CUDA__
OpenPOWER on IntegriCloud