Skip to content

Commit 6a45ba3

Browse files
committed
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
1 parent 167daab commit 6a45ba3

File tree

3 files changed

+14
-35
lines changed

3 files changed

+14
-35
lines changed

bindings/go/llvm/DIBuilderBindings.cpp

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -29,25 +29,6 @@ void LLVMDIBuilderDestroy(LLVMDIBuilderRef dref) {
2929
delete d;
3030
}
3131

32-
void LLVMDIBuilderFinalize(LLVMDIBuilderRef dref) { unwrap(dref)->finalize(); }
33-
34-
LLVMMetadataRef LLVMDIBuilderCreateCompileUnit(LLVMDIBuilderRef Dref,
35-
unsigned Lang, const char *File,
36-
const char *Dir,
37-
const char *Producer,
38-
int Optimized, const char *Flags,
39-
unsigned RuntimeVersion) {
40-
DIBuilder *D = unwrap(Dref);
41-
return wrap(D->createCompileUnit(Lang, D->createFile(File, Dir), Producer,
42-
Optimized, Flags, RuntimeVersion));
43-
}
44-
45-
LLVMMetadataRef LLVMDIBuilderCreateFile(LLVMDIBuilderRef Dref, const char *File,
46-
const char *Dir) {
47-
DIBuilder *D = unwrap(Dref);
48-
return wrap(D->createFile(File, Dir));
49-
}
50-
5132
LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock(LLVMDIBuilderRef Dref,
5233
LLVMMetadataRef Scope,
5334
LLVMMetadataRef File,

bindings/go/llvm/DIBuilderBindings.h

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
#include "IRBindings.h"
1818
#include "llvm-c/Core.h"
19+
#include "llvm-c/DebugInfo.h"
1920

2021
#ifdef __cplusplus
2122
extern "C" {
@@ -30,16 +31,6 @@ typedef struct LLVMOpaqueDIBuilder *LLVMDIBuilderRef;
3031
LLVMDIBuilderRef LLVMNewDIBuilder(LLVMModuleRef m);
3132

3233
void LLVMDIBuilderDestroy(LLVMDIBuilderRef d);
33-
void LLVMDIBuilderFinalize(LLVMDIBuilderRef d);
34-
35-
LLVMMetadataRef
36-
LLVMDIBuilderCreateCompileUnit(LLVMDIBuilderRef D, unsigned Language,
37-
const char *File, const char *Dir,
38-
const char *Producer, int Optimized,
39-
const char *Flags, unsigned RuntimeVersion);
40-
41-
LLVMMetadataRef LLVMDIBuilderCreateFile(LLVMDIBuilderRef D, const char *File,
42-
const char *Dir);
4334

4435
LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock(LLVMDIBuilderRef D,
4536
LLVMMetadataRef Scope,

bindings/go/llvm/dibuilder.go

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -132,12 +132,17 @@ func (d *DIBuilder) CreateCompileUnit(cu DICompileUnit) Metadata {
132132
defer C.free(unsafe.Pointer(flags))
133133
result := C.LLVMDIBuilderCreateCompileUnit(
134134
d.ref,
135-
C.unsigned(cu.Language),
136-
file, dir,
137-
producer,
138-
boolToCInt(cu.Optimized),
139-
flags,
135+
C.LLVMDWARFSourceLanguage(cu.Language),
136+
C.LLVMDIBuilderCreateFile(d.ref, file, C.size_t(len(cu.File)), dir, C.size_t(len(cu.Dir))),
137+
producer, C.size_t(len(cu.Producer)),
138+
C.LLVMBool(boolToCInt(cu.Optimized)),
139+
flags, C.size_t(len(cu.Flags)),
140140
C.unsigned(cu.RuntimeVersion),
141+
/*SplitName=*/ nil, 0,
142+
C.LLVMDWARFEmissionFull,
143+
/*DWOId=*/ 0,
144+
/*SplitDebugInlining*/ C.LLVMBool(boolToCInt(true)),
145+
/*DebugInfoForProfiling*/ C.LLVMBool(boolToCInt(false)),
141146
)
142147
return Metadata{C: result}
143148
}
@@ -148,7 +153,9 @@ func (d *DIBuilder) CreateFile(filename, dir string) Metadata {
148153
defer C.free(unsafe.Pointer(cfilename))
149154
cdir := C.CString(dir)
150155
defer C.free(unsafe.Pointer(cdir))
151-
result := C.LLVMDIBuilderCreateFile(d.ref, cfilename, cdir)
156+
result := C.LLVMDIBuilderCreateFile(d.ref,
157+
cfilename, C.size_t(len(filename)),
158+
cdir, C.size_t(len(dir)))
152159
return Metadata{C: result}
153160
}
154161

0 commit comments

Comments
 (0)