blob: 0fa115c32eff7e9cd034f04db953ec5d92d27efb [file] [log] [blame]
/* { dg-require-effective-target int32plus } */
/* { dg-options "-fno-strict-overflow" } */
extern void abort (void);
extern void exit (int);
__attribute__ ((noinline)) void
foo(short unsigned int *p1, short unsigned int *p2)
{
short unsigned int x1, x4;
int x2, x3, x5, x6;
unsigned int x7;
x1 = *p1;
x2 = (int) x1;
x3 = x2 * 65536;
x4 = *p2;
x5 = (int) x4;
x6 = x3 + x4;
x7 = (unsigned int) x6;
if (x7 <= 268435455U)
abort ();
exit (0);
}
int
main()
{
short unsigned int x, y;
x = -5;
y = -10;
foo (&x, &y);
}