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 }"
LLVMObject subclass:#LLVMDisposableObject
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'LLVM-S-Internal'
!
!LLVMDisposableObject 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.
"
! !
!LLVMDisposableObject class methodsFor:'queries'!
isAbstract
"Return if this class is an abstract class.
True is returned here for myself only; false for subclasses.
Abstract subclasses must redefine again."
^ self == LLVMDisposableObject.
! !
!LLVMDisposableObject methodsFor:'initialization & release'!
dispose
self subclassResponsibility
"Created: / 08-07-2015 / 22:31:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
finalize
self address ~~ 0 ifTrue:[
self dispose.
self setAddress: 0.
].
"Created: / 08-07-2015 / 22:31:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 17-07-2015 / 12:13:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
initialize
self registerForFinalization
"Created: / 08-07-2015 / 22:30:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !