1 // PR c++/86608 2 // { dg-do compile { target c++11 } } 3 4 template<typename T, T v> struct X {}; 5 6 int main()7main () 8 { 9 static constexpr volatile int a = 3; 10 constexpr volatile int b = 2; 11 return (sizeof(X<decltype(a), a>) // { dg-error "lvalue-to-rvalue conversion of a volatile lvalue" } 12 + sizeof(X<decltype(b), b>)); // { dg-error "lvalue-to-rvalue conversion of a volatile lvalue" } 13 } 14