Added bindings to LLVM C API Extensions library.
authorJan Vrany <jan.vrany@fit.cvut.cz>
Thu, 13 Aug 2015 06:21:00 +0100
changeset 29 6ea02617c9ab
parent 28 97013ae2abae
child 30 c789c1390911
Added bindings to LLVM C API Extensions library.
LLVMCEXT.st
LLVMDIBuilder.st
LLVMMetadata.st
Make.proto
Make.spec
abbrev.stc
bc.mak
libInit.cc
--- a/LLVMCEXT.st	Thu Aug 13 06:19:28 2015 +0100
+++ b/LLVMCEXT.st	Thu Aug 13 06:21:00 2015 +0100
@@ -78,18 +78,454 @@
 
 !LLVMCEXT class methodsFor:'primitives'!
 
-GetIntrinsicByName: mod _: name _: count _: types
-    "@param mod: LLVMValueRef
-     @param name: const char *
-     @param count: int32
-     @param types: LLVMTypeRef*
-     @return: LLVMValue
+AddFunctionAttr2: Fn _: PA 
+    "@param Fn: LLVMValueRef
+     @param PA: uint64_t
+     @return: void
+    "
+
+    <cdecl: void "LLVMAddFunctionAttr2" ( LLVMValue uint64 ) >
+    self primitiveFailed
+!
+
+AddNamedMetadataOperand2: M _: name _: Val 
+    "@param M: LLVMModuleRef
+     @param name: *const char
+     @param Val: LLVMMetadataRef
+     @return: void
+    "
+
+    <cdecl: void "LLVMAddNamedMetadataOperand2" ( pointer charPointer LLVMMetadata ) >
+    self primitiveFailed
+!
+
+ConstantAsMetadata: Val 
+    "@param Val: LLVMValueRef
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMConstantAsMetadata" ( LLVMValue ) >
+    self primitiveFailed
+!
+
+DIBuilderCreateArrayType: D _: SizeInBits _: AlignInBits _: ElementType _: Subscripts 
+    "@param D: LLVMDIBuilderRef
+     @param SizeInBits: uint64_t
+     @param AlignInBits: uint64_t
+     @param ElementType: LLVMMetadataRef
+     @param Subscripts: LLVMMetadataRef
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMDIBuilderCreateArrayType" ( LLVMDIBuilder uint64 uint64 LLVMMetadata LLVMMetadata ) >
+    self primitiveFailed
+!
+
+DIBuilderCreateAutoVariable: Dref _: Scope _: Name _: File _: Line _: Ty _: AlwaysPreserve _: Flags 
+    "@param Dref: LLVMDIBuilderRef
+     @param Scope: LLVMMetadataRef
+     @param Name: *const char
+     @param File: LLVMMetadataRef
+     @param Line: unsigned int
+     @param Ty: LLVMMetadataRef
+     @param AlwaysPreserve: int
+     @param Flags: unsigned int
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMDIBuilderCreateAutoVariable" ( LLVMDIBuilder LLVMMetadata charPointer LLVMMetadata uint LLVMMetadata int uint ) >
+    self primitiveFailed
+!
+
+DIBuilderCreateBasicType: D _: Name _: SizeInBits _: AlignInBits _: Encoding 
+    "@param D: LLVMDIBuilderRef
+     @param Name: *const char
+     @param SizeInBits: uint64_t
+     @param AlignInBits: uint64_t
+     @param Encoding: unsigned int
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMDIBuilderCreateBasicType" ( LLVMDIBuilder charPointer uint64 uint64 uint ) >
+    self primitiveFailed
+!
+
+DIBuilderCreateCompileUnit: D _: Language _: File _: Dir _: Producer _: Optimized _: Flags _: RuntimeVersion 
+    "@param D: LLVMDIBuilderRef
+     @param Language: unsigned int
+     @param File: *const char
+     @param Dir: *const char
+     @param Producer: *const char
+     @param Optimized: int
+     @param Flags: *const char
+     @param RuntimeVersion: unsigned int
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMDIBuilderCreateCompileUnit" ( LLVMDIBuilder uint charPointer charPointer charPointer int charPointer uint ) >
+    self primitiveFailed
+!
+
+DIBuilderCreateExpression: Dref _: Addr _: Length 
+    "@param Dref: LLVMDIBuilderRef
+     @param Addr: *int64_t
+     @param Length: size_t
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMDIBuilderCreateExpression" ( LLVMDIBuilder pointer long ) >
+    self primitiveFailed
+!
+
+DIBuilderCreateFile: D _: File _: Dir 
+    "@param D: LLVMDIBuilderRef
+     @param File: *const char
+     @param Dir: *const char
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMDIBuilderCreateFile" ( LLVMDIBuilder charPointer charPointer ) >
+    self primitiveFailed
+!
+
+DIBuilderCreateFunction: D _: Scope _: Name _: LinkageName _: File _: Line _: CompositeType _: IsLocalToUnit _: IsDefinition _: ScopeLine _: Flags _: IsOptimized _: Function 
+    "@param D: LLVMDIBuilderRef
+     @param Scope: LLVMMetadataRef
+     @param Name: *const char
+     @param LinkageName: *const char
+     @param File: LLVMMetadataRef
+     @param Line: unsigned int
+     @param CompositeType: LLVMMetadataRef
+     @param IsLocalToUnit: int
+     @param IsDefinition: int
+     @param ScopeLine: unsigned int
+     @param Flags: unsigned int
+     @param IsOptimized: int
+     @param Function: LLVMValueRef
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMDIBuilderCreateFunction" ( LLVMDIBuilder LLVMMetadata charPointer charPointer LLVMMetadata uint LLVMMetadata int int uint uint int LLVMValue ) >
+    self primitiveFailed
+!
+
+DIBuilderCreateLexicalBlock: D _: Scope _: File _: Line _: Column 
+    "@param D: LLVMDIBuilderRef
+     @param Scope: LLVMMetadataRef
+     @param File: LLVMMetadataRef
+     @param Line: unsigned int
+     @param Column: unsigned int
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMDIBuilderCreateLexicalBlock" ( LLVMDIBuilder LLVMMetadata LLVMMetadata uint uint ) >
+    self primitiveFailed
+!
+
+DIBuilderCreateLexicalBlockFile: D _: Scope _: File _: Discriminator 
+    "@param D: LLVMDIBuilderRef
+     @param Scope: LLVMMetadataRef
+     @param File: LLVMMetadataRef
+     @param Discriminator: unsigned int
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMDIBuilderCreateLexicalBlockFile" ( LLVMDIBuilder LLVMMetadata LLVMMetadata uint ) >
+    self primitiveFailed
+!
+
+DIBuilderCreateMemberType: D _: Scope _: Name _: File _: Line _: SizeInBits _: AlignInBits _: OffsetInBits _: Flags _: Ty 
+    "@param D: LLVMDIBuilderRef
+     @param Scope: LLVMMetadataRef
+     @param Name: *const char
+     @param File: LLVMMetadataRef
+     @param Line: unsigned int
+     @param SizeInBits: uint64_t
+     @param AlignInBits: uint64_t
+     @param OffsetInBits: uint64_t
+     @param Flags: unsigned int
+     @param Ty: LLVMMetadataRef
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMDIBuilderCreateMemberType" ( LLVMDIBuilder LLVMMetadata charPointer LLVMMetadata uint uint64 uint64 uint64 uint LLVMMetadata ) >
+    self primitiveFailed
+!
+
+DIBuilderCreateParameterVariable: Dref _: Scope _: Name _: File _: Line _: Ty _: AlwaysPreserve _: Flags _: ArgNo 
+    "@param Dref: LLVMDIBuilderRef
+     @param Scope: LLVMMetadataRef
+     @param Name: *const char
+     @param File: LLVMMetadataRef
+     @param Line: unsigned int
+     @param Ty: LLVMMetadataRef
+     @param AlwaysPreserve: int
+     @param Flags: unsigned int
+     @param ArgNo: unsigned int
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMDIBuilderCreateParameterVariable" ( LLVMDIBuilder LLVMMetadata charPointer LLVMMetadata uint LLVMMetadata int uint uint ) >
+    self primitiveFailed
+!
+
+DIBuilderCreatePointerType: D _: PointeeType _: SizeInBits _: AlignInBits _: Name 
+    "@param D: LLVMDIBuilderRef
+     @param PointeeType: LLVMMetadataRef
+     @param SizeInBits: uint64_t
+     @param AlignInBits: uint64_t
+     @param Name: *const char
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMDIBuilderCreatePointerType" ( LLVMDIBuilder LLVMMetadata uint64 uint64 charPointer ) >
+    self primitiveFailed
+!
+
+DIBuilderCreateReplaceableCompositeType: D _: Tag _: Name _: Scope _: File _: Line _: RuntimeLang _: SizeInBits _: AlignInBits _: Flags 
+    "@param D: LLVMDIBuilderRef
+     @param Tag: unsigned int
+     @param Name: *const char
+     @param Scope: LLVMMetadataRef
+     @param File: LLVMMetadataRef
+     @param Line: unsigned int
+     @param RuntimeLang: unsigned int
+     @param SizeInBits: uint64_t
+     @param AlignInBits: uint64_t
+     @param Flags: unsigned int
+     @return: LLVMMetadataRef
     "
 
