1 /* PR c/19449 */
2 
3 extern void abort (void);
4 
5 int y;
6 int z = __builtin_choose_expr (!__builtin_constant_p (y), 3, 4);
7 
8 int
foo(int x)9 foo (int x)
10 {
11   return __builtin_choose_expr (!__builtin_constant_p (x), 3, y++);
12 }
13 
14 int
main()15 main ()
16 {
17   if (y || z != 3 || foo (4) != 3)
18     abort ();
19   return 0;
20 }
21