mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
9f6a612ccc
Instead of computing the alignment and size of the `char` buffer in `AlignedCharArrayUnion`, rely on the math in `std::aligned_union_t`. Because some users of this rely on the `buffer` field existing with a type convertible to `char *`, we can't change the field type, but we can still avoid duplicating the logic. A potential follow up would be to delete `AlignedCharArrayUnion` after updating its users to use `std::aligned_union_t` directly; or if we like our template parameters better, could update users to stop peeking inside and then replace the definition with: ``` template <class T, class... Ts> using AlignedCharArrayUnion = std::aligned_union_t<1, T, Ts...>; ``` Differential Revision: https://reviews.llvm.org/D92500