* typeck2.c (process_init_constructor_array): Use the proper
type for computing the array length.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185919
138bc75d-0d04-0410-961f-
82ee72b054a4
+2012-03-28 Richard Guenther <rguenther@suse.de>
+
+ * typeck2.c (process_init_constructor_array): Use the proper
+ type for computing the array length.
+
2012-03-27 Meador Inge <meadori@codesourcery.com>
PR c++/52672
{
tree domain = TYPE_DOMAIN (type);
if (domain)
- len = (TREE_INT_CST_LOW (TYPE_MAX_VALUE (domain))
- - TREE_INT_CST_LOW (TYPE_MIN_VALUE (domain))
- + 1);
+ len = double_int_ext
+ (double_int_add
+ (double_int_sub
+ (tree_to_double_int (TYPE_MAX_VALUE (domain)),
+ tree_to_double_int (TYPE_MIN_VALUE (domain))),
+ double_int_one),
+ TYPE_PRECISION (TREE_TYPE (domain)),
+ TYPE_UNSIGNED (TREE_TYPE (domain))).low;
else
unbounded = true; /* Take as many as there are. */
}