summaryrefslogtreecommitdiff
path: root/bindings
diff options
context:
space:
mode:
authorSam McCall <sam.mccall@gmail.com>2017-11-02 10:22:26 +0000
committerSam McCall <sam.mccall@gmail.com>2017-11-02 10:22:26 +0000
commit6a45ba3f6bba9227813d433653525a2e92fab697 (patch)
tree80620f24089c2ef2e1d4db4c060877ccbd9f4225 /bindings
parent167daab4dde4e293775e1e7ad3ade3bb3739b26d (diff)
Update go bindings to use new functions from rL317135.
This fixes duplicate symbol problems. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@317195 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'bindings')
-rw-r--r--bindings/go/llvm/DIBuilderBindings.cpp19
-rw-r--r--bindings/go/llvm/DIBuilderBindings.h11
-rw-r--r--bindings/go/llvm/dibuilder.go19
3 files changed, 14 insertions, 35 deletions
diff --git a/bindings/go/llvm/DIBuilderBindings.cpp b/bindings/go/llvm/DIBuilderBindings.cpp
index a43bf97821f..ea53694b9c1 100644
--- a/bindings/go/llvm/DIBuilderBindings.cpp
+++ b/bindings/go/llvm/DIBuilderBindings.cpp
@@ -29,25 +29,6 @@ void LLVMDIBuilderDestroy(LLVMDIBuilderRef dref) {
delete d;
}
-void LLVMDIBuilderFinalize(LLVMDIBuilderRef dref) { unwrap(dref)->finalize(); }
-
-LLVMMetadataRef LLVMDIBuilderCreateCompileUnit(LLVMDIBuilderRef Dref,
- unsigned Lang, const char *File,
- const char *Dir,
- const char *Producer,
- int Optimized, const char *Flags,
- unsigned RuntimeVersion) {
- DIBuilder *D = unwrap(Dref);
- return wrap(D->createCompileUnit(Lang, D->createFile(File, Dir), Producer,
- Optimized, Flags, RuntimeVersion));
-}
-
-LLVMMetadataRef LLVMDIBuilderCreateFile(LLVMDIBuilderRef Dref, const char *File,
- const char *Dir) {
- DIBuilder *D = unwrap(Dref);
- return wrap(D->createFile(File, Dir));
-}
-
LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock(LLVMDIBuilderRef Dref,
LLVMMetadataRef Scope,
LLVMMetadataRef File,
diff --git a/bindings/go/llvm/DIBuilderBindings.h b/bindings/go/llvm/DIBuilderBindings.h
index b097f2ec400..cc5d2c1177f 100644
--- a/bindings/go/llvm/DIBuilderBindings.h
+++ b/bindings/go/llvm/DIBuilderBindings.h
@@ -16,6 +16,7 @@
#include "IRBindings.h"
#include "llvm-c/Core.h"
+#include "llvm-c/DebugInfo.h"
#ifdef __cplusplus
extern "C" {
@@ -30,16 +31,6 @@ typedef struct LLVMOpaqueDIBuilder *LLVMDIBuilderRef;
LLVMDIBuilderRef LLVMNewDIBuilder(LLVMModuleRef m);
void LLVMDIBuilderDestroy(LLVMDIBuilderRef d);
-void LLVMDIBuilderFinalize(LLVMDIBuilderRef d);
-
-LLVMMetadataRef
-LLVMDIBuilderCreateCompileUnit(LLVMDIBuilderRef D, unsigned Language,
- const char *File, const char *Dir,
- const char *Producer, int Optimized,
- const char *Flags, unsigned RuntimeVersion);
-
-LLVMMetadataRef LLVMDIBuilderCreateFile(LLVMDIBuilderRef D, const char *File,
- const char *Dir);
LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock(LLVMDIBuilderRef D,
LLVMMetadataRef Scope,
diff --git a/bindings/go/llvm/dibuilder.go b/bindings/go/llvm/dibuilder.go
index 9d59e83f40a..475fa685cc4 100644
--- a/bindings/go/llvm/dibuilder.go
+++ b/bindings/go/llvm/dibuilder.go
@@ -132,12 +132,17 @@ func (d *DIBuilder) CreateCompileUnit(cu DICompileUnit) Metadata {
defer C.free(unsafe.Pointer(flags))
result := C.LLVMDIBuilderCreateCompileUnit(
d.ref,
- C.unsigned(cu.Language),
- file, dir,
- producer,
- boolToCInt(cu.Optimized),
- flags,
+ C.LLVMDWARFSourceLanguage(cu.Language),
+ C.LLVMDIBuilderCreateFile(d.ref, file, C.size_t(len(cu.File)), dir, C.size_t(len(cu.Dir))),
+ producer, C.size_t(len(cu.Producer)),
+ C.LLVMBool(boolToCInt(cu.Optimized)),
+ flags, C.size_t(len(cu.Flags)),
C.unsigned(cu.RuntimeVersion),
+ /*SplitName=*/ nil, 0,
+ C.LLVMDWARFEmissionFull,
+ /*DWOId=*/ 0,
+ /*SplitDebugInlining*/ C.LLVMBool(boolToCInt(true)),
+ /*DebugInfoForProfiling*/ C.LLVMBool(boolToCInt(false)),
)
return Metadata{C: result}
}
@@ -148,7 +153,9 @@ func (d *DIBuilder) CreateFile(filename, dir string) Metadata {
defer C.free(unsafe.Pointer(cfilename))
cdir := C.CString(dir)
defer C.free(unsafe.Pointer(cdir))
- result := C.LLVMDIBuilderCreateFile(d.ref, cfilename, cdir)
+ result := C.LLVMDIBuilderCreateFile(d.ref,
+ cfilename, C.size_t(len(filename)),
+ cdir, C.size_t(len(dir)))
return Metadata{C: result}
}