Message ID | 874lymde95.fsf@microchip.com |
---|---|
State | New |
Headers | show |
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.selvaraj@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. 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; > } > >
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.selvaraj@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; >> } >> >> > >
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; +#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; }