mirror of
https://github.com/golang/go
synced 2024-11-25 00:07:56 -07:00
declared and not used; this time for sure
R=ken OCL=34657 CL=34657
This commit is contained in:
parent
67ab1b9fae
commit
1c9e4b358f
@ -48,12 +48,8 @@ allocparams(void)
|
||||
}
|
||||
if(n->op != ONAME || n->class != PAUTO)
|
||||
continue;
|
||||
lineno = n->lineno;
|
||||
typecheck(&n, Erv | Easgn); // only needed for unused variables
|
||||
if(n->type == T)
|
||||
continue;
|
||||
// if(!n->used && n->sym->name[0] != '&')
|
||||
// yyerror("%S declared and not used", n->sym);
|
||||
dowidth(n->type);
|
||||
w = n->type->width;
|
||||
if(w >= 100000000)
|
||||
@ -447,6 +443,7 @@ cgen_discard(Node *nr)
|
||||
|
||||
switch(nr->op) {
|
||||
case ONAME:
|
||||
gused(nr);
|
||||
break;
|
||||
|
||||
// unary
|
||||
|
@ -82,7 +82,7 @@ out:
|
||||
n->typecheck = 1;
|
||||
for(ll=n->list; ll; ll=ll->next)
|
||||
if(ll->n->typecheck == 0)
|
||||
typecheck(&ll->n, Erv);
|
||||
typecheck(&ll->n, Erv | Easgn);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -1975,7 +1975,7 @@ out:
|
||||
n->typecheck = 1;
|
||||
for(ll=n->list; ll; ll=ll->next)
|
||||
if(ll->n->typecheck == 0)
|
||||
typecheck(&ll->n, Erv);
|
||||
typecheck(&ll->n, Erv | Easgn);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -67,6 +67,9 @@ void
|
||||
walk(Node *fn)
|
||||
{
|
||||
char s[50];
|
||||
NodeList *l;
|
||||
Node *n;
|
||||
int lno;
|
||||
|
||||
curfn = fn;
|
||||
if(debug['W']) {
|
||||
@ -77,6 +80,17 @@ walk(Node *fn)
|
||||
if(walkret(curfn->nbody))
|
||||
yyerror("function ends without a return statement");
|
||||
typechecklist(curfn->nbody, Etop);
|
||||
lno = lineno;
|
||||
for(l=fn->dcl; l; l=l->next) {
|
||||
n = l->n;
|
||||
if(n->op != ONAME || n->class != PAUTO)
|
||||
continue;
|
||||
lineno = n->lineno;
|
||||
typecheck(&n, Erv | Easgn); // only needed for unused variables
|
||||
if(!n->used && n->sym->name[0] != '&')
|
||||
yyerror("%S declared and not used", n->sym);
|
||||
}
|
||||
lineno = lno;
|
||||
if(nerrors != 0)
|
||||
return;
|
||||
walkstmtlist(curfn->nbody);
|
||||
|
Loading…
Reference in New Issue
Block a user