2 // { dg-do compile { target c++20 } }
6 template <class S, class M>
8 is_pointer_interconvertible_with_class (M S::*m) noexcept
10 return __builtin_is_pointer_interconvertible_with_class (m);
16 double A::*a = nullptr;
17 constexpr double A::*b = nullptr;
18 constexpr auto c = std::is_pointer_interconvertible_with_class (a); // { dg-error "is not usable in a constant expression" }
19 constexpr auto d = std::is_pointer_interconvertible_with_class (b);