MDEV-15778: Remove packed attr from omt_ and subtree_ classes

This is happening because they are declared as packed
and clang has -Waddress-of-packed-member when passing the
address of a packed member, a legit concern on different
architectures. The easiest way to get rid of the errors is to
remove the packed attribute from said structs.
This commit is contained in:
Teodor Mircea Ionita 2018-05-09 16:54:16 +03:00 committed by Vicențiu-Marian Ciorbaru
parent b8e267c0c5
commit 1735fa340a

View file

@ -181,7 +181,7 @@ public:
paranoid_invariant(index != NODE_NULL); paranoid_invariant(index != NODE_NULL);
m_index = index; m_index = index;
} }
} __attribute__((__packed__,aligned(4))); } ;
template<> template<>
class subtree_templated<true> { class subtree_templated<true> {
@ -238,7 +238,7 @@ public:
inline void disable_bit(void) { inline void disable_bit(void) {
m_bitfield &= MASK_INDEX; m_bitfield &= MASK_INDEX;
} }
} __attribute__((__packed__)) ; } ;
template<typename omtdata_t, bool subtree_supports_marks> template<typename omtdata_t, bool subtree_supports_marks>
class omt_node_templated { class omt_node_templated {
@ -251,7 +251,7 @@ public:
// this needs to be in both implementations because we don't have // this needs to be in both implementations because we don't have
// a "static if" the caller can use // a "static if" the caller can use
inline void clear_stolen_bits(void) {} inline void clear_stolen_bits(void) {}
} __attribute__((__packed__,aligned(4))); } ;
template<typename omtdata_t> template<typename omtdata_t>
class omt_node_templated<omtdata_t, true> { class omt_node_templated<omtdata_t, true> {
@ -288,7 +288,7 @@ public:
this->unset_marked_bit(); this->unset_marked_bit();
this->unset_marks_below_bit(); this->unset_marks_below_bit();
} }
} __attribute__((__packed__,aligned(4))); } ;
} }