[gcc/devel/omp/gcc-16] XFAIL 'libgomp.c++/target-flex-{300, 60, 61, 62, 81}.C'

Sandra Loosemore via Gcc-cvs <[email protected]>
Newsgroups gmane.comp.gcc.cvs
Message-ID <[email protected]>
https://gcc.gnu.org/g:60105915314a9ad11b213c6edb10697b3cafdee5

commit 60105915314a9ad11b213c6edb10697b3cafdee5
Author: Thomas Schwinge <[email protected]>
Date:   Tue Apr 14 02:06:13 2026 +0000

    XFAIL 'libgomp.c++/target-flex-{300,60,61,62,81}.C'
    
    ... which run into:
    
        [...]/libgomp.c++/target-flex-300.C: In function 'bool test(std::size_t)':
        [...]/libgomp.c++/target-flex-300.C:25:11: sorry, unimplemented: unsupported map expression '<lambda closure object>test(std::size_t)::<lambda(int)>()'
    
    ... etc., due to other OG15 changes.
    Specifically, the "sorry" in gimplify_adjust_omp_clauses was added by
    the patch "OpenMP: Support strided and shaped-array updates for C++".
    
    Also temporarily restrict these tests to compile-only to avoid an UNRESOLVED
    on the test execution.
    
            libgomp/
            * testsuite/libgomp.c++/target-flex-300.C: XFAIL.
            * testsuite/libgomp.c++/target-flex-60.C: Likewise.
            * testsuite/libgomp.c++/target-flex-61.C: Likewise.
            * testsuite/libgomp.c++/target-flex-62.C: Likewise.
            * testsuite/libgomp.c++/target-flex-81.C: Likewise.
    
    Co-Authored-By: Sandra Loosemore <[email protected]>

Diff:
---
 libgomp/testsuite/libgomp.c++/target-flex-300.C | 6 ++++++
 libgomp/testsuite/libgomp.c++/target-flex-60.C  | 6 ++++++
 libgomp/testsuite/libgomp.c++/target-flex-61.C  | 6 ++++++
 libgomp/testsuite/libgomp.c++/target-flex-62.C  | 6 ++++++
 libgomp/testsuite/libgomp.c++/target-flex-81.C  | 6 ++++++
 5 files changed, 30 insertions(+)

diff --git a/libgomp/testsuite/libgomp.c++/target-flex-300.C b/libgomp/testsuite/libgomp.c++/target-flex-300.C
index ecfd8cb108a4..b5c459de889d 100644
--- a/libgomp/testsuite/libgomp.c++/target-flex-300.C
+++ b/libgomp/testsuite/libgomp.c++/target-flex-300.C
@@ -1,5 +1,9 @@
 /* { dg-additional-options -std=c++23 } */
 
+/* FIXME: See XFAIL below.  Until this is fixed, this test won't compile
+   and will result in a bogus UNRESOLVED.  */
+/* { dg-do compile } */
+
 /* numerics  */
 
 #include <algorithm>
@@ -23,6 +27,8 @@ bool test(std::size_t arg)
   int *data = vec.data();
   std::size_t size = vec.size();
   #pragma omp target defaultmap(none) map(from: ok, midpoint_out) map(tofrom: data[ :size]) map(to: arg, size)
