> 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