pr52132.c: Fix FAIL on 16-bit int platforms.

* gcc.dg/pr52132.c: Fix FAIL on 16-bit int platforms.

From-SVN: r184393
This commit is contained in:
Georg-Johann Lay 2012-02-20 14:06:00 +00:00 committed by Georg-Johann Lay
parent a19db3f2e3
commit ba641b7eda
2 changed files with 13 additions and 0 deletions

View file

@ -1,3 +1,7 @@
2012-02-20 Georg-Johann Lay <avr@gjlay.de>
* gcc.dg/pr52132.c: Fix FAIL on 16-bit int platforms.
2012-02-20 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/52286

View file

@ -2,6 +2,11 @@
/* { dg-do compile } */
/* { dg-options "-std=c99 -O2 -g" } */
#if (__SIZEOF_INT__ < __SIZEOF_FLOAT__) \
&& (__SIZEOF_LONG__ == __SIZEOF_FLOAT__)
#define int long
#endif
int l;
void bar (void);
@ -10,7 +15,11 @@ foo (int *x, float y)
{
float b;
union { float f; int i; } u = { .f = y };
#if (__SIZEOF_INT__ < __SIZEOF_FLOAT__)
u.i += 127L << 23;
#else
u.i += 127 << 23;
#endif
u.f = ((-1.0f / 3) * u.f + 2) * u.f - 2.0f / 3;
b = 0.5 * (u.f + l);
if (b >= *x)