[PATCH] D27441: [llgo] Fix `debug` to use latest `DIBuilder` bindings

Meador Inge via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 5 18:00:35 PST 2016


meadori created this revision.
meadori added reviewers: llvm-commits, pcc.

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.


https://reviews.llvm.org/D27441

Files:
  debug/debug.go


Index: debug/debug.go
===================================================================
--- debug/debug.go
+++ debug/debug.go
@@ -247,14 +247,12 @@
 		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:
@@ -280,7 +278,7 @@
 	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),
 	})
 }
 
@@ -298,15 +296,15 @@
 			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),
 		})
 	}
 	// TODO(axw) file/line where struct is defined.
 	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,
 	})
 }
@@ -342,7 +340,7 @@
 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()}},
 	})


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27441.80362.patch
Type: text/x-patch
Size: 1848 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161206/442b0db6/attachment.bin>


More information about the llvm-commits mailing list