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

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Barnabás Pőcze from comment #3)
> That reduced test case compiles fine for me. On CE, too. Am I missing some
> compilation flags?

Oh I reduced it with an older version but newer versions (GCC 13+) don't ICE
there.
Anyways here is new reduced testcase:
```
using t = decltype(sizeof(0));

template <typename _Tp>
  constexpr bool is_nothrow_destructible_v =
    false;

template<typename T>
struct B {
    static void * operator new(t s, t);
    static void
    operator delete(void *)
    noexcept(is_nothrow_destructible_v<T>)
   ;
};

void test() {
    new (42) B<int>();
}
```

The only difference between this one and the previous one is that noexcept is
is_nothrow_destructible_v<T> vs is_nothrow_destructible_v<int>. Meaning it is
dependent in the new version while in the old one is not; it seems like GCC 13+
can handle non-dependent values there.

Reply via email to