1 /* { dg-do run } */
2 /* { dg-options "-O2" } */
3
4 extern void abort (void);
5
6 #define VALUE (unsigned int)((int)((long long)U1 * (long long)3) + 2)
7
8 int main(void)
9 {
10 long long Y, Y2;
11 #if(__SIZEOF_INT__ >= 4)
12 int U1;
13 #else
14 long U1;
15 #endif
16 unsigned int t;
17
18 U1 = -2147483647-1;
19
20 Y = ((long long)(int)(VALUE * VALUE) * 3);
21
22 t = VALUE;
23 Y2 = ((long long)(int)(t * t) * 3);
24
25 if (Y != Y2)
26 abort ();
27 return 0;
28 }