stor-layout.c (layout_type): Use size_binop for array size calculations.
2011-09-05 Richard Guenther <rguenther@suse.de> * stor-layout.c (layout_type): Use size_binop for array size calculations. c-family/ * c-common.c (complete_array_type): Use ssize_int (-1) instead of integer_minus_one_node for empty array upper bounds. From-SVN: r178526
This commit is contained in:
parent
c149e48765
commit
830c740f17
4 changed files with 17 additions and 8 deletions
|
@ -1,3 +1,8 @@
|
|||
2011-09-05 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* stor-layout.c (layout_type): Use size_binop for array size
|
||||
calculations.
|
||||
|
||||
2011-09-05 Georg-Johann Lay <avr@gjlay.de>
|
||||
|
||||
* config/avr/avr.h (progmem_section): Remove Declaration.
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2011-09-05 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* c-common.c (complete_array_type): Use ssize_int (-1) instead
|
||||
of integer_minus_one_node for empty array upper bounds.
|
||||
|
||||
2011-08-28 Dodji Seketeli <dodji@redhat.com>
|
||||
|
||||
* c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
|
||||
|
|
|
@ -8844,7 +8844,7 @@ complete_array_type (tree *ptype, tree initial_value, bool do_default)
|
|||
{
|
||||
if (pedantic)
|
||||
failure = 3;
|
||||
maxindex = integer_minus_one_node;
|
||||
maxindex = ssize_int (-1);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -1959,16 +1959,15 @@ layout_type (tree type)
|
|||
if (integer_zerop (element_size))
|
||||
length = size_zero_node;
|
||||
|
||||
/* The computation should happen in the original type so
|
||||
that (possible) negative values are handled appropriately. */
|
||||
/* The computation should happen in the original signedness so
|
||||
that (possible) negative values are handled appropriately
|
||||
when determining overflow. */
|
||||
else
|
||||
length
|
||||
= fold_convert (sizetype,
|
||||
fold_build2 (PLUS_EXPR, TREE_TYPE (lb),
|
||||
build_int_cst (TREE_TYPE (lb), 1),
|
||||
fold_build2 (MINUS_EXPR,
|
||||
TREE_TYPE (lb),
|
||||
ub, lb)));
|
||||
size_binop (PLUS_EXPR,
|
||||
build_int_cst (TREE_TYPE (lb), 1),
|
||||
size_binop (MINUS_EXPR, ub, lb)));
|
||||
|
||||
TYPE_SIZE (type) = size_binop (MULT_EXPR, element_size,
|
||||
fold_convert (bitsizetype,
|
||||
|
|
Loading…
Add table
Reference in a new issue