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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Target Milestone|---                         |10.5
   Last reconfirmed|                            |2023-05-30
      Known to work|                            |7.1.0
            Summary|ICE: error reporting        |[10/11/12/13/14 Regression]
                   |routines re-entered on      |ICE with deprecated
                   |non-type template argument  |attribute and NTTP and
                   |and C++20+                  |diagnostic for deprecated
                   |                            |printed out so much
           Keywords|                            |diagnostic, ice-checking
             Status|UNCONFIRMED                 |NEW
      Known to fail|                            |8.1.0

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Better testcase which fails with -std=c++17 even earlier than GCC 8.
```
template <typename T>
[[deprecated]] 
inline constexpr bool t = true ;

template <bool a>
struct enableif;

template<>
struct enableif<true>
{
        using y = int;
};
template <bool a>
using enableif_t = typename enableif<a>::y;

template <typename T, enableif_t<t<T>> = 0>
struct A {  A(T &&)  {  }};

template <typename T>
struct A<T> {
  A(T &&) = delete;
  A() = delete;
};

int main(void)
{
  A<double> a(5.3);
  return 0;
}
```

Reply via email to