diff options
author | Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> | 2016-10-11 10:35:57 +0000 |
---|---|---|
committer | Senthil Kumar Selvaraj <saaadhu@gcc.gnu.org> | 2016-10-11 10:35:57 +0000 |
commit | ddefad9a0845cdd0d648f3c234b1abfaa239612b (patch) | |
tree | 52938ea4db9f91b4f70b45fbf994feaebac0f4a8 | |
parent | 656b031126ee1679e97b03484cd870d68dd387a9 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/pr59597.c | 4 |
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++) |