PR tree-optimization/81303
[official-gcc.git] / gcc / testsuite / gcc.dg / bconstp-2.c
blob5b5ff8b1cf1174a603e5d5decf45917debc862cd
1 /* As bconstp-1.c, but with the __builtin_constant_p calls
2 parenthesized. */
3 /* { dg-do compile } */
5 /* This test checks that builtin_constant_p can be used safely in
6 initializers for static data. The macro X() defined below should
7 be an acceptable initializer expression no matter how complex its
8 argument is. */
10 extern int a;
11 extern int b;
13 extern int foo(void);
14 extern int bar(void);
16 #define X(exp) ((__builtin_constant_p(exp)) ? (exp) : -1)
18 const short tests[] = {
19 X(0),
20 X(a),
21 X(0 && a),
22 X(a && b),
23 X(foo()),
24 X(0 && foo()),
25 X(a && foo()),
26 X(foo() && bar())