https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118629
Bug ID: 118629 Summary: ice in cp_parser_expression_statement, at cp/parser.cc:13584 Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: dcb314 at hotmail dot com Target Milestone: --- >From the clang C++ testsuite, file SemaCXX/crash-GH121274.cpp does this with g++: test $ ~/gcc/results/bin/gcc -c SemaCXX/crash-GH121274.cpp SemaCXX/crash-GH121274.cpp: In function ‘void foo()’: SemaCXX/crash-GH121274.cpp:8:11: internal compiler error: in cp_parser_expression_statement, at cp/parser.cc:13584 8 | }(); | ^ Source code is // RUN: %clang_cc1 -std=c++11 -verify %s // expected-no-diagnostics // Do not crash when __PRETTY_FUNCTION__ appears in the trailing return type of the lambda void foo() { []() -> decltype(static_cast<const char*>(__PRETTY_FUNCTION__)) { return nullptr; }(); #ifdef MS []() -> decltype(static_cast<const char*>(__FUNCSIG__)) { return nullptr; }(); #endif } The clang test suite is at https://github.com/llvm/llvm-project/tree/main/clang/test The code first goes wrong in g++ sometime before g:0b06abe027a78681