-    <cdecl: LLVMFunction "LLVMGetIntrinsicByName" ( LLVMModule charPointer int32 pointer ) >
+    <cdecl: LLVMMetadata "LLVMDIBuilderCreateReplaceableCompositeType" ( LLVMDIBuilder uint charPointer LLVMMetadata LLVMMetadata uint uint uint64 uint64 uint ) >
+    self primitiveFailed
+!
+
+DIBuilderCreateStructType: D _: Scope _: Name _: File _: Line _: SizeInBits _: AlignInBits _: Flags _: DerivedFrom _: ElementTypes 
+    "@param D: LLVMDIBuilderRef
+     @param Scope: LLVMMetadataRef
+     @param Name: *const char
+     @param File: LLVMMetadataRef
+     @param Line: unsigned int
+     @param SizeInBits: uint64_t
+     @param AlignInBits: uint64_t
+     @param Flags: unsigned int
+     @param DerivedFrom: LLVMMetadataRef
+     @param ElementTypes: LLVMMetadataRef
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMDIBuilderCreateStructType" ( LLVMDIBuilder LLVMMetadata charPointer LLVMMetadata uint uint64 uint64 uint LLVMMetadata LLVMMetadata ) >
+    self primitiveFailed
+!
+
+DIBuilderCreateSubroutineType: D _: File _: ParameterTypes 
+    "@param D: LLVMDIBuilderRef
+     @param File: LLVMMetadataRef
+     @param ParameterTypes: LLVMMetadataRef
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMDIBuilderCreateSubroutineType" ( LLVMDIBuilder LLVMMetadata LLVMMetadata ) >
+    self primitiveFailed
+!
+
+DIBuilderCreateTypedef: D _: Ty _: Name _: File _: Line _: Context 
+    "@param D: LLVMDIBuilderRef
+     @param Ty: LLVMMetadataRef
+     @param Name: *const char
+     @param File: LLVMMetadataRef
+     @param Line: unsigned int
+     @param Context: LLVMMetadataRef
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMDIBuilderCreateTypedef" ( LLVMDIBuilder LLVMMetadata charPointer LLVMMetadata uint LLVMMetadata ) >
+    self primitiveFailed
+!
+
+DIBuilderDestroy: d 
+    "@param d: LLVMDIBuilderRef
+     @return: void
+    "
+
+    <cdecl: void "LLVMDIBuilderDestroy" ( LLVMDIBuilder ) >
+    self primitiveFailed
+!
+
+DIBuilderFinalize: d 
+    "@param d: LLVMDIBuilderRef
+     @return: void
+    "
+
+    <cdecl: void "LLVMDIBuilderFinalize" ( LLVMDIBuilder ) >
+    self primitiveFailed
+!
+
+DIBuilderGetOrCreateArray: D _: Data _: Length 
+    "@param D: LLVMDIBuilderRef
+     @param Data: *LLVMMetadataRef
+     @param Length: size_t
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMDIBuilderGetOrCreateArray" ( LLVMDIBuilder pointer long ) >
+    self primitiveFailed
+!
+
+DIBuilderGetOrCreateSubrange: D _: Lo _: Count 
+    "@param D: LLVMDIBuilderRef
+     @param Lo: int64_t
+     @param Count: int64_t
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMDIBuilderGetOrCreateSubrange" ( LLVMDIBuilder sint64 sint64 ) >
+    self primitiveFailed
+!
+
+DIBuilderGetOrCreateTypeArray: D _: Data _: Length 
+    "@param D: LLVMDIBuilderRef
+     @param Data: *LLVMMetadataRef
+     @param Length: size_t
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMDIBuilderGetOrCreateTypeArray" ( LLVMDIBuilder pointer long ) >
+    self primitiveFailed
+!
+
+DIBuilderInsertDeclareAtEnd: D _: Storage _: VarInfo _: Expr _: Block 
+    "@param D: LLVMDIBuilderRef
+     @param Storage: LLVMValueRef
+     @param VarInfo: LLVMMetadataRef
+     @param Expr: LLVMMetadataRef
+     @param Block: LLVMBasicBlockRef
+     @return: LLVMValueRef
+    "
+
+    <cdecl: LLVMValue "LLVMDIBuilderInsertDeclareAtEnd" ( LLVMDIBuilder LLVMValue LLVMMetadata LLVMMetadata pointer ) >
     self primitiveFailed
