From f85d0e32e5cd462c4617d0189ad858d5a775424c Mon Sep 17 00:00:00 2001 From: Michael Fraenkel Date: Tue, 16 Apr 2019 20:45:41 -0400 Subject: [PATCH] test: add escape regress for empty variadic function Fixes #30898 Change-Id: I903dd8ed2b10c49b2291ad0858774f3ca2f5b223 Reviewed-on: https://go-review.googlesource.com/c/go/+/172422 Reviewed-by: Matthew Dempsky Run-TryBot: Matthew Dempsky TryBot-Result: Gobot Gobot --- test/fixedbugs/issue30898.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 test/fixedbugs/issue30898.go diff --git a/test/fixedbugs/issue30898.go b/test/fixedbugs/issue30898.go new file mode 100644 index 0000000000..012d5a2634 --- /dev/null +++ b/test/fixedbugs/issue30898.go @@ -0,0 +1,19 @@ +// errorcheck -0 -m + +// Copyright 2019 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. + +// Test escape analysis for functions with variadic arguments + +package foo + +func debugf(format string, args ...interface{}) { // ERROR "can inline debugf" "format does not escape" "args does not escape" + // Dummy implementation for non-debug build. + // A non-empty implementation would be enabled with a build tag. +} + +func bar() { // ERROR "can inline bar" + value := 10 + debugf("value is %d", value) // ERROR "inlining call to debugf" "value does not escape" "\[\]interface {} literal does not escape" +}