diff options
Diffstat (limited to 'src/cmd/gc/walk.c')
-rw-r--r-- | src/cmd/gc/walk.c | 5 |
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; |