+!
 
-    "Created: / 10-08-2015 / 17:02:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+DIBuilderInsertValueAtEnd: D _: Val _: Offset _: VarInfo _: Expr _: Block 
+    "@param D: LLVMDIBuilderRef
+     @param Val: LLVMValueRef
+     @param Offset: uint64_t
+     @param VarInfo: LLVMMetadataRef
+     @param Expr: LLVMMetadataRef
+     @param Block: LLVMBasicBlockRef
+     @return: LLVMValueRef
+    "
+
+    <cdecl: LLVMValue "LLVMDIBuilderInsertValueAtEnd" ( LLVMDIBuilder LLVMValue uint64 LLVMMetadata LLVMMetadata pointer ) >
+    self primitiveFailed
+!
+
+GetFunctionAttr2: Fn 
+    "@param Fn: LLVMValueRef
+     @return: uint64_t
+    "
+
+    <cdecl: uint64 "LLVMGetFunctionAttr2" ( LLVMValue ) >
+    self primitiveFailed
+!
+
+GetIntrinsicByName: mod _: name _: count _: types 
+    "@param mod: LLVMModuleRef
+     @param name: *const char
+     @param count: const int
+     @param types: *const LLVMTypeRef
+     @return: LLVMValueRef
+    "
+
+    <cdecl: LLVMValue "LLVMGetIntrinsicByName" ( pointer charPointer int pointer ) >
+    self primitiveFailed
+!
+
+MDNode2: C _: MDs _: Count 
+    "@param C: LLVMContextRef
+     @param MDs: *LLVMMetadataRef
+     @param Count: unsigned int
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMMDNode2" ( LLVMContext pointer uint ) >
+    self primitiveFailed
+!
+
+MDString2: C _: Str _: SLen 
+    "@param C: LLVMContextRef
+     @param Str: *const char
+     @param SLen: unsigned int
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMMDString2" ( LLVMContext charPointer uint ) >
+    self primitiveFailed
+!
+
+MetadataReplaceAllUsesWith: MD _: New 
+    "@param MD: LLVMMetadataRef
+     @param New: LLVMMetadataRef
+     @return: void
+    "
+
+    <cdecl: void "LLVMMetadataReplaceAllUsesWith" ( LLVMMetadata LLVMMetadata ) >
+    self primitiveFailed
+!
+
+NewDIBuilder: m 
+    "@param m: LLVMModuleRef
+     @return: LLVMDIBuilderRef
+    "
+
+    <cdecl: LLVMDIBuilder "LLVMNewDIBuilder" ( pointer ) >
+    self primitiveFailed
+!
+
+RemoveFunctionAttr2: Fn _: PA 
+    "@param Fn: LLVMValueRef
+     @param PA: uint64_t
+     @return: void
+    "
+
+    <cdecl: void "LLVMRemoveFunctionAttr2" ( LLVMValue uint64 ) >
+    self primitiveFailed
+!
+
+SetCurrentDebugLocation2: Bref _: Line _: Col _: Scope _: InlinedAt 
+    "@param Bref: LLVMBuilderRef
+     @param Line: unsigned int
+     @param Col: unsigned int
+     @param Scope: LLVMMetadataRef
+     @param InlinedAt: LLVMMetadataRef
+     @return: void
+    "
+
+    <cdecl: void "LLVMSetCurrentDebugLocation2" ( pointer uint uint LLVMMetadata LLVMMetadata ) >
+    self primitiveFailed
+!
+
+SetMetadata2: Inst _: KindID _: MD 
+    "@param Inst: LLVMValueRef
+     @param KindID: unsigned int
+     @param MD: LLVMMetadataRef
+     @return: void
+    "
+
+    <cdecl: void "LLVMSetMetadata2" ( LLVMValue uint LLVMMetadata ) >
+    self primitiveFailed
+!
+
+TemporaryMDNode: C _: MDs _: Count 
+    "@param C: LLVMContextRef
+     @param MDs: *LLVMMetadataRef
+     @param Count: unsigned int
+     @return: LLVMMetadataRef
+    "
+
+    <cdecl: LLVMMetadata "LLVMTemporaryMDNode" ( LLVMContext pointer uint ) >
+    self primitiveFailed
 ! !
 
 !LLVMCEXT class methodsFor:'documentation'!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LLVMDIBuilder.st	Thu Aug 13 06:21:00 2015 +0100
