LLVMAtomicOrdering.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 27 Jan 2016 14:20:58 +0000
changeset 54 a288aced3dd1
parent 14 c7dea3fcc5a7
child 61 c2e287d54de5
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:#LLVMAtomicOrdering
	instanceVariableNames:''
	classVariableNames:'LLVMAtomicOrderingNotAtomic LLVMAtomicOrderingUnordered
		LLVMAtomicOrderingMonotonic LLVMAtomicOrderingAcquire
		LLVMAtomicOrderingRelease LLVMAtomicOrderingAcquireRelease
		LLVMAtomicOrderingSequentiallyConsistent'
	poolDictionaries:''
	category:'LLVM-S-Core-Constants'
!

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

!LLVMAtomicOrdering class methodsFor:'initialization'!

initialize

    LLVMAtomicOrderingNotAtomic := 0.
    LLVMAtomicOrderingUnordered := 1.
    LLVMAtomicOrderingMonotonic := 2.
    LLVMAtomicOrderingAcquire := 4.
    LLVMAtomicOrderingRelease := 5.
    LLVMAtomicOrderingAcquireRelease := 6.
    LLVMAtomicOrderingSequentiallyConsistent := 7.
! !

!LLVMAtomicOrdering class methodsFor:'constants'!

LLVMAtomicOrderingAcquire

    ^LLVMAtomicOrderingAcquire
!

LLVMAtomicOrderingAcquireRelease

    ^LLVMAtomicOrderingAcquireRelease
!

LLVMAtomicOrderingMonotonic

    ^LLVMAtomicOrderingMonotonic
!

LLVMAtomicOrderingNotAtomic

    ^LLVMAtomicOrderingNotAtomic
!

LLVMAtomicOrderingRelease

    ^LLVMAtomicOrderingRelease
!

LLVMAtomicOrderingSequentiallyConsistent

    ^LLVMAtomicOrderingSequentiallyConsistent
!

LLVMAtomicOrderingUnordered

    ^LLVMAtomicOrderingUnordered
! !


LLVMAtomicOrdering initialize!