...
Run Format

Source file test/fixedbugs/issue12108.go

Documentation: test/fixedbugs

  // run
  
  // Copyright 2015 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.
  
  // A generated method with a return value large enough to be
  // initialized by duffzero is not a leaf method, which violated
  // assumptions made by cmd/internal/obj/ppc64.
  
  package main
  
  const N = 9 // values > 8 cause (Super).Method to use duffzero
  
  type Base struct {
  }
  
  func (b *Base) Method() (x [N]uintptr) {
  	return
  }
  
  type Super struct {
  	Base
  }
  
  type T interface {
  	Method() [N]uintptr
  }
  
  func f(q T) {
  	q.Method()
  }
  
  func main() {
  	var s Super
  	f(&s)
  }
  

View as plain text