[PATCH] D86126: Fix issue 47160: "`llvm::is_trivially_copyable` -- static assertion failure after DR 1734"

serge via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 19 05:40:52 PST 2020


serge-sans-paille added a comment.

Some history on that particular problem: back to https://reviews.llvm.org/D54472 when we moved away from `llvm::isPodLike<>` in favor of `llvm::is_trivially_copyable<>`, the goal was to move to `is_trivially_copyable` once the minimal compiler requirements reaches a supported state.
So I'm not in favor of a diverging between the `llvm` and `std` implementation, but either

1. Fix the `llvm::` implementation to match `std::`
2. Use `std::` implementation if we know have a decent compiler requirement.

Note that a requirement (for both 1. and 2.) is that all supported compilers return the same value for `is_trivially_copyable<T>` otherwise it leads to ABI issues (different specialization etc).


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D86126/new/

https://reviews.llvm.org/D86126



More information about the llvm-commits mailing list