mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 15:11:24 +00:00
be07811cd0
* Make Type::*Ty not be const types * Add a new Type.def file to provide info about types * Add a full complement of casting methods to the Type class git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@533 91177308-0d34-0410-b5e6-96231b3b80d8
59 lines
1.8 KiB
C++
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(Method , MethodType)
|
|
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
|