diff options
author | Russ Cox <rsc@golang.org> | 2010-01-19 21:34:44 -0800 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2010-01-19 21:34:44 -0800 |
commit | 8430d7d3f124eefc7358aa421a7d9bf654d0eea9 (patch) | |
tree | 4de4fe19755ca59ece2dea1b42508adef768a321 /src/cmd/cc | |
parent | b87e2dc2f56155501b9ac46e136c8015d4f36877 (diff) | |
download | golang-8430d7d3f124eefc7358aa421a7d9bf654d0eea9.tar.gz |
cleanup toward eliminating package global name space
* switch to real dot (.) instead of center dot (·) everywhere in object files.
before it was half and half depending on where in the name it appeared.
* in 6c/6a/etc identifiers, · can still be used but turns into . immediately.
* in export metadata, replace package identifiers with quoted strings
(still package names, not paths).
R=ken2, r
CC=golang-dev
http://codereview.appspot.com/190076
Diffstat (limited to 'src/cmd/cc')
-rw-r--r-- | src/cmd/cc/lex.c | 11 | ||||
-rw-r--r-- | src/cmd/cc/lexbody | 11 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/cmd/cc/lex.c b/src/cmd/cc/lex.c index e357d07c4..5a5651852 100644 --- a/src/cmd/cc/lex.c +++ b/src/cmd/cc/lex.c @@ -403,6 +403,17 @@ lookup(void) uint32 h; char *p; int c, n; + char *r, *w; + + // turn · into . + for(r=w=symb; *r; r++) { + if((uchar)*r == 0xc2 && (uchar)*(r+1) == 0xb7) { + *w++ = '.'; + r++; + }else + *w++ = *r; + } + *w = '\0'; h = 0; for(p=symb; *p;) { diff --git a/src/cmd/cc/lexbody b/src/cmd/cc/lexbody index ba5eda824..c3b2d4529 100644 --- a/src/cmd/cc/lexbody +++ b/src/cmd/cc/lexbody @@ -221,6 +221,17 @@ lookup(void) int32 h; char *p; int c, l; + char *r, *w; + + // turn · into . + for(r=w=symb; *r; r++) { + if((uchar)*r == 0xc2 && (uchar)*(r+1) == 0xb7) { + *w++ = '.'; + r++; + }else + *w++ = *r; + } + *w = '\0'; h = 0; for(p=symb; c = *p; p++) |