From fa9d6b79f9b9c5a0dc48e6db4677f6fa38acd6ba Mon Sep 17 00:00:00 2001 From: Weiyi Wang Date: Fri, 25 Jan 2019 12:16:00 -0500 Subject: [PATCH] common/swap: remove default value for swap type internal storage This is compromise for swap type being used in union. A union has deleted default constructor if it has at least one variant member with non-trivial default constructor, and no variant member of T has a default member initializer. In the use case of Bitfield, all variant members will be the swap type on endianness mismatch, which would all have non-trivial default constructor if default value is specified, and non of them can have member initializer --- src/common/swap.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/swap.h b/src/common/swap.h index 97aacb4dc..4b82865fe 100644 --- a/src/common/swap.h +++ b/src/common/swap.h @@ -172,7 +172,7 @@ struct swap_struct_t { using swapped_t = swap_struct_t; protected: - T value = T(); + T value; static T swap(T v) { return F::swap(v);