...
Run Format

Source file test/fixedbugs/issue18906.go

Documentation: test/fixedbugs

  // run
  
  // 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
  
  //go:noinline
  func f(x int) {
  }
  
  //go:noinline
  func val() int8 {
  	return -1
  }
  
  var (
  	array = [257]int{}
  	slice = array[1:]
  )
  
  func init() {
  	for i := range array {
  		array[i] = i - 1
  	}
  }
  
  func main() {
  	x := val()
  	y := int(uint8(x))
  	f(y) // try and force y to be calculated and spilled
  	if slice[y] != 255 {
  		panic("incorrect value")
  	}
  }
  

View as plain text