https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102624
Bug ID: 102624 Summary: testcase lambda-uneval11.C causes cc1plus segment fault Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: nickhuang99 at hotmail dot com Target Milestone: --- The testcase g++.dg/cpp2a/lambda-uneval11.C causes cc1plus segment fault. Running g++ driver won't expose this crash. Only running cc1plus directly can expose the crash. ./install/libexec/gcc/x86_64-unknown-linux-gnu/12.0.0/cc1plus -std=c++20 gcc-clone/gcc/testsuite/g++.dg/cpp2a/lambda-uneval11.C <lambda()> void spam(decltype (<lambda>) (*)[sizeof (T)]) void foo() <lambda()> static constexpr void<lambda()>::_FUN() constexpr<lambda()>::operator void (*)()() const <lambda()> static constexpr void<lambda()>::_FUN() constexpr<lambda()>::operator void (*)()() const <lambda()> static constexpr void<lambda()>::_FUN() constexpr<lambda()>::operator void (*)()() const <lambda()> static constexpr void<lambda()>::_FUN() constexpr<lambda()>::operator void (*)()() const constexpr<lambda()>::operator void (*)()() const <lambda()> static constexpr void<lambda()>::_FUN() constexpr<lambda()>::operator void (*)()() const gcc-clone/gcc/testsuite/g++.dg/cpp2a/lambda-uneval11.C: In instantiation of ‘constexpr<lambda()>::operator void (*)()() const’: gcc-clone/gcc/testsuite/g++.dg/cpp2a/lambda-uneval11.C:9:12: required from here gcc-clone/gcc/testsuite/g++.dg/cpp2a/lambda-uneval11.C:4:25: internal compiler error: Segmentation fault 4 | template <class T> void spam(decltype([]{}) (*s)[sizeof(T)] = nullptr) | ^~~~ Please submit a full bug report, with preprocessed source if appropriate. See <https://gcc.gnu.org/bugs/> for instructions.