@@ -148,26 +148,30 @@ class TestUnionMemberClass
148148
149149 void msgpack_unpack (msgpack::object o)
150150 {
151- msgpack::type::tuple<bool , msgpack::object> tuple;
152- o.convert (tuple);
153-
154151#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && !defined(__clang__)
155152#pragma GCC diagnostic push
156153#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
157154#endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && !defined(__clang__)
155+ msgpack::type::tuple<bool , msgpack::object> tuple;
156+ o.convert (tuple);
157+
158158 is_double = tuple.get <0 >();
159- #if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && !defined(__clang__)
160- #pragma GCC diagnostic pop
161- #endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && !defined(__clang__)
162159 if (is_double)
163160 tuple.get <1 >().convert (value.f );
164161 else
165162 tuple.get <1 >().convert (value.i );
163+ #if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && !defined(__clang__)
164+ #pragma GCC diagnostic pop
165+ #endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && !defined(__clang__)
166166 }
167167};
168168
169169TEST (MSGPACK_USER_DEFINED, simple_buffer_union_member)
170170{
171+ #if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && !defined(__clang__)
172+ #pragma GCC diagnostic push
173+ #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
174+ #endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && !defined(__clang__)
171175 {
172176 // double
173177 TestUnionMemberClass val1 (1.0 );
@@ -191,6 +195,9 @@ TEST(MSGPACK_USER_DEFINED, simple_buffer_union_member)
191195 EXPECT_EQ (val1.value .i , 1 );
192196 EXPECT_EQ (val1.value .i , val2.value .i );
193197 }
198+ #if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && !defined(__clang__)
199+ #pragma GCC diagnostic pop
200+ #endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && !defined(__clang__)
194201}
195202
196203// inheritance
0 commit comments