// errorcheck // Copyright 2018 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. // We have a limit of 1GB for stack frames. // Test that we extend that limit to include large argument/return areas. // Argument/return areas are part of the parent frame, not the frame itself, // so they need to be handled separately. package main // >1GB to trigger failure, <2GB to work on 32-bit platforms. type large struct { b [1500000000]byte } func (x large) f1() int { // GC_ERROR "stack frame too large" return 5 } func f2(x large) int { // GC_ERROR "stack frame too large" return 5 } func f3() (x large, i int) { // GC_ERROR "stack frame too large" return }