mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-12 13:38:21 +00:00
[AlignOf] Add AlignedCharArray and refactor AlignedCharArrayUnion.
This adds AlignedCharArray<Alignment, Size>. A templated struct that contains a member named buffer of type char[Size] that is aligned to Alignment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171319 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -14,7 +14,6 @@
|
||||
using namespace llvm;
|
||||
|
||||
namespace {
|
||||
|
||||
// Disable warnings about questionable type definitions.
|
||||
// We're testing that even questionable types work with the alignment utilities.
|
||||
#ifdef _MSC_VER
|
||||
@ -321,6 +320,16 @@ TEST(AlignOfTest, BasicAlignedArray) {
|
||||
#ifndef _MSC_VER
|
||||
EXPECT_EQ(sizeof(V8), sizeof(AlignedCharArrayUnion<V8>));
|
||||
#endif
|
||||
}
|
||||
|
||||
EXPECT_EQ(1u, (alignOf<AlignedCharArray<1, 1> >()));
|
||||
EXPECT_EQ(2u, (alignOf<AlignedCharArray<2, 1> >()));
|
||||
EXPECT_EQ(4u, (alignOf<AlignedCharArray<4, 1> >()));
|
||||
EXPECT_EQ(8u, (alignOf<AlignedCharArray<8, 1> >()));
|
||||
EXPECT_EQ(16u, (alignOf<AlignedCharArray<16, 1> >()));
|
||||
|
||||
EXPECT_EQ(1u, sizeof(AlignedCharArray<1, 1>));
|
||||
EXPECT_EQ(7u, sizeof(AlignedCharArray<1, 7>));
|
||||
EXPECT_EQ(2u, sizeof(AlignedCharArray<2, 2>));
|
||||
EXPECT_EQ(16u, sizeof(AlignedCharArray<2, 16>));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user