[Bug c++/109300] [13 Regression] ICE in cp_finish_decl, at cp/decl.cc:8279

pinskia at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Mar 27 19:00:06 GMT 2023


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2023-03-27
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
           Keywords|ice-on-valid-code           |ice-on-invalid-code,
                   |                            |needs-bisection

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Note I think this is invalid code.

With an instantation, GCC 12 (and before) does reject it:
```
template<typename T>
auto x = [](){ x<int>(); };
auto y = x<int>;
```
```
<source>: In instantiation of 'auto x<int>':
<source>:3:10:   required from here
<source>:2:16: error: use of 'x<int>' before deduction of 'auto'
    2 | auto x = [](){ x<int>(); };
      |                ^~~~~~
<source>:2:6: error: 'x<int>' has incomplete type
    2 | auto x = [](){ x<int>(); };
      |      ^
<source>:2:22: error: invalid use of 'auto'
    2 | auto x = [](){ x<int>(); };
      |                ~~~~~~^~
```
Note clang rejects it even without an instantation.


More information about the Gcc-bugs mailing list