compiler: reword "declared and not used" error message
authorIan Lance Taylor <iant@golang.org>
Fri, 27 Nov 2020 04:13:16 +0000 (20:13 -0800)
committerIan Lance Taylor <iant@golang.org>
Wed, 2 Dec 2020 16:30:43 +0000 (08:30 -0800)
This is a gofrontend copy of https://golang.org/cl/203282.

From the CL 203282 description:

    "declared and not used" is technically correct, but might confuse
    the user. Switching "and" to "but" will hopefully create the
    contrast for the users: they did one thing (declaration), but
    not the other --- actually using the variable.

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/273629

gcc/go/gofrontend/MERGE
gcc/go/gofrontend/gogo.cc
gcc/go/gofrontend/parse.cc
gcc/testsuite/go.test/test/fixedbugs/bug373.go
gcc/testsuite/go.test/test/typeswitch2.go

index d6ee8573e921b533f368b536319d6ad4b4b3d49d..183e5cae9c98d0f57bee97f3b20d2a91d69f135b 100644 (file)
@@ -1,4 +1,4 @@
-720b8fed93143f284ca04358e1b13c8a3487281e
+6b01f8cdc11d86bd98165c91d6ae101bcf6b9e1a
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index 93a4a5773a20e019c8737e75630793b064cd9a93..a5e4521469ba782ed645b32d3ab488efc34af7db 100644 (file)
@@ -3744,7 +3744,7 @@ Check_types_traverse::variable(Named_object* named_object)
           && !var->type()->is_error()
           && (init == NULL || !init->is_error_expression())
           && !Lex::is_invalid_identifier(named_object->name()))
-       go_error_at(var->location(), "%qs declared and not used",
+       go_error_at(var->location(), "%qs declared but not used",
                    named_object->message_name().c_str());
     }
   return TRAVERSE_CONTINUE;
index 00ac2f8f48c87e710d798a18d54c1921a4774572..b1925ed8ccceaec8edde381248fe4738c6a8f532 100644 (file)
@@ -4817,7 +4817,7 @@ Parse::type_switch_body(Label* label, const Type_switch& type_switch,
            }
        }
       if (!used)
-       go_error_at(type_switch.location, "%qs declared and not used",
+       go_error_at(type_switch.location, "%qs declared but not used",
                    Gogo::message_name(var_name).c_str());
     }
   return statement;
index e91f26d6ed054e4d92fe644d2f8a4b3aa59bbcf9..6b7a312097a06095743e5979f4031153efdb7a59 100644 (file)
@@ -1,6 +1,6 @@
 // errorcheck
 
-// Copyright 2011 The Go Authors.  All rights reserved.
+// Copyright 2011 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.
 
@@ -9,7 +9,7 @@
 package foo
 
 func f(x interface{}) {
-       switch t := x.(type) {  // ERROR "declared and not used"
+       switch t := x.(type) {  // ERROR "declared but not used"
        case int:
        }
 }
index 6c703076a6f4908fb53cbe8446e6449bf20de8e2..62c96c8330f6010333dce002269511ba3ee49fff 100644 (file)
@@ -4,7 +4,7 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
-// Verify that various erroneous type switches are caught be the compiler.
+// Verify that various erroneous type switches are caught by the compiler.
 // Does not compile.
 
 package main
@@ -26,22 +26,12 @@ func whatis(x interface{}) string {
                w()
        }:
                return "rw"
-       case interface {        // GCCGO_ERROR "duplicate"
+       case interface {        // ERROR "duplicate"
                w()
                r()
-       }: // GC_ERROR "duplicate"
+       }:
                return "wr"
 
        }
        return ""
 }
-
-func notused(x interface{}) {
-       // The first t is in a different scope than the 2nd t; it cannot
-       // be accessed (=> declared and not used error); but it is legal
-       // to declare it.
-       switch t := 0; t := x.(type) { // ERROR "declared and not used"
-       case int:
-               _ = t // this is using the t of "t := x.(type)"
-       }
-}