summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cmd/gc/typecheck.c4
-rw-r--r--src/cmd/gc/walk.c4
2 files changed, 7 insertions, 1 deletions
diff --git a/src/cmd/gc/typecheck.c b/src/cmd/gc/typecheck.c
index 707546b10..b6940d412 100644
--- a/src/cmd/gc/typecheck.c
+++ b/src/cmd/gc/typecheck.c
@@ -89,6 +89,10 @@ typecheck(Node **np, int top)
redo:
lno = setlineno(n);
if(n->sym) {
+ if(n->op == ONAME && n->etype != 0) {
+ yyerror("use of builtin %S not in function call", n->sym);
+ goto error;
+ }
walkdef(n);
if(n->op == ONONAME)
goto error;
diff --git a/src/cmd/gc/walk.c b/src/cmd/gc/walk.c
index 3098fa525..21bd0b56e 100644
--- a/src/cmd/gc/walk.c
+++ b/src/cmd/gc/walk.c
@@ -221,7 +221,9 @@ walkdef(Node *n)
if(n->op == ONONAME) {
if(!n->diag) {
n->diag = 1;
- yyerrorl(n->lineno, "undefined: %S", n->sym);
+ if(n->lineno != 0)
+ lineno = n->lineno;
+ yyerror("undefined: %S", n->sym);
}
return;
}