Commit 37d168ae by Senthil Kumar Selvaraj Committed by Senthil Kumar Selvaraj

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  <senthil_kumar.selvaraj@atmel.com>

	* gcc.dg/tree-ssa/pr64130.c: Use __UINT32_TYPE__ instead of int.

From-SVN: r240300
parent 66454000
2016-09-21 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/tree-ssa/pr64130.c: Use __UINT32_TYPE__ instead of int.
2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org>
PR tree-optimization/72835
......
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment