When building gdb with clang 15 and -std=c++20, I run into:
...
gdbsupport/poison.h:52:11: error: 'is_pod<timeval>' is deprecated: use \
is_standard_layout && is_trivial instead [-Werror,-Wdeprecated-declarations]
std::is_pod<T>>
^
...
Fix this by following the suggestion.
Likewise in gdb/unittests/ptid-selftests.c.
Tested on x86_64-linux.
This is a requirement for as long as we have ptids embedded in
structures allocated with malloc. */
-static_assert (std::is_pod<ptid_t>::value, "ptid_t is POD");
+static_assert (gdb::And<std::is_standard_layout<ptid_t>,
+ std::is_trivial<ptid_t>>::value,
+ "ptid_t is POD");
/* We want to avoid implicit conversion from int to ptid_t. */
template<typename T>
struct IsMemsettable
: gdb::Or<std::is_void<T>,
- std::is_pod<T>>
+ gdb::And<std::is_standard_layout<T>, std::is_trivial<T>>>
{};
template <typename T,