llvm-6502/include/llvm/Type.def
Chris Lattner 6bfd6a578a s/Method/Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2034 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-29 03:44:36 +00:00

59 lines
1.8 KiB
C++

//===-- llvm/Type.def - File that describes various LLVM types ---*- C++ -*--=//
//
// 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 didn't 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 , 1)
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(Type , 0)
HANDLE_PRIM_TYPE(Label , 8)
// 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)
// Kill the macros on exit...
#undef HANDLE_PRIM_TYPE
#undef HANDLE_DERV_TYPE