28 #include <gtest/gtest.h>
34 using Scalar = uint64_t;
35 using TooShort = uint8_t[2];
36 using TooLong = uint16_t[32];
37 using TooLongFloat =
double[4];
38 using EightLong = uint32_t[2];
39 using SixteenLong = uint64_t[2];
40 using EightLongFloat =
float[2];
41 using SixteenLongFloat =
double[2];
82 using SvaInt = uint32_t[2];
83 using SvaTiny = uint8_t[16];
84 using SvaFloat =
float[2];
86 EXPECT_TRUE(GuestABI::IsAapcs64Hva<SvaInt[3]>::value);
87 EXPECT_TRUE(GuestABI::IsAapcs64Hva<SvaInt[4]>::value);
90 EXPECT_TRUE(GuestABI::IsAapcs64Hva<SvaFloat[3]>::value);
91 EXPECT_TRUE(GuestABI::IsAapcs64Hva<SvaFloat[4]>::value);
92 EXPECT_FALSE(GuestABI::IsAapcs64Hva<SvaFloat[5]>::value);
94 EXPECT_TRUE(GuestABI::IsAapcs64Hva<SvaTiny[3]>::value);
95 EXPECT_TRUE(GuestABI::IsAapcs64Hva<SvaTiny[4]>::value);
99 EXPECT_FALSE(GuestABI::IsAapcs64Hva<uint64_t[1]>::value);
107 using SvaInt = uint32_t[2];
109 EXPECT_TRUE(GuestABI::IsAapcs64Hxa<SvaInt[4]>::value);
112 EXPECT_TRUE(GuestABI::IsAapcs64Hxa<
float[4]>::value);