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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|15.2                        |---
           Keywords|                            |ice-checking,
                   |                            |needs-bisection
      Known to fail|                            |10.3.0
            Summary|[15/16 Regression] internal |internal compiler error:
                   |compiler error: tree check: |tree check: expected class
                   |expected class 'type', have |'type', have 'exceptional'
                   |'exceptional' (error_mark)  |(error_mark) in
                   |in is_std_substitution, at  |is_std_substitution, at
                   |cp/mangle.cc:507 since      |cp/mangle.cc:507
                   |r15-2798                    |

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #1)
> Confirmed. Slightly more reduced (removing some C++20 features even):
> ```
> namespace std
> {
> template<int a>
>   auto m = []{}();
> }
> auto t = std::m<1>;
> ```
> 
> But this above one dates before GCC 15 at least back to GCC 10.

Oh I see what is the difference between the testcases in comment #1 and comment
#0, const. 

r15-2798 changed: `Linkage of const-qualified variable template` which exposed
the latent bug by causing the mangling code to happen. It would be useful to
get a new bisect based on the testcase in comment #1.

Reply via email to