summaryrefslogtreecommitdiff
path: root/src/cmd/gc/walk.c
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-07-27 16:17:09 -0700
committerRuss Cox <rsc@golang.org>2009-07-27 16:17:09 -0700
commit4dd3e6e22f4a0cdbd0ca115dbcca58ed30a00232 (patch)
treefc4acd47016ebe1e2a1e02c63fbdc615caa16586 /src/cmd/gc/walk.c
parent6c393ada8aacd81efc1a01d8c8cbc8b4bad32c85 (diff)
downloadgolang-4dd3e6e22f4a0cdbd0ca115dbcca58ed30a00232.tar.gz
print(1<<x)
R=ken OCL=32252 CL=32252
Diffstat (limited to 'src/cmd/gc/walk.c')
-rw-r--r--src/cmd/gc/walk.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/cmd/gc/walk.c b/src/cmd/gc/walk.c
index 31db1e7b4..2402ef3b6 100644
--- a/src/cmd/gc/walk.c
+++ b/src/cmd/gc/walk.c
@@ -858,7 +858,8 @@ reswitch:
defaultlit(&n->right, types[TUINT]);
if(n->left->type == T || n->right->type == T)
goto ret;
- if(issigned[n->right->type->etype] || !isint[n->right->type->etype])
+ et = n->right->type->etype;
+ if(issigned[et] || !isint[et])
goto badt;
// check of n->left->type happens in second switch.
break;
@@ -2500,14 +2501,14 @@ prcompat(NodeList *all, int fmt, int dopanic)
switch(n->val.ctype) {
case CTINT:
defaultlit(&n, types[TINT64]);
- l->n = n;
break;
case CTFLT:
defaultlit(&n, types[TFLOAT64]);
- l->n = n;
break;
}
}
+ defaultlit(&n, nil);
+ l->n = n;
if(n->type == T)
continue;