Go permits non-ASCII characters in identifiers. A long time ago I thought I needed to encode those before passing them to GIMPLE. Looking at the -fextended-identifiers support, I see that that should not be true. This patch removes the encoding. This should give a better debugging experience and will fix the names used in type reflection. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline.
Ian
diff -r c2163c885896 go/lex.cc --- a/go/lex.cc Sun Dec 02 19:23:21 2012 -0800 +++ b/go/lex.cc Sun Dec 02 22:49:14 2012 -0800 @@ -915,12 +915,8 @@ } if (is_invalid && !Lex::is_invalid_identifier(buf)) buf.append("$INVALID$"); + buf.append(p, pnext - p); p = pnext; - char ubuf[50]; - // This assumes that all assemblers can handle an identifier - // with a '$' character. - snprintf(ubuf, sizeof ubuf, "$U%x$", ci); - buf.append(ubuf); } } Location location = this->location();