// PR c++/51150 // { dg-do compile { target c++11 } } struct Clock { double Now(); }; template void Foo(Clock* clock) { const int now = clock->Now(); } template void Foo(Clock*); template void Boo(int val) { const int now1 = (double)(val); const int now2 = const_cast(val); // { dg-error "invalid" } const int now3 = static_cast(val); const int now4 = reinterpret_cast(val); // { dg-error "invalid" } } template void Boo(int);