14 #ifndef LLVM_SUPPORT_ALIGNOF_H 15 #define LLVM_SUPPORT_ALIGNOF_H 35 template<std::
size_t Alignment, std::
size_t Size>
43 template<std::
size_t Alignment, std::
size_t Size>
54 template<std::
size_t Size>
62 template<std::
size_t Size>
70 template<std::
size_t Size>
78 template<std::
size_t Size>
90 #define LLVM_ALIGNEDCHARARRAY_TEMPLATE_ALIGNMENT(x) \ 91 template<std::size_t Size> \ 92 struct AlignedCharArray<x, Size> { \ 93 __declspec(align(x)) char buffer[Size]; \ 96 LLVM_ALIGNEDCHARARRAY_TEMPLATE_ALIGNMENT(16)
97 LLVM_ALIGNEDCHARARRAY_TEMPLATE_ALIGNMENT(32)
98 LLVM_ALIGNEDCHARARRAY_TEMPLATE_ALIGNMENT(64)
99 LLVM_ALIGNEDCHARARRAY_TEMPLATE_ALIGNMENT(128)
101 #undef LLVM_ALIGNEDCHARARRAY_TEMPLATE_ALIGNMENT 106 template <
typename T1,
107 typename T2 =
char,
typename T3 =
char,
typename T4 =
char,
108 typename T5 =
char,
typename T6 =
char,
typename T7 =
char,
109 typename T8 =
char,
typename T9 =
char,
typename T10 =
char>
111 T1 t1; T2 t2; T3 t3; T4 t4; T5 t5; T6 t6; T7 t7; T8 t8; T9 t9; T10 t10;
116 template <
typename T1,
117 typename T2 =
char,
typename T3 =
char,
typename T4 =
char,
118 typename T5 =
char,
typename T6 =
char,
typename T7 =
char,
119 typename T8 =
char,
typename T9 =
char,
typename T10 =
char>
121 char arr1[
sizeof(
T1)], arr2[
sizeof(T2)], arr3[
sizeof(T3)], arr4[
sizeof(T4)],
122 arr5[
sizeof(T5)], arr6[
sizeof(T6)], arr7[
sizeof(T7)], arr8[
sizeof(T8)],
123 arr9[
sizeof(T9)], arr10[
sizeof(T10)];
134 template <
typename T1,
135 typename T2 =
char,
typename T3 =
char,
typename T4 =
char,
136 typename T5 =
char,
typename T6 =
char,
typename T7 =
char,
137 typename T8 =
char,
typename T9 =
char,
typename T10 =
char>
139 alignof(llvm::detail::AlignerImpl<T1, T2, T3, T4, T5,
140 T6, T7, T8, T9, T10>),
141 sizeof(::llvm::detail::SizerImpl<T1, T2, T3, T4, T5,
142 T6, T7, T8, T9, T10>)> {
146 #endif // LLVM_SUPPORT_ALIGNOF_H This class represents lattice values for constants.
This union template exposes a suitably aligned and sized character array member which can hold elemen...
Helper for building an aligned character array type.