LLVMTypeHalt.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 27 Jan 2016 14:20:58 +0000
changeset 54 a288aced3dd1
parent 33 feabf14b6c1d
child 71 ab03b0a6d037
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 }"

LLVMTypeScalar subclass:#LLVMTypeHalt
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'LLVM-S-Core-Types'
!

!LLVMTypeHalt 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.
"
! !

!LLVMTypeHalt methodsFor:'accessing'!

sizeInBits
    "For integer, pointer, FP  types, return the size in bits. For all 
     other types, throw an LLVMTypeError.

     LLVMType int32 sizeInBits -> 32
     LLVMType int1 sizeInBits  -> 1
    "
   ^ 16

    "Created: / 13-08-2015 / 17:02:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!LLVMTypeHalt methodsFor:'testing'!

isHalfType
    ^ true

    "Created: / 13-08-2015 / 16:51:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !