summaryrefslogtreecommitdiff
path: root/bindings
diff options
context:
space:
mode:
authorRobert Widmann <devteam.codafi@gmail.com>2018-04-07 06:07:55 +0000
committerRobert Widmann <devteam.codafi@gmail.com>2018-04-07 06:07:55 +0000
commitbc866fee81d55f8e356e00be65025f146f5ee93f (patch)
treee74c07f9f58b545a02de9515eb47228ddaf4b3ac /bindings
parent38738ec786e6e063fafb09282056ecf06f9fba6b (diff)
[LLVM-C] Move DIBuilder Bindings For Block Scopes
Summary: Move LLVMDIBuilderCreateFunction , LLVMDIBuilderCreateLexicalBlock, and LLVMDIBuilderCreateLexicalBlockFile from Go to LLVM-C. Reviewers: whitequark, harlanhaskins, deadalnix Reviewed By: whitequark, harlanhaskins Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D45352 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@329488 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'bindings')
-rw-r--r--bindings/go/llvm/DIBuilderBindings.cpp33
-rw-r--r--bindings/go/llvm/DIBuilderBindings.h16
-rw-r--r--bindings/go/llvm/IRBindings.cpp3
-rw-r--r--bindings/go/llvm/IRBindings.h2
-rw-r--r--bindings/go/llvm/dibuilder.go14
5 files changed, 7 insertions, 61 deletions
diff --git a/bindings/go/llvm/DIBuilderBindings.cpp b/bindings/go/llvm/DIBuilderBindings.cpp
index 9083bd39e0a..d9ffee8a5f0 100644
--- a/bindings/go/llvm/DIBuilderBindings.cpp
+++ b/bindings/go/llvm/DIBuilderBindings.cpp
@@ -19,39 +19,6 @@
using namespace llvm;
-LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock(LLVMDIBuilderRef Dref,
- LLVMMetadataRef Scope,
- LLVMMetadataRef File,
- unsigned Line,
- unsigned Column) {
- DIBuilder *D = unwrap(Dref);
- auto *LB = D->createLexicalBlock(unwrap<DILocalScope>(Scope),
- unwrap<DIFile>(File), Line, Column);
- return wrap(LB);
-}
-
-LLVMMetadataRef LLVMDIBuilderCreateLexicalBlockFile(LLVMDIBuilderRef Dref,
- LLVMMetadataRef Scope,
- LLVMMetadataRef File,
- unsigned Discriminator) {
- DIBuilder *D = unwrap(Dref);
- return wrap(D->createLexicalBlockFile(unwrap<DILocalScope>(Scope),
- unwrap<DIFile>(File), Discriminator));
-}
-
-LLVMMetadataRef LLVMDIBuilderCreateFunction(
- LLVMDIBuilderRef Dref, LLVMMetadataRef Scope, const char *Name,
- const char *LinkageName, LLVMMetadataRef File, unsigned Line,
- LLVMMetadataRef CompositeType, int IsLocalToUnit, int IsDefinition,
- unsigned ScopeLine, unsigned Flags, int IsOptimized) {
- DIBuilder *D = unwrap(Dref);
- return wrap(D->createFunction(
- unwrap<DIScope>(Scope), Name, LinkageName,
- File ? unwrap<DIFile>(File) : nullptr, Line,
- unwrap<DISubroutineType>(CompositeType), IsLocalToUnit, IsDefinition,
- ScopeLine, static_cast<DINode::DIFlags>(Flags), IsOptimized));
-}
-
LLVMMetadataRef LLVMDIBuilderCreateAutoVariable(
LLVMDIBuilderRef Dref, LLVMMetadataRef Scope, const char *Name,
LLVMMetadataRef File, unsigned Line, LLVMMetadataRef Ty, int AlwaysPreserve,
diff --git a/bindings/go/llvm/DIBuilderBindings.h b/bindings/go/llvm/DIBuilderBindings.h
index a3063fa52e4..effc5d67692 100644
--- a/bindings/go/llvm/DIBuilderBindings.h
+++ b/bindings/go/llvm/DIBuilderBindings.h
@@ -28,22 +28,6 @@ extern "C" {
typedef struct LLVMOpaqueDIBuilder *LLVMDIBuilderRef;
-LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock(LLVMDIBuilderRef D,
- LLVMMetadataRef Scope,
- LLVMMetadataRef File,
- unsigned Line, unsigned Column);
-
-LLVMMetadataRef LLVMDIBuilderCreateLexicalBlockFile(LLVMDIBuilderRef D,
- LLVMMetadataRef Scope,
- LLVMMetadataRef File,
- unsigned Discriminator);
-
-LLVMMetadataRef LLVMDIBuilderCreateFunction(
- LLVMDIBuilderRef D, LLVMMetadataRef Scope, const char *Name,
- const char *LinkageName, LLVMMetadataRef File, unsigned Line,
- LLVMMetadataRef CompositeType, int IsLocalToUnit, int IsDefinition,
- unsigned ScopeLine, unsigned Flags, int IsOptimized);
-
LLVMMetadataRef LLVMDIBuilderCreateAutoVariable(
LLVMDIBuilderRef D, LLVMMetadataRef Scope, const char *Name,
LLVMMetadataRef File, unsigned Line, LLVMMetadataRef Ty, int AlwaysPreserve,
diff --git a/bindings/go/llvm/IRBindings.cpp b/bindings/go/llvm/IRBindings.cpp
index 4bfa1bbaf0c..f161feefa1d 100644
--- a/bindings/go/llvm/IRBindings.cpp
+++ b/bindings/go/llvm/IRBindings.cpp
@@ -84,6 +84,3 @@ LLVMDebugLocMetadata LLVMGetCurrentDebugLocation2(LLVMBuilderRef Bref) {
return md;
}
-void LLVMSetSubprogram(LLVMValueRef Func, LLVMMetadataRef SP) {
- unwrap<Function>(Func)->setSubprogram(unwrap<DISubprogram>(SP));
-}
diff --git a/bindings/go/llvm/IRBindings.h b/bindings/go/llvm/IRBindings.h
index 25a00b13804..f7fe374669a 100644
--- a/bindings/go/llvm/IRBindings.h
+++ b/bindings/go/llvm/IRBindings.h
@@ -53,8 +53,6 @@ void LLVMSetCurrentDebugLocation2(LLVMBuilderRef Bref, unsigned Line,
struct LLVMDebugLocMetadata LLVMGetCurrentDebugLocation2(LLVMBuilderRef Bref);
-void LLVMSetSubprogram(LLVMValueRef Fn, LLVMMetadataRef SP);
-
#ifdef __cplusplus
}
diff --git a/bindings/go/llvm/dibuilder.go b/bindings/go/llvm/dibuilder.go
index 72131bd2afc..6b8d9997339 100644
--- a/bindings/go/llvm/dibuilder.go
+++ b/bindings/go/llvm/dibuilder.go
@@ -207,16 +207,16 @@ func (d *DIBuilder) CreateFunction(diScope Metadata, f DIFunction) Metadata {
result := C.LLVMDIBuilderCreateFunction(
d.ref,
diScope.C,
- name,
- linkageName,
+ name, C.size_t(len(f.Name)),
+ linkageName, C.size_t(len(f.LinkageName)),
f.File.C,
C.unsigned(f.Line),
f.Type.C,
- boolToCInt(f.LocalToUnit),
- boolToCInt(f.IsDefinition),
+ C.LLVMBool(boolToCInt(f.LocalToUnit)),
+ C.LLVMBool(boolToCInt(f.IsDefinition)),
C.unsigned(f.ScopeLine),
- C.unsigned(f.Flags),
- boolToCInt(f.Optimized),
+ C.LLVMDIFlags(f.Flags),
+ C.LLVMBool(boolToCInt(f.Optimized)),
)
return Metadata{C: result}
}
@@ -390,7 +390,7 @@ func (d *DIBuilder) CreateStructType(scope Metadata, t DIStructType) Metadata {
C.unsigned(0), // Optional Objective-C runtime version.
t.VTableHolder.C,
uniqueID,
- C.uint64_t(len(t.UniqueID)),
+ C.size_t(len(t.UniqueID)),
)
return Metadata{C: result}
}