aboutsummaryrefslogtreecommitdiff
path: root/bindings/go/llvm/ir_test.go
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-04-16 16:01:22 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-04-16 16:01:22 +0000
commit71d5a2540a98c81f5bcaeb48805e0e2881f530ef (patch)
tree5343938942df402b49ec7300a1c25a2d4ccd5821 /bindings/go/llvm/ir_test.go
parent31bbf64f3a4974a2d6c8b3b27ad2f519caf74057 (diff)
Diffstat (limited to 'bindings/go/llvm/ir_test.go')
-rw-r--r--bindings/go/llvm/ir_test.go39
1 files changed, 39 insertions, 0 deletions
diff --git a/bindings/go/llvm/ir_test.go b/bindings/go/llvm/ir_test.go
index 13e113957b4d..c823615a4293 100644
--- a/bindings/go/llvm/ir_test.go
+++ b/bindings/go/llvm/ir_test.go
@@ -95,3 +95,42 @@ func TestAttributes(t *testing.T) {
testAttribute(t, name)
}
}
+
+func TestDebugLoc(t *testing.T) {
+ mod := NewModule("")
+ defer mod.Dispose()
+
+ ctx := mod.Context()
+
+ b := ctx.NewBuilder()
+ defer b.Dispose()
+
+ d := NewDIBuilder(mod)
+ defer func() {
+ d.Destroy()
+ }()
+ file := d.CreateFile("dummy_file", "dummy_dir")
+ voidInfo := d.CreateBasicType(DIBasicType{Name: "void"})
+ typeInfo := d.CreateSubroutineType(DISubroutineType{file, []Metadata{voidInfo}})
+ scope := d.CreateFunction(file, DIFunction{
+ Name: "foo",
+ LinkageName: "foo",
+ Line: 10,
+ ScopeLine: 10,
+ Type: typeInfo,
+ File: file,
+ IsDefinition: true,
+ })
+
+ b.SetCurrentDebugLocation(10, 20, scope, Metadata{})
+ loc := b.GetCurrentDebugLocation()
+ if loc.Line != 10 {
+ t.Errorf("Got line %d, though wanted 10", loc.Line)
+ }
+ if loc.Col != 20 {
+ t.Errorf("Got column %d, though wanted 20", loc.Col)
+ }
+ if loc.Scope.C != scope.C {
+ t.Errorf("Got metadata %v as scope, though wanted %v", loc.Scope.C, scope.C)
+ }
+}