@@ -0,0 +1,42 @@
+"
+    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 }"
+
+ExternalAddress subclass:#LLVMDIBuilder
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'LLVM-S-Core'
+!
+
+!LLVMDIBuilder 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.
+"
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LLVMMetadata.st	Thu Aug 13 06:21:00 2015 +0100
@@ -0,0 +1,42 @@
+"
+    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 }"
+
+ExternalAddress subclass:#LLVMMetadata
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'LLVM-S-Core'
+!
+
+!LLVMMetadata 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.
+"
+! !
+
--- a/Make.proto	Thu Aug 13 06:19:28 2015 +0100
+++ b/Make.proto	Thu Aug 13 06:21:00 2015 +0100
@@ -139,12 +139,14 @@
 $(OUTDIR)LLVMCallConv.$(O) LLVMCallConv.$(H): LLVMCallConv.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
 $(OUTDIR)LLVMConfig.$(O) LLVMConfig.$(H): LLVMConfig.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)LLVMConstant.$(O) LLVMConstant.$(H): LLVMConstant.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)LLVMDIBuilder.$(O) LLVMDIBuilder.$(H): LLVMDIBuilder.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)LLVMDLLStorageClass.$(O) LLVMDLLStorageClass.$(H): LLVMDLLStorageClass.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
 $(OUTDIR)LLVMDiagnosticSeverity.$(O) LLVMDiagnosticSeverity.$(H): LLVMDiagnosticSeverity.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
 $(OUTDIR)LLVMError.$(O) LLVMError.$(H): LLVMError.st $(INCLUDE_TOP)/stx/libbasic/Error.$(H) $(INCLUDE_TOP)/stx/libbasic/Exception.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)LLVMIntPredicate.$(O) LLVMIntPredicate.$(H): LLVMIntPredicate.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
 $(OUTDIR)LLVMLandingPadClauseTy.$(O) LLVMLandingPadClauseTy.$(H): LLVMLandingPadClauseTy.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
 $(OUTDIR)LLVMLinkage.$(O) LLVMLinkage.$(H): LLVMLinkage.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
