summaryrefslogtreecommitdiff
path: root/src/cmd/gc/walk.c
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2010-01-08 00:01:03 -0800
committerRuss Cox <rsc@golang.org>2010-01-08 00:01:03 -0800
commitae4521437ec67ddf414d2d3638af5ce6a2a5078c (patch)
treea97d9d80fc2eb2866d9b801e53e41935c9e00318 /src/cmd/gc/walk.c
parentda95e27cdba1b714ae6bd6559bf003745b097cae (diff)
downloadgolang-ae4521437ec67ddf414d2d3638af5ce6a2a5078c.tar.gz
gc: bug238
Fixes issue 471. R=ken2 CC=golang-dev http://codereview.appspot.com/181184
Diffstat (limited to 'src/cmd/gc/walk.c')
-rw-r--r--src/cmd/gc/walk.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/cmd/gc/walk.c b/src/cmd/gc/walk.c
index 587119c96..211efaec9 100644
--- a/src/cmd/gc/walk.c
+++ b/src/cmd/gc/walk.c
@@ -180,8 +180,11 @@ walkdef(Node *n)
goto ret;
}
t = n->type;
- if(t != T)
+ if(t != T) {
convlit(&e, t);
+ if(!isint[t->etype] && !isfloat[t->etype] && t->etype != TSTRING)
+ yyerror("invalid constant type %T", t);
+ }
n->val = e->val;
n->type = e->type;
break;