Fix gcc.dg/tree-ssa/pr59597.c failure for avr
authorSenthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
Tue, 11 Oct 2016 10:35:57 +0000 (10:35 +0000)
committerSenthil Kumar Selvaraj <saaadhu@gcc.gnu.org>
Tue, 11 Oct 2016 10:35:57 +0000 (10:35 +0000)
Declare loop index variable j as a 32 bit int instead of assuming ints
are 32 bits. The smaller int size on the avr makes prior passes optimize
away the loop exit check (j < 10000000), as the constant is outside
the range of a 16 bit int.

gcc/testsuite/ChangeLog

2016-10-11  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

* gcc.dg/tree-ssa/pr59597.c: Typedef  __INT32_TYPE__ to i32.
(main): Declare j as i32 instead of int.

From-SVN: r240986

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/pr59597.c

index d406923c53d47aedf2b3e9bf88de2281077acb2e..1b6044c0582674fba0247bb5a1a5a8d68a513f73 100644 (file)
@@ -1,3 +1,8 @@
+2016-10-11  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
+
+       * gcc.dg/tree-ssa/pr59597.c: Typedef  __INT32_TYPE__ to i32.
+       (main): Declare j as i32 instead of int.
+
 2016-10-11  Thomas Preud'homme  <thomas.preudhomme@arm.com>
 
        PR testsuite/PR77710
index 4ac12c8c15cf47f1bb61e57835f02c7bd3dd41f7..dab16abe5223107b2d11528dc6ed0396f9fa2e98 100644 (file)
@@ -4,6 +4,8 @@
 typedef unsigned short u16;
 typedef unsigned char u8;
 typedef unsigned int u32;
+__extension__ typedef __INT32_TYPE__ i32;
+
 long int random(int);
 #define NNN 10
 
@@ -37,7 +39,7 @@ Calc_crc8 (u8 data, u16 crc)
 int
 main (int argc, char argv[])
 {
-  int i, j; u16 crc;
+  int i; i32 j; u16 crc;
   for (j = 0; j < 10000000; j++)
     {
       for (i = 0; i < NNN; i++)