[wide-int] Fix aarch{32,64} builds

Eric Botcazou ebotcazou@adacore.com
Tue Nov 26 09:50:00 GMT 2013


> My (our) question is, doesn't Ada have non-INTEGER_CST TYPE_SIZE (type), and
> the old code had this type of check:
> 
> bool
> tree_fits_uhwi_p (const_tree t)
> {
>   return (t != NULL_TREE
>           && TREE_CODE (t) == INTEGER_CST
>           && TREE_INT_CST_HIGH (t) == 0);
> }
> 
> to ensure that things that are not INTEGER_CSTs return -1.  In the new code,
> won't this just call wi::ne_p, and die?

TYPE_SIZE (type) can be anything even in C:

int foo (int i, int j)
{
  char a[i *2 + j + 1];
  a [0] = 1;
}

(gdb) p debug_generic_expr(type->type_common.size)
(bitsizetype) (sizetype) (SAVE_EXPR <(i * 2 + j) + 1>) * 8

-- 
Eric Botcazou



More information about the Gcc-patches mailing list