From: Senthil Kumar Selvaraj Date: Wed, 21 Sep 2016 06:03:32 +0000 (+0000) Subject: Make integer size explicit X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=37d168aedcc08d271bf5546288be7ad18d4def5e;p=gcc.git Make integer size explicit For the lower vrp bound to be 2/-2, unsigned ints must be 4 bytes wide. This breaks targets like avr. Explicitly using __UINT32_TYPE__ (behind a typedef) makes the testcase pass for all targets. gcc/testsuite/ChangeLog: 2016-09-21 Senthil Kumar Selvaraj * gcc.dg/tree-ssa/pr64130.c: Use __UINT32_TYPE__ instead of int. From-SVN: r240300 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e05a76e4c18..2f5518f5339 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2016-09-21 Senthil Kumar Selvaraj + + * gcc.dg/tree-ssa/pr64130.c: Use __UINT32_TYPE__ instead of int. + 2016-09-21 Kugan Vivekanandarajah PR tree-optimization/72835 diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr64130.c b/gcc/testsuite/gcc.dg/tree-ssa/pr64130.c index f39bd179a8c..e068765e2fc 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr64130.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr64130.c @@ -2,12 +2,14 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fdump-tree-evrp" } */ -int funsigned (unsigned a) +__extension__ typedef __UINT32_TYPE__ uint32_t; + +int funsigned (uint32_t a) { return 0x1ffffffffL / a == 0; } -int funsigned2 (unsigned a) +int funsigned2 (uint32_t a) { if (a < 1) return 1; return (-1 * 0x1ffffffffL) / a == 0;