https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110714
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed|2023-07-18 00:00:00 |2024-3-22
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
I encountered this using std::pointer_traits<P>::pointer_to in constexpr code
like so:
#include <memory>
struct B { constexpr virtual ~B() = default; };
struct D : B { };
consteval void f()
{
delete std::pointer_traits<B*>::pointer_to(*new D());
}
int main()
{
f();
}
Which can be simplified to:
struct B { constexpr virtual ~B() = default; };
struct D : B { };
consteval void f()
{
delete &(B&)*new D();
}
int main()
{
f();
}