H A D | TypeBuilder.h | 1 //===---- llvm/TypeBuilder.h - Builder for LLVM types -----------*- C++ -*-===// 10 // This file defines the TypeBuilder class, which is used as a convenient way to 24 /// TypeBuilder - This provides a uniform API for looking up types 27 /// ieee_float, ppc_fp128, etc. TypeBuilder<T, false> allows T to be 30 /// these. TypeBuilder<T, true> removes native C types from this set 45 /// Function::Create(TypeBuilder<types::i<8>(MyType*), true>::get(), ...) 47 /// complain that TypeBuilder<MyType, true>::get() doesn't exist. To fix this, 51 /// template<bool xcompile> class TypeBuilder<MyType, xcompile> { 57 /// TypeBuilder<types::i<32>, xcompile>::get(Context), 58 /// TypeBuilder<type 77 template<typename T, bool cross_compilable> class TypeBuilder {}; class in namespace:llvm 96 template<typename T, bool cross> class TypeBuilder<const T, cross> class in namespace:llvm 98 template<typename T, bool cross> class TypeBuilder<volatile T, cross> class in namespace:llvm 100 template<typename T, bool cross> class TypeBuilder<const volatile T, cross> class in namespace:llvm 104 template<typename T, bool cross> class TypeBuilder<T*, cross> { class in namespace:llvm 112 template<typename T, bool cross> class TypeBuilder<T&, cross> {}; class in namespace:llvm 115 template<typename T, size_t N, bool cross> class TypeBuilder<T[N], cross> { class in namespace:llvm 122 template<typename T, bool cross> class TypeBuilder<T[], cross> { class in namespace:llvm 181 class TypeBuilder<types::i<num_bits>, cross> { class in namespace:llvm 188 template<> class TypeBuilder<float, false> { class in namespace:llvm 194 template<> class TypeBuilder<float, true> {}; class in namespace:llvm 196 template<> class TypeBuilder<double, false> { class in namespace:llvm 202 template<> class TypeBuilder<double, true> {}; class in namespace:llvm 204 template<bool cross> class TypeBuilder<types::ieee_float, cross> { class in namespace:llvm 208 template<bool cross> class TypeBuilder<types::ieee_double, cross> { class in namespace:llvm 212 template<bool cross> class TypeBuilder<types::x86_fp80, cross> { class in namespace:llvm 216 template<bool cross> class TypeBuilder<types::fp128, cross> { class in namespace:llvm 220 template<bool cross> class TypeBuilder<types::ppc_fp128, cross> { class in namespace:llvm 224 template<bool cross> class TypeBuilder<types::x86_mmx, cross> { class in namespace:llvm 229 template<bool cross> class TypeBuilder<void, cross> { class in namespace:llvm 238 template<> class TypeBuilder<void*, false> class in namespace:llvm 240 template<> class TypeBuilder<const void*, false> class in namespace:llvm 242 template<> class TypeBuilder<volatile void*, false> class in namespace:llvm 244 template<> class TypeBuilder<const volatile void*, false> class in namespace:llvm 247 template<typename R, bool cross> class TypeBuilder<R(), cross> { class in namespace:llvm 253 template<typename R, typename A1, bool cross> class TypeBuilder<R(A1), cross> { class in namespace:llvm 264 class TypeBuilder<R(A1, A2), cross> { class in namespace:llvm 276 class TypeBuilder<R(A1, A2, A3), cross> { class in namespace:llvm 291 class TypeBuilder<R(A1, A2, A3, A4), cross> { class in namespace:llvm 307 class TypeBuilder<R(A1, A2, A3, A4, A5), cross> { class in namespace:llvm 322 template<typename R, bool cross> class TypeBuilder<R(...), cross> { class in namespace:llvm 329 class TypeBuilder<R(A1, ...), cross> { class in namespace:llvm 339 class TypeBuilder<R(A1, A2, ...), cross> { class in namespace:llvm 351 class TypeBuilder<R(A1, A2, A3, ...), cross> { class in namespace:llvm 366 class TypeBuilder<R(A1, A2, A3, A4, ...), cross> { class in namespace:llvm 382 class TypeBuilder<R(A1, A2, A3, A4, A5, ...), cross> { class in namespace:llvm [all...] |