//===-- llvm/Type.def - File that describes various LLVM types --*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file was developed by the LLVM research group and is distributed under // the University of Illinois Open Source License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This file contains descriptions of the various LLVM types and derived types. // This file serves as a source of in source documentation and a can be // #included to do something on all of the type definitions. // //===----------------------------------------------------------------------===// // NOTE: NO INCLUDE GUARD DESIRED! // If the user did not specify one of the macros, give a default noop defn. // #ifndef HANDLE_PRIM_TYPE #define HANDLE_PRIM_TYPE(x,y) #endif #ifndef HANDLE_DERV_TYPE #define HANDLE_DERV_TYPE(x,y) #endif // HANDLE_PRIM_TYPE - Parameterized #define that takes the following fields to // declare a primitive type: // // Type Name: This is the symbolic name of the type, without the trailing Ty. // Type Size: This is the size or precision of the type. // HANDLE_PRIM_TYPE(Void , 0) HANDLE_PRIM_TYPE(Bool , 1) HANDLE_PRIM_TYPE(SByte , 1) HANDLE_PRIM_TYPE(UByte , 1) HANDLE_PRIM_TYPE(Short , 2) HANDLE_PRIM_TYPE(UShort, 2) HANDLE_PRIM_TYPE(Int , 4) HANDLE_PRIM_TYPE(UInt , 4) HANDLE_PRIM_TYPE(Long , 8) HANDLE_PRIM_TYPE(ULong , 8) HANDLE_PRIM_TYPE(Float , 4) HANDLE_PRIM_TYPE(Double, 8) HANDLE_PRIM_TYPE(Label , 0) // HANDLE_DERV_TYPE - Parameterized #define that takes the following fields to // declare a derived type: // // Type Name: This is the symbolic name of the type, without the trailing Ty. // Class Name: This is the subclass that implements the derived type. // HANDLE_DERV_TYPE(Function, FunctionType) HANDLE_DERV_TYPE(Array , ArrayType) HANDLE_DERV_TYPE(Pointer , PointerType) HANDLE_DERV_TYPE(Struct , StructType) HANDLE_DERV_TYPE(Opaque , OpaqueType) HANDLE_DERV_TYPE(Packed , PackedType) // Kill the macros on exit... #undef HANDLE_PRIM_TYPE #undef HANDLE_DERV_TYPE