(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
bconstp-2.c
       1  /* As bconstp-1.c, but with the __builtin_constant_p calls
       2     parenthesized.  */
       3  /* { dg-do compile } */
       4  
       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.  */
       9  
      10  extern int a;
      11  extern int b;
      12  
      13  extern int foo(void);
      14  extern int bar(void);
      15  
      16  #define X(exp) ((__builtin_constant_p(exp)) ? (exp) : -1)
      17  
      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())
      27  };