28 #include <gtest/gtest.h>
37 using TooShort = uint8_t[2];
38 using TooLong = uint16_t[32];
39 using TooLongFloat =
double[4];
40 using EightLong = uint32_t[2];
41 using SixteenLong = uint64_t[2];
42 using EightLongFloat =
float[2];
43 using SixteenLongFloat =
double[2];
84 using SvaInt = uint32_t[2];
85 using SvaTiny = uint8_t[16];
86 using SvaFloat =
float[2];
88 EXPECT_TRUE(guest_abi::IsAapcs64Hva<SvaInt[3]>::value);
89 EXPECT_TRUE(guest_abi::IsAapcs64Hva<SvaInt[4]>::value);
90 EXPECT_FALSE(guest_abi::IsAapcs64Hva<SvaInt[5]>::value);
92 EXPECT_TRUE(guest_abi::IsAapcs64Hva<SvaFloat[3]>::value);
93 EXPECT_TRUE(guest_abi::IsAapcs64Hva<SvaFloat[4]>::value);
94 EXPECT_FALSE(guest_abi::IsAapcs64Hva<SvaFloat[5]>::value);
96 EXPECT_TRUE(guest_abi::IsAapcs64Hva<SvaTiny[3]>::value);
97 EXPECT_TRUE(guest_abi::IsAapcs64Hva<SvaTiny[4]>::value);
98 EXPECT_FALSE(guest_abi::IsAapcs64Hva<SvaTiny[5]>::value);
100 EXPECT_FALSE(guest_abi::IsAapcs64Hva<uint64_t>::value);
101 EXPECT_FALSE(guest_abi::IsAapcs64Hva<uint64_t[1]>::value);
102 EXPECT_FALSE(guest_abi::IsAapcs64Hva<SvaTiny>::value);
103 EXPECT_FALSE(guest_abi::IsAapcs64Hva<void>::value);
104 EXPECT_FALSE(guest_abi::IsAapcs64Hva<float>::value);
109 using SvaInt = uint32_t[2];
111 EXPECT_TRUE(guest_abi::IsAapcs64Hxa<SvaInt[4]>::value);
112 EXPECT_FALSE(guest_abi::IsAapcs64Hxa<SvaInt[5]>::value);
114 EXPECT_TRUE(guest_abi::IsAapcs64Hxa<
float[4]>::value);
115 EXPECT_FALSE(guest_abi::IsAapcs64Hxa<
float[5]>::value);
117 EXPECT_FALSE(guest_abi::IsAapcs64Hxa<SvaInt>::value);
118 EXPECT_FALSE(guest_abi::IsAapcs64Hxa<uint64_t>::value);
119 EXPECT_FALSE(guest_abi::IsAapcs64Hxa<void>::value);