+$(OUTDIR)LLVMMetadata.$(O) LLVMMetadata.$(H): LLVMMetadata.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)LLVMObjectArray.$(O) LLVMObjectArray.$(H): LLVMObjectArray.st $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(STCHDR)
 $(OUTDIR)LLVMOpcode.$(O) LLVMOpcode.$(H): LLVMOpcode.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
 $(OUTDIR)LLVMRealPredicate.$(O) LLVMRealPredicate.$(H): LLVMRealPredicate.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/SharedPool.$(H) $(STCHDR)
--- a/Make.spec	Thu Aug 13 06:19:28 2015 +0100
+++ b/Make.spec	Thu Aug 13 06:21:00 2015 +0100
@@ -60,12 +60,14 @@
 	LLVMCallConv \
 	LLVMConfig \
 	LLVMConstant \
+	LLVMDIBuilder \
 	LLVMDLLStorageClass \
 	LLVMDiagnosticSeverity \
 	LLVMError \
 	LLVMIntPredicate \
 	LLVMLandingPadClauseTy \
 	LLVMLinkage \
+	LLVMMetadata \
 	LLVMObjectArray \
 	LLVMOpcode \
 	LLVMRealPredicate \
@@ -128,12 +130,14 @@
     $(OUTDIR_SLASH)LLVMCallConv.$(O) \
     $(OUTDIR_SLASH)LLVMConfig.$(O) \
     $(OUTDIR_SLASH)LLVMConstant.$(O) \
