diff options
Diffstat (limited to 'src/cmd/gc/align.c')
-rw-r--r-- | src/cmd/gc/align.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/cmd/gc/align.c b/src/cmd/gc/align.c index be9f552f6..80c65387b 100644 --- a/src/cmd/gc/align.c +++ b/src/cmd/gc/align.c @@ -46,7 +46,8 @@ static vlong widstruct(Type *errtype, Type *t, vlong o, int flag) { Type *f; - int32 w, maxalign; + int64 w; + int32 maxalign; maxalign = flag; if(maxalign < 1) @@ -643,7 +644,7 @@ argsize(Type *t) { Iter save; Type *fp; - int w, x; + int64 w, x; w = 0; @@ -664,5 +665,7 @@ argsize(Type *t) } w = (w+widthptr-1) & ~(widthptr-1); + if((int)w != w) + fatal("argsize too big"); return w; } |