Workaround class-memaccess warnings on newer GCC versions

This commit is contained in:
Christoph Hertzberg 2019-12-18 16:37:26 +01:00
parent de07c4d1c2
commit 5a3eaf88ac

View File

@ -43,7 +43,8 @@ T apply_bit_op(Bits a, Bits b, Func f) {
T res; T res;
for(Index i = 0; i < data.size(); ++i) for(Index i = 0; i < data.size(); ++i)
data[i] = f(a[i], b[i]); data[i] = f(a[i], b[i]);
std::memcpy(&res, &data, sizeof(T)); // Note: The reinterpret_cast works around GCC's class-memaccess warnings:
std::memcpy(reinterpret_cast<unsigned char*>(&res), &data, sizeof(T));
return res; return res;
} }