From 370f6918c29c709f62ec7a9c1265647d87dc1c88 Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Thu, 31 Dec 1992 08:33:11 +0000 Subject: [PATCH] (layout_record): Avoid overflow in const_size by adding into var_size instead. From-SVN: r3007 --- gcc/stor-layout.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c index e280802..3d1ce08 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 { -- 2.7.4