aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSenthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>2016-10-11 10:35:57 +0000
committerSenthil Kumar Selvaraj <saaadhu@gcc.gnu.org>2016-10-11 10:35:57 +0000
commitddefad9a0845cdd0d648f3c234b1abfaa239612b (patch)
tree52938ea4db9f91b4f70b45fbf994feaebac0f4a8
parent656b031126ee1679e97b03484cd870d68dd387a9 (diff)
downloadgcc-ddefad9a0845cdd0d648f3c234b1abfaa239612b.zip
gcc-ddefad9a0845cdd0d648f3c234b1abfaa239612b.tar.gz
gcc-ddefad9a0845cdd0d648f3c234b1abfaa239612b.tar.bz2
Fix gcc.dg/tree-ssa/pr59597.c failure for avr
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
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/pr59597.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d406923..1b6044c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr59597.c b/gcc/testsuite/gcc.dg/tree-ssa/pr59597.c
index 4ac12c8..dab16ab 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/pr59597.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr59597.c
@@ -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++)