http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53752
--- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-06-25 08:44:35 UTC --- Created attachment 27698 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27698 autoreduced testcase We mangle an array with TYPE_DOMAIN [0, UINT_MAX], so it has UINT_MAX + 1 number of elements. The old code read /* The ABI specifies that we should mangle the number of elements in the array, not the largest allowed index. */ max = size_binop (PLUS_EXPR, max, size_one_node); write_unsigned_number (tree_low_cst (max, 1)); which of course simply truncated the result to zero, and only the verifying that it fits into an unsigned host-wide-int.