@@ -21,6 +21,18 @@ GTEST_TEST(compressed_tuple, sizeof_is_correct)
2121 };
2222
2323 hud_assert_eq (sizeof (hud::compressed_tuple<>), 1u );
24+
25+ #if defined(HD_COMPILER_MSVC) || defined(HD_COMPILER_CLANG_CL)
26+ hud_assert_eq (sizeof (hud::compressed_tuple<empty, empty, empty>), 1u );
27+ hud_assert_eq (sizeof (hud::compressed_tuple<empty_2, empty, empty>), 1u );
28+ hud_assert_eq (sizeof (hud::compressed_tuple<empty, empty_2, empty>), 1u );
29+ hud_assert_eq (sizeof (hud::compressed_tuple<empty, empty, empty_2>), 1u );
30+ hud_assert_eq (sizeof (hud::compressed_tuple<empty, empty_2, empty_3>), 1u );
31+
32+ hud_assert_eq (sizeof (hud::compressed_tuple<non_empty, empty, empty>), 4u );
33+ hud_assert_eq (sizeof (hud::compressed_tuple<empty, non_empty, empty>), 4u );
34+ hud_assert_eq (sizeof (hud::compressed_tuple<empty, empty, non_empty>), 4u );
35+ #else
2436 hud_assert_eq (sizeof (hud::compressed_tuple<empty, empty, empty>), 3u );
2537 hud_assert_eq (sizeof (hud::compressed_tuple<empty_2, empty, empty>), 2u );
2638 hud_assert_eq (sizeof (hud::compressed_tuple<empty, empty_2, empty>), 2u );
@@ -30,14 +42,21 @@ GTEST_TEST(compressed_tuple, sizeof_is_correct)
3042 hud_assert_eq (sizeof (hud::compressed_tuple<non_empty, empty, empty>), 8u );
3143 hud_assert_eq (sizeof (hud::compressed_tuple<empty, non_empty, empty>), 8u );
3244 hud_assert_eq (sizeof (hud::compressed_tuple<empty, empty, non_empty>), 4u );
45+ #endif
3346
3447 hud_assert_eq (sizeof (hud::compressed_tuple<non_empty, empty, empty_2>), 4u );
3548 hud_assert_eq (sizeof (hud::compressed_tuple<empty, non_empty, empty_2>), 4u );
3649 hud_assert_eq (sizeof (hud::compressed_tuple<empty, empty_2, non_empty>), 4u );
3750
51+ #if defined(HD_COMPILER_MSVC) || defined(HD_COMPILER_CLANG_CL)
52+ hud_assert_eq (sizeof (hud::compressed_tuple<i32 , empty, empty>), 4u );
53+ hud_assert_eq (sizeof (hud::compressed_tuple<empty, i32 , empty>), 4u );
54+ hud_assert_eq (sizeof (hud::compressed_tuple<empty, empty, i32 >), 4u );
55+ #else
3856 hud_assert_eq (sizeof (hud::compressed_tuple<i32 , empty, empty>), 8u );
3957 hud_assert_eq (sizeof (hud::compressed_tuple<empty, i32 , empty>), 8u );
4058 hud_assert_eq (sizeof (hud::compressed_tuple<empty, empty, i32 >), 4u );
59+ #endif
4160
4261 hud_assert_eq (sizeof (hud::compressed_tuple<i32 , empty, empty_2>), 4u );
4362 hud_assert_eq (sizeof (hud::compressed_tuple<empty, i32 , empty_2>), 4u );
0 commit comments