blob: ca6015872edcd695fa3bb5fae9a4148edc553845 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
/* { dg-require-effective-target int32plus } */
/* { dg-options "-fno-strict-overflow" } */
extern void abort (void);
extern void exit (int);
__attribute__ ((noinline))
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);
}
main()
{
short unsigned int x, y;
x = -5;
y = -10;
foo (&x, &y);
}
|