https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119548

            Bug ID: 119548
           Summary: ICE: tree check: accessed elt 2 of 'tree_vec' with 1
                    elts in tsubst_pack_expansion  when accessing
                    uninstantiated decltype(lambda template return) type,
                    inside other lambda template
           Product: gcc
           Version: 14.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: frederik.hofe at pm dot me
  Target Milestone: ---

Created attachment 60926
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60926&action=edit
minimum example code to trigger ICE

Example.cpp build with:
    g++ -std=c++20 example.cpp

This issue is 100% reproducible and I even found a workaround for it. (See:
source code)
I tested with all "x86-64 gcc" on godbolt that support C++20, and the ICE is
triggered every time. This does not seem to be a regression.

godbolt.org results:
    x86-64 gcc (trunk)      (-std=c++20) <- internal compiler error: internal
compiler error: tree check: accessed elt 2 of 'tree_vec' with 1 elts in
tsubst_pack_expansion, at ...
    x86-64 gcc 14.2 ... 10.1(-std=c++20) <- internal compiler error:
Segmentation fault
    x86-64 clang 20.1.0     (-std=c++20) <- works fine
    x64 msvc v19.40 BS17.10 (/std:c++20) <- works fine

Reply via email to