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.

Reply via email to