re PR go/61880 (Linking with external functions in C does not work in GO when using...
authorIan Lance Taylor <ian@gcc.gnu.org>
Thu, 2 Oct 2014 17:56:50 +0000 (17:56 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Thu, 2 Oct 2014 17:56:50 +0000 (17:56 +0000)
PR go/61880
compiler: symbol names should have '.' replaced with '_'

Package and symbol names issued by the cgo tool and compiler
should be the same for the object files to link.

A minimal change to fix only:
   https://code.google.com/p/gofrontend/issues/detail?id=36
and
   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61880

From-SVN: r215810

gcc/go/gofrontend/gogo.cc

index dcc2ae64961a0e581b76ae7c4f018e5f5a1033c3..81a555fdd88f3eaf79151b1aa124a6a380bd7d8b 100644 (file)
@@ -258,10 +258,7 @@ Gogo::pkgpath_for_symbol(const std::string& pkgpath)
       char c = s[i];
       if ((c >= 'a' && c <= 'z')
          || (c >= 'A' && c <= 'Z')
-         || (c >= '0' && c <= '9')
-         || c == '_'
-         || c == '.'
-         || c == '$')
+         || (c >= '0' && c <= '9'))
        ;
       else
        s[i] = '_';