1 // PR c++/56481 2 // Non-linearity in potential_constant_expression_1 3 // { dg-do compile { target c++11 } } 4 5 struct S 6 { 7 constexpr bool foo (); 8 #define A(n) , f##n##0, f##n##1, f##n##2, f##n##3 9 #define B(n) A(n##0) A(n##1) A(n##2) A(n##3) 10 #define C B(0) B(1) B(2) B(3) 11 bool f C; 12 }; 13 14 constexpr bool foo()15S::foo () 16 { 17 #undef A 18 #define A(n) && f##n##0 && f##n##1 && f##n##2 && f##n##3 19 return f C; 20 } 21