https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109129
Bug ID: 109129 Summary: [13 regression] g++.dg/cpp2a/concepts-lambda3.C in unresolved after r13-6594-ga915c29a7d63cc Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: testsuite Assignee: unassigned at gcc dot gnu.org Reporter: seurer at gcc dot gnu.org Target Milestone: --- g:a915c29a7d63ccb88cfded75ba1c8c4919845e98, r13-6594-ga915c29a7d63cc make -k check-gcc RUNTESTFLAGS="dg.exp=g++.dg/cpp2a/concepts-lambda3.C" # of expected passes 2 # of unresolved testcases 3 >From the commit log this looks to be expected maybe? commit a915c29a7d63ccb88cfded75ba1c8c4919845e98 (HEAD) Author: Jason Merrill <ja...@redhat.com> Date: Thu Mar 9 17:01:48 2023 -0500 c++: constrained lambda error-recovery [PR108972] ... * g++.dg/cpp2a/concepts-lambda3.C: Run at lower std levels, but expect errors. spawn -ignore SIGHUP /home/seurer/gcc/git/build/gcc-test/gcc/testsuite/g++/../../xg++ -B/home/seurer/gcc/git/build/gcc-test/gcc/testsuite/g++/../../ /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C -fdiagnostics-plain-output -nostdinc++ -I/home/seurer/gcc/git/build/gcc-test/powerpc64le-unknown-linux-gnu/libstdc++-v3/include/powerpc64le-unknown-linux-gnu -I/home/seurer/gcc/git/build/gcc-test/powerpc64le-unknown-linux-gnu/libstdc++-v3/include -I/home/seurer/gcc/git/gcc-test/libstdc++-v3/libsupc++ -I/home/seurer/gcc/git/gcc-test/libstdc++-v3/include/backward -I/home/seurer/gcc/git/gcc-test/libstdc++-v3/testsuite/util -fmessage-length=0 -std=c++17 -pedantic-errors -Wno-long-long -L/home/seurer/gcc/git/build/gcc-test/powerpc64le-unknown-linux-gnu/./libstdc++-v3/src/.libs -B/home/seurer/gcc/git/build/gcc-test/powerpc64le-unknown-linux-gnu/./libstdc++-v3/src/.libs -L/home/seurer/gcc/git/build/gcc-test/powerpc64le-unknown-linux-gnu/./libstdc++-v3/src/.libs -L/home/seurer/gcc/git/build/gcc-test/powerpc64le-unknown-linux-gnu/./libstdc++-v3/src/experimental/.libs -B/home/seurer/gcc/git/build/gcc-test/powerpc64le-unknown-linux-gnu/./libitm/ -L/home/seurer/gcc/git/build/gcc-test/powerpc64le-unknown-linux-gnu/./libitm/.libs -lm -o ./concepts-lambda3.exe /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:5:1: error: 'concept' does not name a type; did you mean 'const'? /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:5:1: note: 'concept' only available with '-std=c++20' or '-fconcepts' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:10:1: error: 'concept' does not name a type; did you mean 'const'? /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:10:1: note: 'concept' only available with '-std=c++20' or '-fconcepts' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:13:1: error: 'concept' does not name a type; did you mean 'const'? /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:13:1: note: 'concept' only available with '-std=c++20' or '-fconcepts' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:15:10: error: 'IsNotLarge' has not been declared /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:19:12: error: 'IsNotTiny' has not been declared /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C: In function 'int main(int, char**)': /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:30:14: error: lambda templates are only available with '-std=c++20' or '-std=gnu++20' [-Wc++20-extensions] /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:30:15: error: 'C1' has not been declared /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:30:21: error: 'requires' only available with '-std=c++20' or '-fconcepts' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:30:30: error: 'IsNotTiny' was not declared in this scope /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:30:40: error: 'T' was not declared in this scope /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:30:43: error: 'T' was not declared in this scope /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:30:44: error: expected ')' before 't' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C: In lambda function: /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:31:51: error: expected '{' before ';' token /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C: In function 'int main(int, char**)': /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:32:4: error: no match for call to '(main(int, char**)::<lambda()>) (int)' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:30:12: note: candidate: 'template<<declaration error> > main(int, char**)::<lambda()>' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:30:12: note: template argument deduction/substitution failed: /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:32:4: note: candidate expects 0 arguments, 1 provided /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:33:20: error: no matching function for call to 'main(int, char**)::<lambda()>::operator()<int>(double)' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:30:12: note: candidate: 'template<<declaration error> > main(int, char**)::<lambda()>' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:30:12: note: candidate expects 0 arguments, 1 provided /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:35:14: error: lambda templates are only available with '-std=c++20' or '-std=gnu++20' [-Wc++20-extensions] /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:35:43: error: 'requires' only available with '-std=c++20' or '-fconcepts' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:38:14: error: 'requires' only available with '-std=c++20' or '-fconcepts' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:39:6: error: 'C1' has not been declared /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:39:6: error: two or more data types in declaration of 't' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C: In lambda function: /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:39:26: error: 't' was not declared in this scope /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C: In function 'int main(int, char**)': /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:39:30: error: no match for call to '(main(int, char**)::<lambda(...)>) (int)' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:39:3: note: candidate: 'template<class auto:3> main(int, char**)::<lambda(...)>' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:39:3: note: template argument deduction/substitution failed: /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:39:30: note: couldn't deduce template parameter 'auto:3' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:41:16: error: 'IsNotLarge' has not been declared /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:41:16: error: two or more data types in declaration of 'a' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:42:15: error: no match for call to '(main(int, char**)::<lambda(...)>) (int)' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:41:13: note: candidate: 'template<class auto:4> main(int, char**)::<lambda(...)>' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:41:13: note: template argument deduction/substitution failed: /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:42:15: note: couldn't deduce template parameter 'auto:4' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C: In lambda function: /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:45:36: error: 'IsNotLarge' has not been declared /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:45:36: error: two or more data types in declaration of 'b' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C: In lambda function: /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:45:63: error: 'b' was not declared in this scope /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C: In function 'int main(int, char**)': /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:47:15: error: no match for call to '(main(int, char**)::<lambda(auto:6)>::<lambda(...)>) (int)' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:45:33: note: candidate: 'template<class auto:7> main(int, char**)::<lambda(auto:6)>::<lambda(...)>' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:45:33: note: template argument deduction/substitution failed: /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:47:15: note: couldn't deduce template parameter 'auto:7' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:50:8: error: request for member 'a' in 'foo1', which is of non-class type 'int' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:51:8: error: request for member 'a' in 'foo1', which is of non-class type 'int' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:52:8: error: request for member 'b' in 'foo1', which is of non-class type 'int' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:52:10: error: expected primary-expression before 'int' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:53:8: error: request for member 'b' in 'foo1', which is of non-class type 'int' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:53:10: error: expected primary-expression before 'long' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:56:8: error: request for member 'a' in 'foo2', which is of non-class type 'int' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:57:8: error: request for member 'a' in 'foo2', which is of non-class type 'int' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:58:8: error: request for member 'b' in 'foo2', which is of non-class type 'int' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:58:10: error: expected primary-expression before 'int' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:59:8: error: request for member 'b' in 'foo2', which is of non-class type 'int' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:59:10: error: expected primary-expression before 'long' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:61:31: error: 'requires' only available with '-std=c++20' or '-fconcepts' compiler exited with status 1 XFAIL: g++.dg/cpp2a/concepts-lambda3.C -std=c++17 (test for excess errors) Excess errors: /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:5:1: error: 'concept' does not name a type; did you mean 'const'? /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:10:1: error: 'concept' does not name a type; did you mean 'const'? /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:13:1: error: 'concept' does not name a type; did you mean 'const'? /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:15:10: error: 'IsNotLarge' has not been declared /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:19:12: error: 'IsNotTiny' has not been declared /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:30:14: error: lambda templates are only available with '-std=c++20' or '-std=gnu++20' [-Wc++20-extensions] /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:30:15: error: 'C1' has not been declared /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:30:21: error: 'requires' only available with '-std=c++20' or '-fconcepts' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:30:30: error: 'IsNotTiny' was not declared in this scope /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:30:40: error: 'T' was not declared in this scope /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:30:43: error: 'T' was not declared in this scope /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:30:44: error: expected ')' before 't' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:31:51: error: expected '{' before ';' token /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:32:4: error: no match for call to '(main(int, char**)::<lambda()>) (int)' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:33:20: error: no matching function for call to 'main(int, char**)::<lambda()>::operator()<int>(double)' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:35:14: error: lambda templates are only available with '-std=c++20' or '-std=gnu++20' [-Wc++20-extensions] /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:35:43: error: 'requires' only available with '-std=c++20' or '-fconcepts' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:38:14: error: 'requires' only available with '-std=c++20' or '-fconcepts' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:39:6: error: 'C1' has not been declared /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:39:6: error: two or more data types in declaration of 't' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:39:26: error: 't' was not declared in this scope /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:39:30: error: no match for call to '(main(int, char**)::<lambda(...)>) (int)' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:41:16: error: 'IsNotLarge' has not been declared /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:41:16: error: two or more data types in declaration of 'a' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:42:15: error: no match for call to '(main(int, char**)::<lambda(...)>) (int)' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:45:36: error: 'IsNotLarge' has not been declared /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:45:36: error: two or more data types in declaration of 'b' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:45:63: error: 'b' was not declared in this scope /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:47:15: error: no match for call to '(main(int, char**)::<lambda(auto:6)>::<lambda(...)>) (int)' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:50:8: error: request for member 'a' in 'foo1', which is of non-class type 'int' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:51:8: error: request for member 'a' in 'foo1', which is of non-class type 'int' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:52:8: error: request for member 'b' in 'foo1', which is of non-class type 'int' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:52:10: error: expected primary-expression before 'int' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:53:8: error: request for member 'b' in 'foo1', which is of non-class type 'int' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:53:10: error: expected primary-expression before 'long' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:56:8: error: request for member 'a' in 'foo2', which is of non-class type 'int' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:57:8: error: request for member 'a' in 'foo2', which is of non-class type 'int' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:58:8: error: request for member 'b' in 'foo2', which is of non-class type 'int' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:58:10: error: expected primary-expression before 'int' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:59:8: error: request for member 'b' in 'foo2', which is of non-class type 'int' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:59:10: error: expected primary-expression before 'long' /home/seurer/gcc/git/gcc-test/gcc/testsuite/g++.dg/cpp2a/concepts-lambda3.C:61:31: error: 'requires' only available with '-std=c++20' or '-fconcepts' UNRESOLVED: g++.dg/cpp2a/concepts-lambda3.C -std=c++17 compilation failed to produce executable