]> Cypherpunks.ru repositories - gostls13.git/blob - test/fixedbugs/issue6036.go
8ebef5a447cde593de85e51d26e0271faf3deeeb
[gostls13.git] / test / fixedbugs / issue6036.go
1 // +build !386,!arm,!mips,!mipsle,!amd64p32
2 // compile
3
4 // Copyright 2013 The Go Authors. All rights reserved.
5 // Use of this source code is governed by a BSD-style
6 // license that can be found in the LICENSE file.
7
8 // Issue 6036: 6g's backend generates OINDREG with
9 // offsets larger than 32-bit.
10
11 package main
12
13 type T struct {
14         Large [1 << 31]byte
15         A     int
16         B     int
17 }
18
19 func F(t *T) {
20         t.B = t.A
21 }
22
23 type T2 [1<<31 + 2]byte
24
25 func F2(t *T2) {
26         t[1<<31+1] = 42
27 }
28
29 type T3 [1<<15 + 1][1<<15 + 1]int
30
31 func F3(t *T3) {
32         t[1<<15][1<<15] = 42
33 }
34
35 type S struct {
36         A int32
37         B int32
38 }
39
40 type T4 [1<<29 + 1]S
41
42 func F4(t *T4) {
43         t[1<<29].B = 42
44 }