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.