re PR tree-optimization/68835 (ICE in set_value_range, at tree-vrp.c:387, with __int1...
authorJakub Jelinek <jakub@redhat.com>
Thu, 17 Dec 2015 13:52:25 +0000 (14:52 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 17 Dec 2015 13:52:25 +0000 (14:52 +0100)
commit2833da1d2a52591aa76c867d00ea3f838f387736
treeb72d48432f46da6493f758fd909b5dbd54dee777
parent4fae9c1012246c77d6167388ba85c1b6e96c084b
re PR tree-optimization/68835 (ICE in set_value_range, at tree-vrp.c:387, with __int128 bit field)

PR tree-optimization/68835
* tree.c (get_int_cst_ext_nunits): Return
cst.get_precision () / HOST_BITS_PER_WIDE_INT + 1
for all unsigned wi::neg_p (cst) constants.
(build_new_int_cst): If cst.get_precision is not a multiple
of HOST_BITS_PER_WIDE_INT, zero extend -1 to the precision
% HOST_BITS_PER_WIDE_INT.

* gcc.dg/pr68835-1.c: New test.
* gcc.dg/pr68835-2.c: New test.

From-SVN: r231757
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr68835-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr68835-2.c [new file with mode: 0644]
gcc/tree.c