LLVMTypeKind.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 27 Jan 2016 14:20:58 +0000
changeset 54 a288aced3dd1
parent 14 c7dea3fcc5a7
permissions -rw-r--r--
LLVM C API Extensions: Fixed DIBuilerCreateFunction() and DIBuilderCreateSubroutineType() for LLVM 3.9 In LLVM 3.9 some parameters to these functions were dropped. The DIBuilder interface has been changed to reflect these changes (i.e., C functions no longer require dropped argument). The LLVM C Extensions library can still be compiled against LLVM 3.8 (via #ifdef), but the API will be different. Also, the Smalltallks bindings will make use of LLVM 3.9 interface. That said, LLVM C API Extensions library may still be used by *other* projects on top of LLVM 3.8, though Smalltalk bindings require LLVM 3.9 from now on.

"
    Copyright (C) 2015-now Jan Vrany

    This code is not an open-source (yet). You may use this code
    for your own experiments and projects, given that:

    * all modification to the code will be sent to the
      original author for inclusion in future releases
    * this is not used in any commercial software

    This license is provisional and may (will) change in
    a future.
"
"{ Package: 'jv:llvm_s' }"

"{ NameSpace: Smalltalk }"

SharedPool subclass:#LLVMTypeKind
	instanceVariableNames:''
	classVariableNames:'LLVMVoidTypeKind LLVMHalfTypeKind LLVMFloatTypeKind
		LLVMDoubleTypeKind LLVMX86_FP80TypeKind LLVMFP128TypeKind
		LLVMPPC_FP128TypeKind LLVMLabelTypeKind LLVMIntegerTypeKind
		LLVMFunctionTypeKind LLVMStructTypeKind LLVMArrayTypeKind
		LLVMPointerTypeKind LLVMVectorTypeKind LLVMMetadataTypeKind
		LLVMX86_MMXTypeKind'
	poolDictionaries:''
	category:'LLVM-S-Core-Constants'
!

!LLVMTypeKind class methodsFor:'documentation'!

copyright
"
    Copyright (C) 2015-now Jan Vrany

    This code is not an open-source (yet). You may use this code
    for your own experiments and projects, given that:

    * all modification to the code will be sent to the
      original author for inclusion in future releases
    * this is not used in any commercial software

    This license is provisional and may (will) change in
    a future.
"
! !

!LLVMTypeKind class methodsFor:'initialization'!

initialize

    LLVMVoidTypeKind := 0.
    LLVMHalfTypeKind := 1.
    LLVMFloatTypeKind := 2.
    LLVMDoubleTypeKind := 3.
    LLVMX86_FP80TypeKind := 4.
    LLVMFP128TypeKind := 5.
    LLVMPPC_FP128TypeKind := 6.
    LLVMLabelTypeKind := 7.
    LLVMIntegerTypeKind := 8.
    LLVMFunctionTypeKind := 9.
    LLVMStructTypeKind := 10.
    LLVMArrayTypeKind := 11.
    LLVMPointerTypeKind := 12.
    LLVMVectorTypeKind := 13.
    LLVMMetadataTypeKind := 14.
    LLVMX86_MMXTypeKind := 15.
! !

!LLVMTypeKind class methodsFor:'constants'!

LLVMArrayTypeKind

    ^LLVMArrayTypeKind
!

LLVMDoubleTypeKind

    ^LLVMDoubleTypeKind
!

LLVMFP128TypeKind

    ^LLVMFP128TypeKind
!

LLVMFloatTypeKind

    ^LLVMFloatTypeKind
!

LLVMFunctionTypeKind

    ^LLVMFunctionTypeKind
!

LLVMHalfTypeKind

    ^LLVMHalfTypeKind
!

LLVMIntegerTypeKind

    ^LLVMIntegerTypeKind
!

LLVMLabelTypeKind

    ^LLVMLabelTypeKind
!

LLVMMetadataTypeKind

    ^LLVMMetadataTypeKind
!

LLVMPPC_FP128TypeKind

    ^LLVMPPC_FP128TypeKind
!

LLVMPointerTypeKind

    ^LLVMPointerTypeKind
!

LLVMStructTypeKind

    ^LLVMStructTypeKind
!

LLVMVectorTypeKind

    ^LLVMVectorTypeKind
!

LLVMVoidTypeKind

    ^LLVMVoidTypeKind
!

LLVMX86_FP80TypeKind

    ^LLVMX86_FP80TypeKind
!

LLVMX86_MMXTypeKind

    ^LLVMX86_MMXTypeKind
! !


LLVMTypeKind initialize!