1 static int a[] = {
   2   [+0] = 0,                                     // OK
   3   [+__builtin_choose_expr(0, 0, 0)] = 0,        // OK
   4   [+0.] = 0,                                    // KO
   5   [+__builtin_choose_expr(0, 0, 0.)] = 0,       // KO
   6   [-0] = 0,                                     // OK
   7   [-__builtin_choose_expr(0, 0, 0)] = 0,        // OK
   8   [-0.] = 0,                                    // KO
   9   [-__builtin_choose_expr(0, 0, 0.)] = 0,       // KO
  10   [~0] = 0,                                     // OK
  11   [~__builtin_choose_expr(0, 0, 0)] = 0,        // OK
  12   [!0] = 0,                                     // OK
  13   [!__builtin_choose_expr(0, 0, 0)] = 0,        // OK
  14   [!0.] = 0,                                    // KO
  15   [!__builtin_choose_expr(0, 0, 0.)] = 0,       // KO
  16 };
  17 
  18 /*
  19  * check-name: Expression constness propagation in preops
  20  *
  21  * check-error-start
  22 constexpr-preop.c:4:5: error: bad constant expression
  23 constexpr-preop.c:5:33: error: bad constant expression
  24 constexpr-preop.c:8:4: error: bad constant expression
  25 constexpr-preop.c:9:4: error: bad constant expression
  26 constexpr-preop.c:14:4: error: bad integer constant expression
  27 constexpr-preop.c:15:4: error: bad integer constant expression
  28  * check-error-end
  29  */