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:#LLVMLinkage
instanceVariableNames:''
classVariableNames:'LLVMExternalLinkage LLVMAvailableExternallyLinkage
LLVMLinkOnceAnyLinkage LLVMLinkOnceODRLinkage
LLVMLinkOnceODRAutoHideLinkage LLVMWeakAnyLinkage
LLVMWeakODRLinkage LLVMAppendingLinkage LLVMInternalLinkage
LLVMPrivateLinkage LLVMDLLImportLinkage LLVMDLLExportLinkage
LLVMExternalWeakLinkage LLVMGhostLinkage LLVMCommonLinkage
LLVMLinkerPrivateLinkage LLVMLinkerPrivateWeakLinkage'
poolDictionaries:''
category:'LLVM-S-Core-Constants'
!
!LLVMLinkage 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.
"
! !
!LLVMLinkage class methodsFor:'initialization'!
initialize
LLVMExternalLinkage := 0.
LLVMAvailableExternallyLinkage := 1.
LLVMLinkOnceAnyLinkage := 2.
LLVMLinkOnceODRLinkage := 3.
LLVMLinkOnceODRAutoHideLinkage := 4.
LLVMWeakAnyLinkage := 5.
LLVMWeakODRLinkage := 6.
LLVMAppendingLinkage := 7.
LLVMInternalLinkage := 8.
LLVMPrivateLinkage := 9.
LLVMDLLImportLinkage := 10.
LLVMDLLExportLinkage := 11.
LLVMExternalWeakLinkage := 12.
LLVMGhostLinkage := 13.
LLVMCommonLinkage := 14.
LLVMLinkerPrivateLinkage := 15.
LLVMLinkerPrivateWeakLinkage := 16.
! !
!LLVMLinkage class methodsFor:'constants'!
LLVMAppendingLinkage
^LLVMAppendingLinkage
!
LLVMAvailableExternallyLinkage
^LLVMAvailableExternallyLinkage
!
LLVMCommonLinkage
^LLVMCommonLinkage
!
LLVMDLLExportLinkage
^LLVMDLLExportLinkage
!
LLVMDLLImportLinkage
^LLVMDLLImportLinkage
!
LLVMExternalLinkage
^LLVMExternalLinkage
!
LLVMExternalWeakLinkage
^LLVMExternalWeakLinkage
!
LLVMGhostLinkage
^LLVMGhostLinkage
!
LLVMInternalLinkage
^LLVMInternalLinkage
!
LLVMLinkOnceAnyLinkage
^LLVMLinkOnceAnyLinkage
!
LLVMLinkOnceODRAutoHideLinkage
^LLVMLinkOnceODRAutoHideLinkage
!
LLVMLinkOnceODRLinkage
^LLVMLinkOnceODRLinkage
!
LLVMLinkerPrivateLinkage
^LLVMLinkerPrivateLinkage
!
LLVMLinkerPrivateWeakLinkage
^LLVMLinkerPrivateWeakLinkage
!
LLVMPrivateLinkage
^LLVMPrivateLinkage
!
LLVMWeakAnyLinkage
^LLVMWeakAnyLinkage
!
LLVMWeakODRLinkage
^LLVMWeakODRLinkage
! !
LLVMLinkage initialize!