diff options
author | Ian Lance Taylor <iant@golang.org> | 2020-11-28 12:14:40 -0800 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2020-11-30 12:00:15 -0800 |
commit | 4f32eced9d01c610bd53e8c59b83bcb5402eddb5 (patch) | |
tree | 7fd28646ba3c7cd223b9fdbc7571044d1c3f0cfe | |
parent | 66dde7bc64b75d4a338266333c9c490b12d49825 (diff) | |
download | gcc-4f32eced9d01c610bd53e8c59b83bcb5402eddb5.zip gcc-4f32eced9d01c610bd53e8c59b83bcb5402eddb5.tar.gz gcc-4f32eced9d01c610bd53e8c59b83bcb5402eddb5.tar.bz2 |
compiler: improve error for import of non-string
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/273867
-rw-r--r-- | gcc/go/gofrontend/MERGE | 2 | ||||
-rw-r--r-- | gcc/go/gofrontend/parse.cc | 2 | ||||
-rw-r--r-- | gcc/testsuite/go.test/test/import5.go | 36 |
3 files changed, 6 insertions, 34 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 4695907..c14a10f 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -16ab9b001c214cf831bc52a7bca5a2d18e9e4f3c +534fb907c821b052dc430330708d7fa555b91fe3 The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/gcc/go/gofrontend/parse.cc b/gcc/go/gofrontend/parse.cc index aa157e8..1dac002 100644 --- a/gcc/go/gofrontend/parse.cc +++ b/gcc/go/gofrontend/parse.cc @@ -5788,7 +5788,7 @@ Parse::import_spec(void*, unsigned int pragmas) if (!token->is_string()) { - go_error_at(this->location(), "import statement not a string"); + go_error_at(this->location(), "import path must be a string"); this->advance_token(); return; } diff --git a/gcc/testsuite/go.test/test/import5.go b/gcc/testsuite/go.test/test/import5.go index 6480acf..8fdc8c3 100644 --- a/gcc/testsuite/go.test/test/import5.go +++ b/gcc/testsuite/go.test/test/import5.go @@ -21,35 +21,7 @@ import _ "go/parser" //import "greek/αβ" // Import paths must be strings. -import 42 // ERROR "import statement" -import 'a' // ERROR "import statement" -import 3.14 // ERROR "import statement" -import 0.25i // ERROR "import statement" - -// Each of these pairs tests both `` vs "" strings -// and also use of invalid characters spelled out as -// escape sequences and written directly. -// For example `"\x00"` tests import "\x00" -// while "`\x00`" tests import `<actual-NUL-byte>`. -import "" // ERROR "import path" -import `` // ERROR "import path" -import "\x00" // ERROR "import path" -import `\x00` // ERROR "import path" -import "\x7f" // ERROR "import path" -import `\x7f` // ERROR "import path" -import "a!" // ERROR "import path" -import `a!` // ERROR "import path" -import "a b" // ERROR "import path" -import `a b` // ERROR "import path" -import "a\\b" // ERROR "import path" -import `a\\b` // ERROR "import path" -import "\"`a`\"" // ERROR "import path" -import `\"a\"` // ERROR "import path" -import "\x80\x80" // ERROR "import path" -import `\x80\x80` // ERROR "import path" -import "\xFFFD" // ERROR "import path" -import `\xFFFD` // ERROR "import path" - -// Invalid local imports. -import "/foo" // ERROR "import path cannot be absolute path" -import "c:/foo" // ERROR "import path contains invalid character" +import 42 // ERROR "import path must be a string" +import 'a' // ERROR "import path must be a string" +import 3.14 // ERROR "import path must be a string" +import 0.25i // ERROR "import path must be a string" |