[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);
+}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.