+    $(OUTDIR_SLASH)LLVMDIBuilder.$(O) \
     $(OUTDIR_SLASH)LLVMDLLStorageClass.$(O) \
     $(OUTDIR_SLASH)LLVMDiagnosticSeverity.$(O) \
     $(OUTDIR_SLASH)LLVMError.$(O) \
     $(OUTDIR_SLASH)LLVMIntPredicate.$(O) \
     $(OUTDIR_SLASH)LLVMLandingPadClauseTy.$(O) \
     $(OUTDIR_SLASH)LLVMLinkage.$(O) \
+    $(OUTDIR_SLASH)LLVMMetadata.$(O) \
     $(OUTDIR_SLASH)LLVMObjectArray.$(O) \
     $(OUTDIR_SLASH)LLVMOpcode.$(O) \
     $(OUTDIR_SLASH)LLVMRealPredicate.$(O) \
--- a/abbrev.stc	Thu Aug 13 06:19:28 2015 +0100
+++ b/abbrev.stc	Thu Aug 13 06:21:00 2015 +0100
@@ -10,12 +10,14 @@
 LLVMCallConv LLVMCallConv jv:llvm_s 'LLVM-S-Core-Constants' 0
 LLVMConfig LLVMConfig jv:llvm_s 'LLVM-S-Internal' 0
 LLVMConstant LLVMConstant jv:llvm_s 'LLVM-S-Core' 0
+LLVMDIBuilder LLVMDIBuilder jv:llvm_s 'LLVM-S-Core' 0
 LLVMDLLStorageClass LLVMDLLStorageClass jv:llvm_s 'LLVM-S-Core-Constants' 0
 LLVMDiagnosticSeverity LLVMDiagnosticSeverity jv:llvm_s 'LLVM-S-Core-Constants' 0
 LLVMError LLVMError jv:llvm_s 'LLVM-S-Core-Exceptions' 1
 LLVMIntPredicate LLVMIntPredicate jv:llvm_s 'LLVM-S-Core-Constants' 0
 LLVMLandingPadClauseTy LLVMLandingPadClauseTy jv:llvm_s 'LLVM-S-Core-Constants' 0
 LLVMLinkage LLVMLinkage jv:llvm_s 'LLVM-S-Core-Constants' 0
+LLVMMetadata LLVMMetadata jv:llvm_s 'LLVM-S-Core' 0
 LLVMObjectArray LLVMObjectArray jv:llvm_s 'LLVM-S-Core' 0
 LLVMOpcode LLVMOpcode jv:llvm_s 'LLVM-S-Core-Constants' 0
 LLVMRealPredicate LLVMRealPredicate jv:llvm_s 'LLVM-S-Core-Constants' 0
@@ -38,10 +40,10 @@
 LLVMTypeMismatchError LLVMTypeMismatchError jv:llvm_s 'LLVM-S-Core-Exceptions' 1
 LLVMUse LLVMUse jv:llvm_s 'LLVM-S-Core' 0
 LLVMValue LLVMValue jv:llvm_s 'LLVM-S-Core' 0
