gc: add GOEXPERIMENT=os.Error

This won't last long, I promise.

R=ken2
CC=golang-dev
https://golang.org/cl/5330066
This commit is contained in:
Russ Cox 2011-11-01 23:24:28 -04:00
parent a2149f2638
commit 47f4bf763d
3 changed files with 13 additions and 0 deletions

View File

@ -852,6 +852,7 @@ EXTERN int typecheckok;
EXTERN int compiling_runtime;
EXTERN int rune32;
EXTERN int oserror;
/*
* y.tab.c

View File

@ -38,6 +38,7 @@ static struct {
int *val;
} exper[] = {
{"rune32", &rune32},
{"os.Error", &oserror},
};
static void

View File

@ -2967,6 +2967,17 @@ mkpkg(Strlit *path)
p->prefix = pathtoprefix(path->s);
p->link = phash[h];
phash[h] = p;
// If the compiler was built with
// GOEXPERIMENT=os.Error
// define os.Error as an alias for error.
// Terrible and won't last long, but useful for transitions.
if(oserror && strcmp(path->s, "os") == 0) {
Sym *s;
s = pkglookup("Error", p);
s->def = typenod(errortype);
}
return p;
}