aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/mauve-classpath
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2024-07-26 16:53:03 -0400
committerThomas Koenig <tkoenig@gcc.gnu.org>2024-07-28 19:06:02 +0200
commitb300fd3985cc1435ecea30d18d00bfab8022d091 (patch)
tree6c31e6191019ffac9ac30e645b51aa522945a841 /libjava/classpath/mauve-classpath
parent557373c0cd6c0d6b4a1e46dc7a53d929b60b3c9b (diff)
downloadgcc-b300fd3985cc1435ecea30d18d00bfab8022d091.zip
gcc-b300fd3985cc1435ecea30d18d00bfab8022d091.tar.gz
gcc-b300fd3985cc1435ecea30d18d00bfab8022d091.tar.bz2
c++: ICE with concept, local class, and lambda [PR115561]
Here when we want to synthesize methods for foo()::B maybe_push_to_top_level calls push_function_context, which sets cfun to a dummy value; later finish_call_expr tries to set something in cp_function_chain (i.e. cfun->language), which isn't set. Many places in the compiler check cfun && cp_function_chain to avoid this problem; here we also want to check !cp_unevaluated_operand, like set_flags_from_callee does. PR c++/115561 gcc/cp/ChangeLog: * semantics.cc (finish_call_expr): Check cp_unevaluated_operand. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/concepts-lambda21.C: New test.
Diffstat (limited to 'libjava/classpath/mauve-classpath')
0 files changed, 0 insertions, 0 deletions