HomePhabricator

Fix llvm::is_trivially_copyable portability issues

Authored by Serge Guelton <sguelton@quarkslab.com> on Jan 22 2019, 5:48 AM.

Description

Fix llvm::is_trivially_copyable portability issues

llvm::is_trivially_copyable portability is verified at compile time using
std::is_trivially_copyable as the reference implementation.

Unfortunately, the latter is not available on all platforms, so introduce
a proper configure check to detect if it is available on the target platform.

In a similar manner, std::is_copy_assignable is not fully supported for gcc4.9.
Provide a portable (?) implementation instead.

Differential Revision: https://reviews.llvm.org/D57018

llvm-svn: 351820

Event Timeline

Serge Guelton <sguelton@quarkslab.com> committed rG776f809be3a4: Fix llvm::is_trivially_copyable portability issues (authored by Serge Guelton <sguelton@quarkslab.com>).Jan 22 2019, 5:48 AM