]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: make check2 gracefully exit if it reported errors
authorCuong Manh Le <cuong.manhle.vn@gmail.com>
Sun, 21 Feb 2021 15:27:19 +0000 (22:27 +0700)
committerCuong Manh Le <cuong.manhle.vn@gmail.com>
Thu, 4 Mar 2021 06:36:33 +0000 (06:36 +0000)
Otherwise, if -d=panic was set, check2 will treat already reported
error as internal compiler error.

For #43311
Fixes #44445

Change-Id: I5dbe06334666df21d9107396b9dcfdd905aa1e44
Reviewed-on: https://go-review.googlesource.com/c/go/+/294850
Trust: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
src/cmd/compile/internal/noder/irgen.go
test/fixedbugs/bug188.go
test/fixedbugs/bug358.go
test/fixedbugs/bug397.go

index 28536cc1f7fbe71a0f966678f1857e58582958dd..da5b024b1a7d0b09fbae98feb9277f75ca0310a5 100644 (file)
@@ -68,10 +68,10 @@ func check2(noders []*noder) {
        }
        pkg, err := conf.Check(base.Ctxt.Pkgpath, files, &info)
        files = nil
+       base.ExitIfErrors()
        if err != nil {
                base.FatalfAt(src.NoXPos, "conf.Check error: %v", err)
        }
-       base.ExitIfErrors()
        if base.Flag.G < 2 {
                os.Exit(0)
        }
index 550614789456ee060ca951cf209d04c44e6c7a91..8195e3666de4ed4965ad3bb967f55c515a3abfe2 100644 (file)
@@ -1,4 +1,4 @@
-// errorcheck
+// errorcheck -d=panic
 
 // Copyright 2009 The Go Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style
@@ -9,7 +9,7 @@ package main
 import "sort"
 
 func main() {
-       sort.Sort(nil);
-       var x int;
-       sort(x);        // ERROR "package"
+       sort.Sort(nil)
+       var x int
+       sort(x) // ERROR "package"
 }
index 5ca0be1f6e27116c08769fea77d1933ce86db36a..541051cdd3e8eab4d2ff3c476d4f6c58db6b2fd6 100644 (file)
@@ -1,4 +1,4 @@
-// errorcheck
+// errorcheck -d=panic
 
 // Copyright 2011 The Go Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style
index db8d652814d1e1ebecce5c716f11d5af0d6b9eff..bf3a5fffc8ffe007cd4b8f1e25bd018254045a8d 100644 (file)
@@ -1,4 +1,4 @@
-// errorcheck
+// errorcheck -d=panic
 
 // Copyright 2011 The Go Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style
@@ -7,7 +7,7 @@
 package main
 
 // Issue 2623
-var m = map[string]int {
-       "abc":1,
-       1:2, // ERROR "cannot use 1.*as type string in map key|incompatible type|cannot convert"
+var m = map[string]int{
+       "abc": 1,
+       1:     2, // ERROR "cannot use 1.*as type string in map key|incompatible type|cannot convert"
 }