diff options
Diffstat (limited to 'test/fixedbugs/bug260.go')
-rw-r--r-- | test/fixedbugs/bug260.go | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/test/fixedbugs/bug260.go b/test/fixedbugs/bug260.go deleted file mode 100644 index 34757c70e..000000000 --- a/test/fixedbugs/bug260.go +++ /dev/null @@ -1,61 +0,0 @@ -// $G $D/$F.go && $L $F.$A && ./$A.out || echo BUG: bug260 failed - -// Test that structures pack densely, according to the alignment of the largest field. - -package main - -import ( - "fmt" - "os" - "strconv" -) - -type T1 struct { - x uint8 -} -type T2 struct { - x uint16 -} -type T4 struct { - x uint32 -} - -func main() { - report := len(os.Args) > 1 - status := 0 - var b1 [10]T1 - a0, _ := strconv.Btoui64(fmt.Sprintf("%p", &b1[0])[2:], 16) - a1, _ := strconv.Btoui64(fmt.Sprintf("%p", &b1[1])[2:], 16) - if a1 != a0+1 { - fmt.Println("FAIL") - if report { - fmt.Println("alignment should be 1, is", a1-a0) - } - status = 1 - } - var b2 [10]T2 - a0, _ = strconv.Btoui64(fmt.Sprintf("%p", &b2[0])[2:], 16) - a1, _ = strconv.Btoui64(fmt.Sprintf("%p", &b2[1])[2:], 16) - if a1 != a0+2 { - if status == 0 { - fmt.Println("FAIL") - status = 1 - } - if report { - fmt.Println("alignment should be 2, is", a1-a0) - } - } - var b4 [10]T4 - a0, _ = strconv.Btoui64(fmt.Sprintf("%p", &b4[0])[2:], 16) - a1, _ = strconv.Btoui64(fmt.Sprintf("%p", &b4[1])[2:], 16) - if a1 != a0+4 { - if status == 0 { - fmt.Println("FAIL") - status = 1 - } - if report { - fmt.Println("alignment should be 4, is", a1-a0) - } - } - os.Exit(status) -} |