diff options
author | Bryan C. Mills <bcmills@google.com> | 2019-10-16 20:41:53 +0000 |
---|---|---|
committer | Bryan C. Mills <bcmills@google.com> | 2019-10-16 20:59:53 +0000 |
commit | b76e6f88251712a21071d4ea11573bd8cdfa21de (patch) | |
tree | 8f61e6b95100c9ea5db743ed7934d0f253d3a58c /test/defererrcheck.go | |
parent | 2718789bc7937c58a7a65e53d9cc941b04682f99 (diff) | |
download | go-b76e6f88251712a21071d4ea11573bd8cdfa21de.tar.gz go-b76e6f88251712a21071d4ea11573bd8cdfa21de.zip |
Revert "cmd/compile, cmd/link, runtime: make defers low-cost through inline code and extra funcdata"
This reverts CL 190098.
Reason for revert: broke several builders.
Change-Id: I69161352f9ded02537d8815f259c4d391edd9220
Reviewed-on: https://go-review.googlesource.com/c/go/+/201519
Run-TryBot: Bryan C. Mills <bcmills@google.com>
Reviewed-by: Austin Clements <austin@google.com>
Reviewed-by: Dan Scales <danscales@google.com>
Diffstat (limited to 'test/defererrcheck.go')
-rw-r--r-- | test/defererrcheck.go | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/test/defererrcheck.go b/test/defererrcheck.go deleted file mode 100644 index 5b90e58738..0000000000 --- a/test/defererrcheck.go +++ /dev/null @@ -1,86 +0,0 @@ -// errorcheck -0 -l -d=defer - -// 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. - -// check that open-coded defers are used in expected situations - -package main - -import "fmt" - -var glob = 3 - -func f1() { - - for i := 0; i < 10; i++ { - fmt.Println("loop") - } - defer func() { // ERROR "open-coded defer in function f1" - fmt.Println("defer") - }() -} - -func f2() { - for { - defer func() { // ERROR "heap-allocated defer in function f2" - fmt.Println("defer1") - }() - if glob > 2 { - break - } - } - defer func() { // ERROR "stack-allocated defer in function f2" - fmt.Println("defer2") - }() -} - -func f3() { - defer func() { // ERROR "stack-allocated defer in function f3" - fmt.Println("defer2") - }() - for { - defer func() { // ERROR "heap-allocated defer in function f3" - fmt.Println("defer1") - }() - if glob > 2 { - break - } - } -} - -func f4() { - defer func() { // ERROR "open-coded defer in function f4" - fmt.Println("defer") - }() -label: - fmt.Println("goto loop") - if glob > 2 { - goto label - } -} - -func f5() { -label: - fmt.Println("goto loop") - defer func() { // ERROR "heap-allocated defer in function f5" - fmt.Println("defer") - }() - if glob > 2 { - goto label - } -} - -func f6() { -label: - fmt.Println("goto loop") - if glob > 2 { - goto label - } - // The current analysis doesn't end a backward goto loop, so this defer is - // considered to be inside a loop - defer func() { // ERROR "heap-allocated defer in function f6" - fmt.Println("defer") - }() -} |