mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-20 11:29:24 +00:00
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15938 91177308-0d34-0410-b5e6-96231b3b80d8
66 lines
2.1 KiB
C++
66 lines
2.1 KiB
C++
//===-- 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
|