]> Cypherpunks.ru repositories - gostls13.git/commitdiff
[dev.typeparams] cmd/compile/internal/types2: adjust init cycle error message for...
authorRobert Griesemer <gri@golang.org>
Wed, 9 Dec 2020 01:56:35 +0000 (17:56 -0800)
committerRobert Griesemer <gri@golang.org>
Wed, 9 Dec 2020 23:55:41 +0000 (23:55 +0000)
Enabled some more test/fixedbugs tests.

Change-Id: I02102b698eedfbee582b3234850fb01418ebbf7c
Reviewed-on: https://go-review.googlesource.com/c/go/+/276453
Trust: Robert Griesemer <gri@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
Run-TryBot: Robert Findley <rfindley@google.com>

src/cmd/compile/internal/types2/initorder.go
test/run.go
test/typecheckloop.go

index 4ef24764a6a4698acad78f660d89bcd25fbe5bad..a9cabecdf27a427f5015c620873ba618b45c8399 100644 (file)
@@ -151,7 +151,11 @@ func findPath(objMap map[Object]*declInfo, from, to Object, seen map[Object]bool
 // reportCycle reports an error for the given cycle.
 func (check *Checker) reportCycle(cycle []Object) {
        obj := cycle[0]
-       check.errorf(obj, "initialization cycle for %s", obj.Name())
+       if check.conf.CompilerErrorMessages {
+               check.errorf(obj, "initialization loop for %s", obj.Name())
+       } else {
+               check.errorf(obj, "initialization cycle for %s", obj.Name())
+       }
        // subtle loop: print cycle[i] for i = 0, n-1, n-2, ... 1 for len(cycle) = n
        for i := len(cycle) - 1; i >= 0; i-- {
                check.errorf(obj, "\t%s refers to", obj.Name()) // secondary error, \t indented
index 891b9572b743e39d0eacf5f4b72e5b79adcabaa7..3c8a20712b21adeda4857baef423047c0bc3233a 100644 (file)
@@ -2089,32 +2089,6 @@ var excluded = map[string]bool{
        "fixedbugs/issue6403.go":   true,
        "fixedbugs/issue6500.go":   true,
        "fixedbugs/issue6572.go":   true,
-       "fixedbugs/issue6703a.go":  true,
-       "fixedbugs/issue6703b.go":  true,
-       "fixedbugs/issue6703c.go":  true,
-       "fixedbugs/issue6703d.go":  true,
-       "fixedbugs/issue6703e.go":  true,
-       "fixedbugs/issue6703f.go":  true,
-       "fixedbugs/issue6703g.go":  true,
-       "fixedbugs/issue6703h.go":  true,
-       "fixedbugs/issue6703i.go":  true,
-       "fixedbugs/issue6703j.go":  true,
-       "fixedbugs/issue6703k.go":  true,
-       "fixedbugs/issue6703l.go":  true,
-       "fixedbugs/issue6703m.go":  true,
-       "fixedbugs/issue6703n.go":  true,
-       "fixedbugs/issue6703o.go":  true,
-       "fixedbugs/issue6703p.go":  true,
-       "fixedbugs/issue6703q.go":  true,
-       "fixedbugs/issue6703r.go":  true,
-       "fixedbugs/issue6703s.go":  true,
-       "fixedbugs/issue6703t.go":  true,
-       "fixedbugs/issue6703u.go":  true,
-       "fixedbugs/issue6703v.go":  true,
-       "fixedbugs/issue6703w.go":  true,
-       "fixedbugs/issue6703x.go":  true,
-       "fixedbugs/issue6703y.go":  true,
-       "fixedbugs/issue6703z.go":  true,
        "fixedbugs/issue6889.go":   true, // types2 can handle this without constant overflow
        "fixedbugs/issue7525.go":   true, // init cycle error on different line - ok otherwise
        "fixedbugs/issue7525b.go":  true, // init cycle error on different line - ok otherwise
index a143e0984ce79a7ba437a1b113364aa99e7e83a2..13f413cfc9288fd61fe8196415f66c6e8a9f7530 100644 (file)
@@ -9,6 +9,6 @@
 
 package main
 
-const A = 1 + B // ERROR "constant definition loop\n.*A uses B\n.*B uses C\n.*C uses A|initialization cycle"
-const B = C - 1 // ERROR "constant definition loop\n.*B uses C\n.*C uses B|initialization cycle"
+const A = 1 + B // ERROR "constant definition loop\n.*A uses B\n.*B uses C\n.*C uses A|initialization loop"
+const B = C - 1 // ERROR "constant definition loop\n.*B uses C\n.*C uses B|initialization loop"
 const C = A + B + 1