Commit 2933e938 authored by Than McIntosh's avatar Than McIntosh

cmd/cgo: better handling for '.' in pkgpath for gccgo

Update gccgoPkgpathToSymbolNew() to bring it into conformance
with the way that gccgo now handles packagepaths with embedded
dots (see CL 200838). See also https://gcc.gnu.org/PR61880, a
related bug.

Updates #35623.

Change-Id: I32f064320b9af387fc17771530c745a9e3003c20
Reviewed-on: https://go-review.googlesource.com/c/go/+/207957
Run-TryBot: Than McIntosh <thanm@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
parent e0306c1d
...@@ -1313,8 +1313,10 @@ func gccgoPkgpathToSymbolNew(ppath string) string { ...@@ -1313,8 +1313,10 @@ func gccgoPkgpathToSymbolNew(ppath string) string {
for _, c := range []byte(ppath) { for _, c := range []byte(ppath) {
switch { switch {
case 'A' <= c && c <= 'Z', 'a' <= c && c <= 'z', case 'A' <= c && c <= 'Z', 'a' <= c && c <= 'z',
'0' <= c && c <= '9', c == '_', c == '.': '0' <= c && c <= '9', c == '_':
bsl = append(bsl, c) bsl = append(bsl, c)
case c == '.':
bsl = append(bsl, ".x2e"...)
default: default:
changed = true changed = true
encbytes := []byte(fmt.Sprintf("..z%02x", c)) encbytes := []byte(fmt.Sprintf("..z%02x", c))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment