mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-16 14:31:59 +00:00
Update the C bindings to keep the LLVMTypeKind up to date between the C/C++
stuff. Patch by Zoltan Varga! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75842 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
23702eacab
commit
0df5c8e3f1
@ -115,7 +115,8 @@ typedef enum {
|
||||
LLVMArrayTypeKind, /**< Arrays */
|
||||
LLVMPointerTypeKind, /**< Pointers */
|
||||
LLVMOpaqueTypeKind, /**< Opaque: type with unknown structure */
|
||||
LLVMVectorTypeKind /**< SIMD 'packed' format, or other vector type */
|
||||
LLVMVectorTypeKind, /**< SIMD 'packed' format, or other vector type */
|
||||
LLVMMetadataTypeKind /**< Metadata */
|
||||
} LLVMTypeKind;
|
||||
|
||||
typedef enum {
|
||||
|
@ -66,6 +66,7 @@ public:
|
||||
/// value, you can cast to a "DerivedType" subclass (see DerivedTypes.h)
|
||||
/// Note: If you add an element to this, you need to add an element to the
|
||||
/// Type::getPrimitiveType function, or else things will break!
|
||||
/// Also update LLVMTypeKind and LLVMGetTypeKind () in the C binding.
|
||||
///
|
||||
enum TypeID {
|
||||
// PrimitiveTypes .. make sure LastPrimitiveTyID stays up to date
|
||||
|
@ -117,7 +117,40 @@ void LLVMDumpModule(LLVMModuleRef M) {
|
||||
/*--.. Operations on all types (mostly) ....................................--*/
|
||||
|
||||
LLVMTypeKind LLVMGetTypeKind(LLVMTypeRef Ty) {
|
||||
return static_cast<LLVMTypeKind>(unwrap(Ty)->getTypeID());
|
||||
switch (unwrap(Ty)->getTypeID()) {
|
||||
case Type::VoidTyID:
|
||||
return LLVMVoidTypeKind;
|
||||
case Type::FloatTyID:
|
||||
return LLVMFloatTypeKind;
|
||||
case Type::DoubleTyID:
|
||||
return LLVMDoubleTypeKind;
|
||||
case Type::X86_FP80TyID:
|
||||
return LLVMX86_FP80TypeKind;
|
||||
case Type::FP128TyID:
|
||||
return LLVMFP128TypeKind;
|
||||
case Type::PPC_FP128TyID:
|
||||
return LLVMPPC_FP128TypeKind;
|
||||
case Type::LabelTyID:
|
||||
return LLVMLabelTypeKind;
|
||||
case Type::MetadataTyID:
|
||||
return LLVMMetadataTypeKind;
|
||||
case Type::IntegerTyID:
|
||||
return LLVMIntegerTypeKind;
|
||||
case Type::FunctionTyID:
|
||||
return LLVMFunctionTypeKind;
|
||||
case Type::StructTyID:
|
||||
return LLVMStructTypeKind;
|
||||
case Type::ArrayTyID:
|
||||
return LLVMArrayTypeKind;
|
||||
case Type::PointerTyID:
|
||||
return LLVMPointerTypeKind;
|
||||
case Type::OpaqueTyID:
|
||||
return LLVMOpaqueTypeKind;
|
||||
case Type::VectorTyID:
|
||||
return LLVMVectorTypeKind;
|
||||
default:
|
||||
assert (false && "Unhandled TypeID.");
|
||||
}
|
||||
}
|
||||
|
||||
/*--.. Operations on integer types .........................................--*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user