/
/
opt
/
golang
/
1.22.0
/
src
/
cmd
/
cgo
/
internal
/
testshared
/
testdata
/
global
Server: in-mum-web1112.main-hosting.eu (62.72.28.111)
You: 216.73.216.137
PHP 8.3.16
Dir:
/opt/golang/1.22.0/src/cmd/cgo/internal/testshared/testdata/global
Edit:
/opt/golang/1.22.0/src/cmd/cgo/internal/testshared/testdata/global/main.go
// Copyright 2017 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package main import ( "testshared/globallib" ) //go:noinline func testLoop() { for i, s := range globallib.Data { if s != int64(i) { panic("testLoop: mismatch") } } } //go:noinline func ptrData() *[1<<20 + 10]int64 { return &globallib.Data } //go:noinline func testMediumOffset() { for i, s := range globallib.Data[1<<16-2:] { if s != int64(i)+1<<16-2 { panic("testMediumOffset: index mismatch") } } x := globallib.Data[1<<16-1] if x != 1<<16-1 { panic("testMediumOffset: direct mismatch") } y := &globallib.Data[1<<16-3] if y != &ptrData()[1<<16-3] { panic("testMediumOffset: address mismatch") } } //go:noinline func testLargeOffset() { for i, s := range globallib.Data[1<<20:] { if s != int64(i)+1<<20 { panic("testLargeOffset: index mismatch") } } x := globallib.Data[1<<20+1] if x != 1<<20+1 { panic("testLargeOffset: direct mismatch") } y := &globallib.Data[1<<20+2] if y != &ptrData()[1<<20+2] { panic("testLargeOffset: address mismatch") } } func main() { testLoop() // SSA rules commonly merge offsets into addresses. These // tests access global data in different ways to try // and exercise different SSA rules. testMediumOffset() testLargeOffset() }
Ukuran: 1.4 KB