On 21.03.2017 13:31, Georg-Johann Lay wrote:
On 21.03.2017 13:07, Senthil Kumar Selvaraj wrote:

Hi,

The test assumes 32 bit ints, and expects a constant in the
dump that is only valid for 32 bit ints. This trivial patch
fixes that by explicitly specifying __UINT32_TYPE__ as the type.

Committed as obvious.

Regards
Senthil

gcc/testsuite/ChangeLog

2017-03-21  Senthil Kumar Selvaraj  <senthil_kumar.selva...@atmel.com>

    * gcc.dg/tree-ssa/overflow-1.c: Use __UINT32_TYPE__ for targets
     with sizeof(int) < 4.

diff --git gcc/testsuite/gcc.dg/tree-ssa/overflow-1.c
gcc/testsuite/gcc.dg/tree-ssa/overflow-1.c
index e126609c53d9..b664d0f120aa 100644
--- gcc/testsuite/gcc.dg/tree-ssa/overflow-1.c
+++ gcc/testsuite/gcc.dg/tree-ssa/overflow-1.c
@@ -1,14 +1,20 @@
 /* { dg-do compile } */
 /* { dg-options "-O -fdump-tree-optimized" } */

-int f(unsigned a){
-    unsigned b=5;
-    unsigned c=a-b;
+#if __SIZEOF_INT__ < 4
+  __extension__ typedef __UINT32_TYPE__ uint32_t;
+#else
+  typedef unsigned uint32_t;

Dunno if this matters, but it changes the test for 64-bit int.

argh, forget my comment :-)


Johann

+#endif
+
+int f(uint32_t a){
+    uint32_t b=5;
+    uint32_t c=a-b;
     return c>a;
 }
-int g(unsigned a){
-    unsigned b=32;
-    unsigned c=a+b;
+int g(uint32_t a){
+    uint32_t b=32;
+    uint32_t c=a+b;
     return c<a;
 }





Reply via email to