• Home
  • Raw
  • Download

Lines Matching +full:- +full:- +full:short

1 //=== - llvm/unittest/Support/TrailingObjectsTest.cpp ---------------------===//
8 //===----------------------------------------------------------------------===//
19 class Class1 final : protected TrailingObjects<Class1, short> {
25 size_t numTrailingObjects(OverloadToken<short>) const { return NumShorts; } in numTrailingObjects()
29 getTrailingObjects<short>()); in Class1()
34 void *Mem = ::operator new(totalSizeToAlloc<short>(NumShorts)); in create()
39 short get(unsigned Num) const { return getTrailingObjects<short>()[Num]; } in get()
52 class Class2 final : protected TrailingObjects<Class2, double, short> {
58 size_t numTrailingObjects(OverloadToken<short>) const { in numTrailingObjects()
69 static Class2 *create(short S = 0, double D = 0.0) { in create()
74 ::operator new(totalSizeToAlloc<double, short>(HasDouble, HasShort)); in create()
77 *C->getTrailingObjects<short>() = S; in create()
79 *C->getTrailingObjects<double>() = D; in create()
84 short getShort() const { in getShort()
87 return *getTrailingObjects<short>(); in getShort()
106 EXPECT_EQ(Class1::additionalSizeToAlloc<short>(1), sizeof(short)); in TEST()
107 EXPECT_EQ(Class1::additionalSizeToAlloc<short>(3), sizeof(short) * 3); in TEST()
109 EXPECT_EQ(Class1::totalSizeToAlloc<short>(1), sizeof(Class1) + sizeof(short)); in TEST()
110 EXPECT_EQ(Class1::totalSizeToAlloc<short>(3), in TEST()
111 sizeof(Class1) + sizeof(short) * 3); in TEST()
113 EXPECT_EQ(C->getTrailingObjects<short>(), reinterpret_cast<short *>(C + 1)); in TEST()
114 EXPECT_EQ(C->get(0), 1); in TEST()
115 EXPECT_EQ(C->get(2), 3); in TEST()
127 EXPECT_EQ((Class2::additionalSizeToAlloc<double, short>(1, 0)), in TEST()
129 EXPECT_EQ((Class2::additionalSizeToAlloc<double, short>(0, 1)), in TEST()
130 sizeof(short)); in TEST()
131 EXPECT_EQ((Class2::additionalSizeToAlloc<double, short>(3, 1)), in TEST()
132 sizeof(double) * 3 + sizeof(short)); in TEST()
134 EXPECT_EQ((Class2::totalSizeToAlloc<double, short>(1, 1)), in TEST()
135 sizeof(Class2) + sizeof(double) + sizeof(short)); in TEST()
137 EXPECT_EQ(C1->getDouble(), 0); in TEST()
138 EXPECT_EQ(C1->getShort(), 4); in TEST()
139 EXPECT_EQ(C1->getTrailingObjects<double>(), in TEST()
141 EXPECT_EQ(C1->getTrailingObjects<short>(), reinterpret_cast<short *>(C1 + 1)); in TEST()
143 EXPECT_EQ(C2->getDouble(), 4.2); in TEST()
144 EXPECT_EQ(C2->getShort(), 0); in TEST()
145 EXPECT_EQ(C2->getTrailingObjects<double>(), in TEST()
147 EXPECT_EQ(C2->getTrailingObjects<short>(), in TEST()
148 reinterpret_cast<short *>(reinterpret_cast<double *>(C2 + 1) + 1)); in TEST()
157 class Class3 final : public TrailingObjects<Class3, double, short, bool> {
161 size_t numTrailingObjects(OverloadToken<short>) const { return 1; } in numTrailingObjects()
165 EXPECT_EQ((Class3::additionalSizeToAlloc<double, short, bool>(1, 1, 3)), in TEST()
166 sizeof(double) + sizeof(short) + 3 * sizeof(bool)); in TEST()
170 EXPECT_EQ(C->getTrailingObjects<double>(), reinterpret_cast<double *>(C + 1)); in TEST()
171 EXPECT_EQ(C->getTrailingObjects<short>(), in TEST()
172 reinterpret_cast<short *>(reinterpret_cast<double *>(C + 1) + 1)); in TEST()
174 C->getTrailingObjects<bool>(), in TEST()
176 reinterpret_cast<short *>(reinterpret_cast<double *>(C + 1) + 1) + in TEST()
191 EXPECT_EQ(C->getTrailingObjects<char>(), reinterpret_cast<char *>(C + 1)); in TEST()
192 EXPECT_EQ(C->getTrailingObjects<long>(), in TEST()