mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-30 16:17:05 +00:00 
			
		
		
		
	* 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
 |