[Bug c++/105301] [11/12 Regression] ICE: tree check: expected tree that contains 'decl minimal' structure, have 'overload' in coro_promise_type_found_p, at cp/coroutines.cc:516
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105301 --- Comment #4 from CVS Commits --- The master branch has been updated by Iain D Sandoe : https://gcc.gnu.org/g:6cae3bb65c873a2191613f7888fe949553a21f9e commit r12-8309-g6cae3bb65c873a2191613f7888fe949553a21f9e Author: Iain Sandoe Date: Mon Apr 18 09:21:52 2022 +0100 c++, coroutines: Account for overloaded promise return_value() [PR105301]. Whether it was intended or not, it is possible to define a coroutine promise with multiple return_value() methods [which need not even have the same type]. We were not accounting for this possibility in the check to see whether both return_value and return_void are specifier (which is prohibited by the standard). Fixed thus and provided an adjusted diagnostic for the case that multiple return_value() methods are present. Signed-off-by: Iain Sandoe PR c++/105301 gcc/cp/ChangeLog: * coroutines.cc (coro_promise_type_found_p): Account for possible mutliple overloads of the promise return_value() method. gcc/testsuite/ChangeLog: * g++.dg/coroutines/pr105301.C: New test.
[Bug c++/105301] [11/12 Regression] ICE: tree check: expected tree that contains 'decl minimal' structure, have 'overload' in coro_promise_type_found_p, at cp/coroutines.cc:516
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105301 Richard Biener changed: What|Removed |Added Target Milestone|11.3|11.4 --- Comment #3 from Richard Biener --- GCC 11.3 is being released, retargeting bugs to GCC 11.4.
[Bug c++/105301] [11/12 Regression] ICE: tree check: expected tree that contains 'decl minimal' structure, have 'overload' in coro_promise_type_found_p, at cp/coroutines.cc:516
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105301 --- Comment #2 from Iain Sandoe --- candidate patch. https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593318.html
[Bug c++/105301] [11/12 Regression] ICE: tree check: expected tree that contains 'decl minimal' structure, have 'overload' in coro_promise_type_found_p, at cp/coroutines.cc:516
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105301 Jakub Jelinek changed: What|Removed |Added Target Milestone|--- |11.3 Summary|[12 Regression] ICE: tree |[11/12 Regression] ICE: |check: expected tree that |tree check: expected tree |contains 'decl minimal' |that contains 'decl |structure, have 'overload' |minimal' structure, have |in |'overload' in |coro_promise_type_found_p, |coro_promise_type_found_p, |at cp/coroutines.cc:516 |at cp/coroutines.cc:516 CC||jakub at gcc dot gnu.org Priority|P3 |P2 --- Comment #1 from Jakub Jelinek --- Started to ICE with r11-431-g29f0e90d9904d8e0965443d4da4c95ddde5edb1e in fold_builtin*, and since r11-4076-gb003c4b14b3f889e6707db68d2c6545eda7a203b ICEs in checking from coro_promise_type_found_p.