1/* { dg-do run } */ 2/* { dg-options "-fsanitize=undefined -fsanitize-undefined-trap-on-error" } */ 3 4int __attribute__((noinline,noclone)) 5h(int a) 6{ 7 return 2 * (a * (__INT_MAX__/2 + 1)); 8} 9int __attribute__((noinline,noclone)) 10i(int a) 11{ 12 return (2 * a) * (__INT_MAX__/2 + 1); 13} 14int __attribute__((noinline,noclone)) 15j(int a, int b) 16{ 17 return (b * a) * (__INT_MAX__/2 + 1); 18} 19int __attribute__((noinline,noclone)) 20k(int a, int b) 21{ 22 return (2 * a) * b; 23} 24int main() 25{ 26 volatile int tem = h(-1); 27 tem = i(-1); 28 tem = j(-1, 2); 29 tem = k(-1, __INT_MAX__/2 + 1); 30 return 0; 31} 32