[Bug c++/110535] Internal error when performing a surrogate call with unsatisfied constraints
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110535 Patrick Palka changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #5 from Patrick Palka --- Fixed for GCC 13.2, thanks for the report.
[Bug c++/110535] Internal error when performing a surrogate call with unsatisfied constraints
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110535 --- Comment #4 from CVS Commits --- The releases/gcc-13 branch has been updated by Patrick Palka : https://gcc.gnu.org/g:92f6240baf80f998ca6c1408c3ee09d5d2ae68d7 commit r13-7592-g92f6240baf80f998ca6c1408c3ee09d5d2ae68d7 Author: Patrick Palka Date: Tue Jul 18 09:21:40 2023 -0400 c++: constrained surrogate call functions [PR110535] We weren't checking constraints on pointer/reference-to-function conversion functions during overload resolution, which caused us to ICE on the first testcase and reject the second testcase. PR c++/110535 gcc/cp/ChangeLog: * call.cc (add_conv_candidate): Check constraints. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/concepts-surrogate1.C: New test. * g++.dg/cpp2a/concepts-surrogate2.C: New test. (cherry picked from commit 1e0f37df1b12cd91a6dbb523f5c722f9a961edaa)
[Bug c++/110535] Internal error when performing a surrogate call with unsatisfied constraints
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110535 Patrick Palka changed: What|Removed |Added Status|NEW |ASSIGNED CC||ppalka at gcc dot gnu.org Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot gnu.org Target Milestone|--- |13.2 --- Comment #3 from Patrick Palka --- Fixed on trunk so far.
[Bug c++/110535] Internal error when performing a surrogate call with unsatisfied constraints
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110535 --- Comment #2 from CVS Commits --- The master branch has been updated by Patrick Palka : https://gcc.gnu.org/g:1e0f37df1b12cd91a6dbb523f5c722f9a961edaa commit r14-2618-g1e0f37df1b12cd91a6dbb523f5c722f9a961edaa Author: Patrick Palka Date: Tue Jul 18 09:21:40 2023 -0400 c++: constrained surrogate call functions [PR110535] We weren't checking constraints on pointer/reference-to-function conversion functions during overload resolution, which caused us to ICE on the first testcase and reject the second testcase. PR c++/110535 gcc/cp/ChangeLog: * call.cc (add_conv_candidate): Check constraints. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/concepts-surrogate1.C: New test. * g++.dg/cpp2a/concepts-surrogate2.C: New test.
[Bug c++/110535] Internal error when performing a surrogate call with unsatisfied constraints
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110535 Andrew Pinski changed: What|Removed |Added Last reconfirmed||2023-07-03 Known to fail||8.1.0, 9.3.0 Keywords||ice-on-invalid-code Ever confirmed|0 |1 Status|UNCONFIRMED |NEW --- Comment #1 from Andrew Pinski --- Confirmed. In GCC 7, GCC didn't crash (with -std=c++17 -fconcepts) but gave a wrong error message: :11:24: error: no match for call to '(A) (int)' int j = A{}(0); // Crash ^ :11:24: note: candidate: int (*)(int) :11:24: note: candidate expects 1 argument, 2 provided The crash started in GCC 8.