From: Richard Stallman Date: Thu, 31 Dec 1992 08:33:11 +0000 (+0000) Subject: (layout_record): Avoid overflow in const_size by adding into var_size instead. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=370f6918c29c709f62ec7a9c1265647d87dc1c88;p=gcc.git (layout_record): Avoid overflow in const_size by adding into var_size instead. From-SVN: r3007 --- diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c index e2808020414..3d1ce08e26c 100644 --- a/gcc/stor-layout.c +++ b/gcc/stor-layout.c @@ -451,7 +451,10 @@ layout_record (rec) printed in finish_struct. */ if (dsize == 0) /* Do nothing. */; - else if (TREE_CODE (dsize) == INTEGER_CST) + else if (TREE_CODE (dsize) == INTEGER_CST + && TREE_INT_CST_HIGH (dsize) == 0 + && TREE_INT_CST_LOW (dsize) + const_size > const_size) + /* Use const_size if there's no overflow. */ const_size += TREE_INT_CST_LOW (dsize); else {