From 7695d8996f5570b178429b06b48155b35047736c Mon Sep 17 00:00:00 2001 From: Meador Inge Date: Tue, 6 Dec 2016 04:00:12 +0000 Subject: [PATCH] [llgo] Fix `debug` to use latest `DIBuilder` bindings Two recent commits to the LLVM Go bindings caused breaking changes to llgo: 1. r284707 - Moving the `AlignInBits` field from `DIBasicType` to `DIAutoVariable`. 2. r284482 - The `AlignInBits` fields going from `uint64` to `uint32`. This commit updates llgo accordingly. llvm-svn: 288768 --- llgo/debug/debug.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/llgo/debug/debug.go b/llgo/debug/debug.go index cf5f40b..4331c9c 100644 --- a/llgo/debug/debug.go +++ b/llgo/debug/debug.go @@ -250,14 +250,12 @@ func (d *DIBuilder) descriptorBasic(t *types.Basic, name string) llvm.Metadata { return d.builder.CreateBasicType(llvm.DIBasicType{ Name: name, SizeInBits: uint64(d.sizes.Sizeof(t) * 8), - AlignInBits: uint64(d.sizes.Alignof(t) * 8), Encoding: llvm.DW_ATE_unsigned, }) default: bt := llvm.DIBasicType{ Name: t.String(), SizeInBits: uint64(d.sizes.Sizeof(t) * 8), - AlignInBits: uint64(d.sizes.Alignof(t) * 8), } switch bi := t.Info(); { case bi&types.IsBoolean != 0: @@ -283,7 +281,7 @@ func (d *DIBuilder) descriptorPointer(t *types.Pointer) llvm.Metadata { return d.builder.CreatePointerType(llvm.DIPointerType{ Pointee: d.DIType(t.Elem()), SizeInBits: uint64(d.sizes.Sizeof(t) * 8), - AlignInBits: uint64(d.sizes.Alignof(t) * 8), + AlignInBits: uint32(d.sizes.Alignof(t) * 8), }) } @@ -301,7 +299,7 @@ func (d *DIBuilder) descriptorStruct(t *types.Struct, name string) llvm.Metadata Name: f.Name(), Type: d.DIType(t), SizeInBits: uint64(d.sizes.Sizeof(t) * 8), - AlignInBits: uint64(d.sizes.Alignof(t) * 8), + AlignInBits: uint32(d.sizes.Alignof(t) * 8), OffsetInBits: uint64(offsets[i] * 8), }) } @@ -309,7 +307,7 @@ func (d *DIBuilder) descriptorStruct(t *types.Struct, name string) llvm.Metadata return d.builder.CreateStructType(d.cu, llvm.DIStructType{ Name: name, SizeInBits: uint64(d.sizes.Sizeof(t) * 8), - AlignInBits: uint64(d.sizes.Alignof(t) * 8), + AlignInBits: uint32(d.sizes.Alignof(t) * 8), Elements: members, }) } @@ -345,7 +343,7 @@ func (d *DIBuilder) descriptorNamed(t *types.Named) llvm.Metadata { func (d *DIBuilder) descriptorArray(t *types.Array, name string) llvm.Metadata { return d.builder.CreateArrayType(llvm.DIArrayType{ SizeInBits: uint64(d.sizes.Sizeof(t) * 8), - AlignInBits: uint64(d.sizes.Alignof(t) * 8), + AlignInBits: uint32(d.sizes.Alignof(t) * 8), ElementType: d.DIType(t.Elem()), Subscripts: []llvm.DISubrange{{Count: t.Len()}}, }) -- 2.7.4