summaryrefslogtreecommitdiffstats
path: root/clang/test/OpenMP/nvptx_param_translate.c
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2017-08-15 14:34:04 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2017-08-15 14:34:04 +0000
commit07ed94a7c77de3890e13bca10a030b7a45d8bbed (patch)
tree115bf0e0b1cd82a153192920951e9a9c7ad128cb /clang/test/OpenMP/nvptx_param_translate.c
parent16e6dd3cd674a60f2fe2b3d9f0d649432b41ce77 (diff)
downloadbcm5719-llvm-07ed94a7c77de3890e13bca10a030b7a45d8bbed.tar.gz
bcm5719-llvm-07ed94a7c77de3890e13bca10a030b7a45d8bbed.zip
[OPENMP] Fix compiler crash on argument translate for NVPTX.
When translating arguments for NVPTX target it is not taken into account that function may have variable number of arguments. Patch fixes this problem. llvm-svn: 310920
Diffstat (limited to 'clang/test/OpenMP/nvptx_param_translate.c')
-rw-r--r--clang/test/OpenMP/nvptx_param_translate.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/clang/test/OpenMP/nvptx_param_translate.c b/clang/test/OpenMP/nvptx_param_translate.c
new file mode 100644
index 00000000000..ec123ce3811
--- /dev/null
+++ b/clang/test/OpenMP/nvptx_param_translate.c
@@ -0,0 +1,19 @@
+// RUN: %clang_cc1 -verify -fopenmp -x c++ -triple powerpc64le-unknown-unknown -fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm-bc %s -o %t-ppc-host.bc
+// RUN: %clang_cc1 -verify -fopenmp -x c++ -triple nvptx64-unknown-unknown -fopenmp-targets=nvptx64-nvidia-cuda -emit-llvm %s -fopenmp-is-device -fopenmp-host-ir-file-path %t-ppc-host.bc -o - | FileCheck %s
+// expected-no-diagnostics
+
+// CHECK: [[MAP_FN:%.+]] = load void (i8*, ...)*, void (i8*, ...)** %
+// CHECK: call void (i8*, ...) [[MAP_FN]](i8* %
+int main() {
+ double a, b;
+
+#pragma omp target map(tofrom \
+ : a) map(to \
+ : b)
+ {
+#pragma omp taskgroup
+#pragma omp task shared(a)
+ a = b;
+ }
+ return 0;
+}
OpenPOWER on IntegriCloud