diff options
Diffstat (limited to 'src/cmd/gc/walk.c')
-rw-r--r-- | src/cmd/gc/walk.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/cmd/gc/walk.c b/src/cmd/gc/walk.c index 7dfd34a7a..a4edc9062 100644 --- a/src/cmd/gc/walk.c +++ b/src/cmd/gc/walk.c @@ -846,11 +846,13 @@ walkexpr(Node **np, NodeList **init) // if range of type cannot exceed static array bound, // disable bounds check if(isfixedarray(n->left->type)) + if(!issigned[n->right->type->etype]) if(n->right->type->width < 4) if((1<<(8*n->right->type->width)) <= n->left->type->bound) n->etype = 1; if(isconst(n->left, CTSTR)) + if(!issigned[n->right->type->etype]) if(n->right->type->width < 4) if((1<<(8*n->right->type->width)) <= n->left->val.u.sval->len) n->etype = 1; |