[Bug c++/97399] [9/10/11 Regression] g++ 9.3 cannot compile SFINAE code with separated declaration and definition, g++ 7.3 compiles

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Oct 13 11:02:09 GMT 2020


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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |7.5.0
           Keywords|                            |ice-on-valid-code,
                   |                            |rejects-valid
      Known to fail|                            |10.2.1
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
            Summary|g++ 9.3 cannot compile      |[9/10/11 Regression] g++
                   |SFINAE code with separated  |9.3 cannot compile SFINAE
                   |declaration and definition, |code with separated
                   |g++ 7.3 compiles            |declaration and definition,
                   |                            |g++ 7.3 compiles
   Last reconfirmed|                            |2020-10-13
   Target Milestone|---                         |9.4

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 10 ICEs:

> g++-10 t.C -S -std=c++11
t.C: In substitution of 'template<class E> static constexpr
enable_if_t<((tmp*)this)->is_integral<E>(), bool> tmp::func(E, E) [with E =
int]':
t.C:40:30:   required from here
t.C:19:43: internal compiler error: in tsubst_copy, at cp/pt.c:16383
   19 |         -> enable_if_t<tmp::is_integral<E>(), bool>;
      |                        ~~~~~~~~~~~~~~~~~~~^~
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://bugs.opensuse.org/> for instructions.


More information about the Gcc-bugs mailing list