aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2019-11-19 23:04:08 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2019-11-19 23:04:08 +0000
commit0c6ce0ae553a9a73bf4eb27d16ee751167806f8d (patch)
tree243f5f5dc8187a7e9ad55250bf754fc5f47e5477
parentfce6467b1ef93c162f955a10d9bdb2bfb2e12c1c (diff)
downloadgcc-0c6ce0ae553a9a73bf4eb27d16ee751167806f8d.zip
gcc-0c6ce0ae553a9a73bf4eb27d16ee751167806f8d.tar.gz
gcc-0c6ce0ae553a9a73bf4eb27d16ee751167806f8d.tar.bz2
libgo: better cmd/cgo handling for '.' in pkgpath
Updates cgo's gccgoPkgpathToSymbolNew() to bring it into conformance with the way that gccgo now handles package paths with embedded dots (see CL 200838). See also https://gcc.gnu.org/PR61880, a related bug. This CL is a copy of CL 207957 in the main Go repo. Updates golang/go#35623. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/207977 From-SVN: r278470
-rw-r--r--gcc/go/gofrontend/MERGE2
-rw-r--r--libgo/go/cmd/cgo/out.go4
2 files changed, 4 insertions, 2 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE
index a981bb8..4eab78b 100644
--- a/gcc/go/gofrontend/MERGE
+++ b/gcc/go/gofrontend/MERGE
@@ -1,4 +1,4 @@
-25d5e9dca49ad3f49393b254dd87f8df51487c65
+245904ac148f15db530fb8d50f526c47d08024c5
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
diff --git a/libgo/go/cmd/cgo/out.go b/libgo/go/cmd/cgo/out.go
index 7282933..97886e1 100644
--- a/libgo/go/cmd/cgo/out.go
+++ b/libgo/go/cmd/cgo/out.go
@@ -1318,8 +1318,10 @@ func gccgoPkgpathToSymbolNew(ppath string) string {
for _, c := range []byte(ppath) {
switch {
case 'A' <= c && c <= 'Z', 'a' <= c && c <= 'z',
- '0' <= c && c <= '9', c == '_', c == '.':
+ '0' <= c && c <= '9', c == '_':
bsl = append(bsl, c)
+ case c == '.':
+ bsl = append(bsl, ".x2e"...)
default:
changed = true
encbytes := []byte(fmt.Sprintf("..z%02x", c))