[gcc r17-2680] OpenMP/C++: Handle OMP_CLAUSE_DEVICE_TYPE in pt.cc
Tobias Burnus via Gcc-cvs <[email protected]>
| Newsgroups | gmane.comp.gcc.cvs |
|---|---|
| Message-ID | <[email protected]> |
https://gcc.gnu.org/g:380bd5c411037ee59c1db96b6d0f882e06d91d5d commit r17-2680-g380bd5c411037ee59c1db96b6d0f882e06d91d5d Author: Tobias Burnus <[email protected]> Date: Fri Jul 24 10:39:29 2026 +0200 OpenMP/C++: Handle OMP_CLAUSE_DEVICE_TYPE in pt.cc gcc/cp/ChangeLog: * pt.cc (tsubst_omp_clauses): Add OMP_CLAUSE_DEVICE_TYPE to switch statement. gcc/testsuite/ChangeLog: * g++.dg/gomp/target-device-type.C: New test. Diff: --- gcc/cp/pt.cc | 1 + gcc/testsuite/g++.dg/gomp/target-device-type.C | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc index 1290db45e182..b18fa5c02cfe 100644 --- a/gcc/cp/pt.cc +++ b/gcc/cp/pt.cc @@ -19028,6 +19028,7 @@ tsubst_omp_clauses (tree clauses, enum c_omp_region_type ort, break; case OMP_CLAUSE_NOWAIT: case OMP_CLAUSE_DEFAULT: + case OMP_CLAUSE_DEVICE_TYPE: case OMP_CLAUSE_UNTIED: case OMP_CLAUSE_MERGEABLE: case OMP_CLAUSE_INBRANCH: diff --git a/gcc/testsuite/g++.dg/gomp/target-device-type.C b/gcc/testsuite/g++.dg/gomp/target-device-type.C new file mode 100644 index 000000000000..dc2ba2d81992 --- /dev/null +++ b/gcc/testsuite/g++.dg/gomp/target-device-type.C @@ -0,0 +1,12 @@ +template <typename T> +int foo(T *x) +{ + int res; + #pragma omp target device_type(nohost) map(from:res) + res = x[0]; + return res; +} + +int f(int *y) { + return foo<int>(y); +}