Signed-off-by: Jonathan Wakely libstdc++-v3/ChangeLog: * include/std/type_traits (is_layout_compatible): Define. (is_corresponding_member): Define. * include/std/version (__cpp_lib_is_layout_compatible): Define. * testsuite/20_util/is_layout_compatible/is_corresponding_member.cc: New test. * testsuite/20_util/is_layout_compatible/value.cc: New test. * testsuite/20_util/is_layout_compatible/version.cc: New test. * testsuite/20_util/is_pointer_interconvertible/with_class.cc: New test. * testsuite/23_containers/span/layout_compat.cc: Do not use real std::is_layout_compatible trait if available. Tested powerpc64le-linux. Committed to trunk.