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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code,
                   |                            |rejects-valid

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Marek Polacek from comment #2)
> The ICE started with

But the 7.x ICEd on and rejected the original testcase:
template<typename ss> void hh() {  ss t; }
template<typename ss>
struct tt {     ss t;  };


template<int>
int f(void)
{
    constexpr char const* cc = __PRETTY_FUNCTION__;
    struct j{  char const* kk=cc; };
    tt<j> y;
    hh<j>();
}

int t = f<1>();

GCC 8+ accepts the above code though.
So in summary, the ICE is a regression but the rejects valid is not and could
be workaround by using a struct first?

Reply via email to