// create the function
xfunc = nod(ODCLFUNC, N, N);
- snprint(namebuf, sizeof namebuf, "_f%.3ld·%s", ++closgen, filename);
+ snprint(namebuf, sizeof namebuf, "_f%.3ld", ++closgen);
xfunc->nname = newname(lookup(namebuf));
xfunc->nname->ntype = xtype;
declare(xfunc->nname, PFUNC);
EXTERN int tptr; // either TPTR32 or TPTR64
extern char* sysimport;
extern char* unsafeimport;
-EXTERN char* filename; // name to uniqify names
EXTERN Idir* idirs;
EXTERN Type* types[NTYPE];
/*
* lex.c
*/
-void setfilename(char*);
void addidir(char*);
void importfile(Val*);
void cannedimports(char*, char*);
* it is called by the initialization before
* main is run. to make it unique within a
* package and also uncallable, the name,
- * normally "pkg.init", is altered to "pkg.init·filename".
+ * normally "pkg.init", is altered to "pkg.init·1".
*/
Node*
renameinit(Node *n)
lexlineno = 1;
for(i=0; i<argc; i++) {
- if(i == 0)
- setfilename(argv[i]);
infile = argv[i];
linehist(infile, 0, 0);
return 0;
}
-void
-setfilename(char *file)
-{
- char *p;
- int c;
-
- p = strrchr(file, '/');
- if(p != nil)
- file = p+1;
- strncpy(namebuf, file, sizeof(namebuf));
- p = strrchr(namebuf, '.');
- if(p != nil && strcmp(p, ".go") == 0)
- *p = 0;
- filename = strdup(namebuf);
-
- // turn invalid identifier chars into _
- for(p=filename; *p; p++) {
- c = *p & 0xFF;
- if(c < 0x80 && !isalpha(c) && !isdigit(c) && c != '_')
- *p = '_';
- }
-}
-
int
arsize(Biobuf *b, char *name)
{
return 0;
if(s->flags & SymImported)
return 0;
- if(t->vargen || !(s->flags & (SymExport|SymPackage))) {
- fmtprint(fp, "·%s", filename);
- if(t->vargen)
- fmtprint(fp, "·%d", t->vargen);
- }
+ if(t->vargen)
+ fmtprint(fp, "·%d", t->vargen);
return 0;
}
return fmtprint(fp, "%S", s);
{
Node *n;
- snprint(namebuf, sizeof(namebuf), "statictmp_%.4d·%s", statuniqgen, filename);
+ snprint(namebuf, sizeof(namebuf), "statictmp_%.4d", statuniqgen);
statuniqgen++;
n = newname(lookup(namebuf));
addvar(n, t, PEXTERN);