On 3/14/23 03:54, Jakub Jelinek wrote:
Hi!
On Fri, Mar 10, 2023 at 01:49:38PM -0500, Jason Merrill via Gcc-patches wrote:
gcc/testsuite/ChangeLog:
* g++.dg/cpp2a/concepts-lambda3.C: Run at lower std levels,
but expect errors.
I'm seeing
+UNRESOLVED: g++.dg/cpp2a/concepts-lambda3.C -std=c++11 compilation failed to
produce executable
+UNRESOLVED: g++.dg/cpp2a/concepts-lambda3.C -std=c++14 compilation failed to
produce executable
+UNRESOLVED: g++.dg/cpp2a/concepts-lambda3.C -std=c++17 compilation failed to
produce executable
+UNRESOLVED: g++.dg/cpp2a/concepts-lambda3.C -std=c++98 compilation failed to
produce executable
with this change, and if I test with
GXX_TESTSUITE_STDS=98,11,14,17,20,2b make check-g++ -k
RUNTESTFLAGS="--target_board=unix\{-m32,-m64,-m64/-fconcepts\}
dg.exp=concepts-lambda3.C"
I see even FAILs for the -fconcepts case, so apparently even -std=c++17
-fconcepts isn't enough to make it compile without errors.
The following patch will expect errors for all of c++17_down and will
make the test dg-do compile for that case too, such that the UNRESOLVED
stuff is gone.
Ok for trunk?
OK.
2023-03-14 Jakub Jelinek <ja...@redhat.com>
PR c++/108972
* g++.dg/cpp2a/concepts-lambda3.C: Use dg-do run only for c++20,
for c++17_down dg-do compile. Expect dg-excess-errors for c++17_down
rather than ! concepts.
--- gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C.jj 2023-03-13
23:01:42.082959131 +0100
+++ gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C 2023-03-14
08:48:12.834128044 +0100
@@ -1,5 +1,6 @@
-// { dg-do run }
-// { dg-excess-errors "" { target { ! concepts } } } (PR108972)
+// { dg-do run { target c++20 } }
+// { dg-do compile { target c++17_down } }
+// { dg-excess-errors "" { target { c++17_down } } } (PR108972)
template<typename T>
concept C1 = __is_same_as(T, int)
Jakub