+  /* <https://baylibre.slack.com/archives/C06TTV7HMMG/p1748508583437829>
+     { dg-bogus {sorry, unimplemented: unsupported map expression '<lambda closure object>.*} TODO { xfail *-*-* } .-2 } */
     {
       std::span span = {data, size};
       bool inner_ok = true;
diff --git a/libgomp/testsuite/libgomp.c++/target-flex-60.C b/libgomp/testsuite/libgomp.c++/target-flex-60.C
index 7e1bf96c8d17..782d91a17d0e 100644
--- a/libgomp/testsuite/libgomp.c++/target-flex-60.C
+++ b/libgomp/testsuite/libgomp.c++/target-flex-60.C
@@ -1,5 +1,9 @@
 /* algorithms pre c++20 */
 
+/* FIXME: See XFAIL below.  Until this is fixed, this test won't compile
+   and will result in a bogus UNRESOLVED.  */
+/* { dg-do compile } */
+
 #include <algorithm>
 #include <vector>
 
@@ -13,6 +17,8 @@ bool test(const T (&arr)[Size])
   T out_shifted_arr[Size];
   #pragma omp target map(from: ok, out_2x_arr[ :Size], out_shifted_arr[ :Size]) \
 		     map(to: arr[ :Size])
+  /* <https://baylibre.slack.com/archives/C06TTV7HMMG/p1748508583437829>
+     { dg-bogus {sorry, unimplemented: unsupported map expression '<lambda closure object>.*} TODO { xfail *-*-* } .-3 } */
     {
       std::vector<T> vec(Size);
       std::vector<T> mutated(Size);
diff --git a/libgomp/testsuite/libgomp.c++/target-flex-61.C b/libgomp/testsuite/libgomp.c++/target-flex-61.C
index 551679f65fb0..d67b4c56070a 100644
--- a/libgomp/testsuite/libgomp.c++/target-flex-61.C
+++ b/libgomp/testsuite/libgomp.c++/target-flex-61.C
@@ -1,5 +1,9 @@
 /* { dg-additional-options "-std=c++20" } */
 
+/* FIXME: See XFAIL below.  Until this is fixed, this test won't compile
+   and will result in a bogus UNRESOLVED.  */
+/* { dg-do compile } */
+
 /* ranged algorithms c++20 */
 
 #include <algorithm>
@@ -22,6 +26,8 @@ bool test(const T (&arr)[Size])
   #pragma omp target defaultmap(none) \
 		     map(from: ok, out_2x_arr[ :Size], out_shifted_arr[ :Size]) \
 		     map(to: arr[ :Size])
+  /* <https://baylibre.slack.com/archives/C06TTV7HMMG/p1748508583437829>
+     { dg-bogus {sorry, unimplemented: unsupported map expression '<lambda closure object>.*} TODO { xfail *-*-* } .-4 } */
     {
       std::vector<T> vec(Size);
       std::vector<T> mutated(Size);
diff --git a/libgomp/testsuite/libgomp.c++/target-flex-62.C b/libgomp/testsuite/libgomp.c++/target-flex-62.C
index 6fb434504ffb..db7c1fd8208d 100644
--- a/libgomp/testsuite/libgomp.c++/target-flex-62.C
+++ b/libgomp/testsuite/libgomp.c++/target-flex-62.C
@@ -1,5 +1,9 @@
 /* { dg-additional-options -std=c++23 } */
 
+/* FIXME: See XFAIL below.  Until this is fixed, this test won't compile
+   and will result in a bogus UNRESOLVED.  */
+/* { dg-do compile } */
+
 /* std::views stuff.  Also tests std::tuple with std::views::zip.  */
 
 #include <algorithm>
@@ -21,6 +25,8 @@ bool f()
 
   bool ok;
   #pragma omp target defaultmap(none) map(from: ok) map(to: arr_fwd[ :8], arr_rev[ :8])
+  /* <https://baylibre.slack.com/archives/C06TTV7HMMG/p1748508583437829>
+     { dg-bogus {sorry, unimplemented: unsupported map expression '<lambda closure object>.*} TODO { xfail *-*-* } .-2 } */
     {
       std::span<const int> fwd = {arr_fwd, 8};
       std::span<const int> rev = {arr_rev, 8};
diff --git a/libgomp/testsuite/libgomp.c++/target-flex-81.C b/libgomp/testsuite/libgomp.c++/target-flex-81.C
index d7ed69fdd84c..ed5992f41c74 100644
--- a/libgomp/testsuite/libgomp.c++/target-flex-81.C
+++ b/libgomp/testsuite/libgomp.c++/target-flex-81.C
@@ -1,5 +1,9 @@
 /* { dg-additional-options "-std=c++20" } */
 
+/* FIXME: See XFAIL below.  Until this is fixed, this test won't compile
+   and will result in a bogus UNRESOLVED.  */
+/* { dg-do compile } */
+
 #include <ranges>
 #include <span>
 #include <type_traits>
@@ -35,6 +39,8 @@ bool test(Rn&& range)
   std::size_t size = vec.size();
   bool ok;
   #pragma omp target map(from: ok) map(tofrom: data[ :size]) map(to: size)
+  /* <https://baylibre.slack.com/archives/C06TTV7HMMG/p1748508583437829>
+     { dg-bogus {sorry, unimplemented: unsupported map expression '<lambda closure object>.*} TODO { xfail *-*-* } .-2 } */
     {
       std::vector<value_type> orig = {data, data + size};
       std::span<value_type> span = {data, size};
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.