diff options
Diffstat (limited to 'src/cmd/cc/com.c')
-rw-r--r-- | src/cmd/cc/com.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/cmd/cc/com.c b/src/cmd/cc/com.c index 6e470ee64..4886b73eb 100644 --- a/src/cmd/cc/com.c +++ b/src/cmd/cc/com.c @@ -87,6 +87,7 @@ tcomo(Node *n, int f) Node *l, *r; Type *t; int o; + static TRune zer; if(n == Z) { diag(Z, "Z in tcom"); @@ -651,12 +652,10 @@ tcomo(Node *n, int f) break; case OLSTRING: - if(n->type->link != types[TUSHORT]) { + if(n->type->link != types[TRUNE]) { o = outstring(0, 0); while(o & 3) { - ushort a[1]; - a[0] = 0; - outlstring(a, sizeof(ushort)); + outlstring(&zer, sizeof(TRune)); o = outlstring(0, 0); } } @@ -1326,10 +1325,10 @@ compar(Node *n, int reverse) if(lt->width == 8) hi = big(0, ~0ULL); else - hi = big(0, (1LL<<(l->type->width*8))-1); + hi = big(0, (1ULL<<(l->type->width*8))-1); }else{ - lo = big(~0ULL, -(1LL<<(l->type->width*8-1))); - hi = big(0, (1LL<<(l->type->width*8-1))-1); + lo = big(~0ULL, -(1ULL<<(l->type->width*8-1))); + hi = big(0, (1ULL<<(l->type->width*8-1))-1); } switch(op){ |