Fix "Dereferencing type-punned pointer will break strict aliasing rules..."

extra-data
Vitaliy Filippov 2020-03-14 02:13:05 +03:00
джерело 92ec61e4b8
коміт 5dc108754a
1 змінених файлів з 4 додано та 2 видалено

@ -554,10 +554,12 @@ class btree_node {
return params_type::key(fields_.values[i]);
}
reference value(int i) {
return reinterpret_cast<reference>(fields_.values[i]);
mutable_value_type *ptr = (mutable_value_type*)&fields_.values[i];
return reinterpret_cast<reference>(*ptr);
}
const_reference value(int i) const {
return reinterpret_cast<const_reference>(fields_.values[i]);
value_type *ptr = (value_type*)&fields_.values[i];
return reinterpret_cast<const_reference>(*ptr);
}
mutable_value_type* mutable_value(int i) {
return &fields_.values[i];