-LLVMIRBuilder LLVMIRBuilder jv:llvm_s 'LLVM-S-Core' 0
 LLVMExecutionEngine LLVMExecutionEngine jv:llvm_s 'LLVM-S-Core' 0
 LLVMFunction LLVMFunction jv:llvm_s 'LLVM-S-Core' 0
 LLVMGenericValue LLVMGenericValue jv:llvm_s 'LLVM-S-Core' 0
+LLVMIRBuilder LLVMIRBuilder jv:llvm_s 'LLVM-S-Core' 0
 LLVMMCJITMemoryManager LLVMMCJITMemoryManager jv:llvm_s 'LLVM-S-Core' 0
 LLVMModule LLVMModule jv:llvm_s 'LLVM-S-Core' 0
 LLVMModuleProvider LLVMModuleProvider jv:llvm_s 'LLVM-S-Core' 0
--- a/bc.mak	Thu Aug 13 06:19:28 2015 +0100
+++ b/bc.mak	Thu Aug 13 06:21:00 2015 +0100
@@ -81,12 +81,14 @@
 $(OUTDIR)LLVMCallConv.$(O) LLVMCallConv.$(H): LLVMCallConv.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
 $(OUTDIR)LLVMConfig.$(O) LLVMConfig.$(H): LLVMConfig.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)LLVMConstant.$(O) LLVMConstant.$(H): LLVMConstant.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)LLVMDIBuilder.$(O) LLVMDIBuilder.$(H): LLVMDIBuilder.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)LLVMDLLStorageClass.$(O) LLVMDLLStorageClass.$(H): LLVMDLLStorageClass.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
 $(OUTDIR)LLVMDiagnosticSeverity.$(O) LLVMDiagnosticSeverity.$(H): LLVMDiagnosticSeverity.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
 $(OUTDIR)LLVMError.$(O) LLVMError.$(H): LLVMError.st $(INCLUDE_TOP)\stx\libbasic\Error.$(H) $(INCLUDE_TOP)\stx\libbasic\Exception.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)LLVMIntPredicate.$(O) LLVMIntPredicate.$(H): LLVMIntPredicate.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
 $(OUTDIR)LLVMLandingPadClauseTy.$(O) LLVMLandingPadClauseTy.$(H): LLVMLandingPadClauseTy.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
 $(OUTDIR)LLVMLinkage.$(O) LLVMLinkage.$(H): LLVMLinkage.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
+$(OUTDIR)LLVMMetadata.$(O) LLVMMetadata.$(H): LLVMMetadata.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)LLVMObjectArray.$(O) LLVMObjectArray.$(H): LLVMObjectArray.st $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\ExternalBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(STCHDR)
 $(OUTDIR)LLVMOpcode.$(O) LLVMOpcode.$(H): LLVMOpcode.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
 $(OUTDIR)LLVMRealPredicate.$(O) LLVMRealPredicate.$(H): LLVMRealPredicate.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\SharedPool.$(H) $(STCHDR)
--- a/libInit.cc	Thu Aug 13 06:19:28 2015 +0100
+++ b/libInit.cc	Thu Aug 13 06:21:00 2015 +0100
@@ -36,12 +36,14 @@
 _LLVMCallConv_Init(pass,__pRT__,snd);
 _LLVMConfig_Init(pass,__pRT__,snd);
 _LLVMConstant_Init(pass,__pRT__,snd);
+_LLVMDIBuilder_Init(pass,__pRT__,snd);
 _LLVMDLLStorageClass_Init(pass,__pRT__,snd);
 _LLVMDiagnosticSeverity_Init(pass,__pRT__,snd);
 _LLVMError_Init(pass,__pRT__,snd);
 _LLVMIntPredicate_Init(pass,__pRT__,snd);
 _LLVMLandingPadClauseTy_Init(pass,__pRT__,snd);
 _LLVMLinkage_Init(pass,__pRT__,snd);
+_LLVMMetadata_Init(pass,__pRT__,snd);
 _LLVMObjectArray_Init(pass,__pRT__,snd);
 _LLVMOpcode_Init(pass,__pRT__,snd);
 _LLVMRealPredicate_Init(pass,__pRT__,snd);