1 // PR c++/86608
2 // { dg-do compile { target c++11 } }
3 
4 template<typename T, T v> struct X {};
5 
6 int
main()7 main ()
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