diff --git a/src/vt/messaging/envelope/envelope_base.h b/src/vt/messaging/envelope/envelope_base.h index 2a33884c07..1f0660a2b0 100644 --- a/src/vt/messaging/envelope/envelope_base.h +++ b/src/vt/messaging/envelope/envelope_base.h @@ -113,8 +113,7 @@ namespace vt { using Envelope = messaging::ActiveEnvelope; -static_assert(std::is_pod(), "Envelope must be POD"); -static_assert(std::is_trivially_destructible(), "Envelope must be trivially destructible"); +static_assert(std::is_standard_layout::value && std::is_trivial::value, "Envelope must be standard layout and trivial"); } /* end namespace vt */ diff --git a/src/vt/messaging/envelope/envelope_extended.h b/src/vt/messaging/envelope/envelope_extended.h index 37277b9107..57a4620a1e 100644 --- a/src/vt/messaging/envelope/envelope_extended.h +++ b/src/vt/messaging/envelope/envelope_extended.h @@ -104,19 +104,19 @@ using EpochEnvelope = messaging::EpochActiveEnvelope; using TagEnvelope = messaging::TagActiveEnvelope; using EpochTagEnvelope = messaging::EpochTagActiveEnvelope; -static_assert(std::is_pod(), "EpochEnvelope must be POD"); -static_assert(std::is_pod(), "TagEnvelope must be POD"); -static_assert(std::is_pod(), "EpochTagEnvelope must be POD"); +static_assert(std::is_standard_layout::value, "EpochEnvelope must be standard layout"); +static_assert(std::is_standard_layout::value, "TagEnvelope must be standard layout"); +static_assert(std::is_standard_layout::value, "EpochTagEnvelope must be standard layout"); static_assert( - std::is_trivially_destructible(), + std::is_trivial::value, "EpochEnvelope must be trivial" ); static_assert( - std::is_trivially_destructible(), + std::is_trivial::value, "TagEnvelope must be trivial" ); static_assert( - std::is_trivially_destructible(), + std::is_trivial::value, "EpochTagEnvelope must be trivial" ); diff --git a/src/vt/messaging/envelope/payload_envelope.h b/src/vt/messaging/envelope/payload_envelope.h index 09ec6e47a8..fc2b10b11b 100644 --- a/src/vt/messaging/envelope/payload_envelope.h +++ b/src/vt/messaging/envelope/payload_envelope.h @@ -91,7 +91,7 @@ inline void envelopeInitEmpty(PutShortEnvelope& env) { env.put_data_tag_ = no_tag; } -static_assert(std::is_pod(), "PutShortEnvelope must be POD"); +static_assert(std::is_standard_layout::value && std::is_trivial::value, "PutShortEnvelope must be standard layout and trivial"); /** * \brief Get the put pointer