summaryrefslogtreecommitdiff
path: root/src/cmd/cc
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2012-06-14 13:23:46 +0200
committerOndřej Surý <ondrej@sury.org>2012-06-14 13:23:46 +0200
commit917c5fb8ec48e22459d77e3849e6d388f93d3260 (patch)
tree9c23734a6ffd4d2a8ac99502eda3cc812a8b130b /src/cmd/cc
parent0003ee229fd33ff46cb5f2fe1e35f5c0284debc4 (diff)
downloadgolang-917c5fb8ec48e22459d77e3849e6d388f93d3260.tar.gz
Imported Upstream version 1.0.2upstream/1.0.2
Diffstat (limited to 'src/cmd/cc')
-rw-r--r--src/cmd/cc/scon.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/cmd/cc/scon.c b/src/cmd/cc/scon.c
index 193331f77..f6031a5be 100644
--- a/src/cmd/cc/scon.c
+++ b/src/cmd/cc/scon.c
@@ -175,7 +175,10 @@ evconst(Node *n)
break;
case OLSHR:
- v = (uvlong)l->vconst >> r->vconst;
+ if(l->type->width != sizeof(uvlong))
+ v = ((uvlong)l->vconst & 0xffffffffULL) >> r->vconst;
+ else
+ v = (uvlong)l->vconst >> r->vconst;
break;
case OASHR: