1// run 2 3// Copyright 2016 The Go Authors. All rights reserved. 4// Use of this source code is governed by a BSD-style 5// license that can be found in the LICENSE file. 6 7// This test makes sure that we use all 64 bits of an 8// index, even on 32 bit machines. It also tests that nacl 9// can compile 64 bit indexes loaded from ODOTPTR properly. 10 11package main 12 13type T struct { 14 i int64 15} 16 17func f(t *T) byte { 18 b := [2]byte{3, 4} 19 return b[t.i] 20} 21 22func main() { 23 t := &T{0x100000001} 24 defer func() { 25 r := recover() 26 if r == nil { 27 panic("panic wasn't recoverable") 28 } 29 }() 30 f(t) 31 panic("index didn't panic") 32} 33