1 // { dg-do compile } 2 3 // Copyright (C) 2004 Free Software Foundation, Inc. 4 // Contributed by Nathan Sidwell 14 Dec 2004 <nathan@codesourcery.com> 5 6 // PR 18949. Forgot to convert from reference. 7 // Origin: Volker Reichelt <reichelt@gcc.gnu.org> 8 9 struct A 10 { 11 void foo(); 12 }; 13 bar(A & a)14template<int> void bar(A& a) 15 { 16 const_cast<A&>(a).foo(); 17 static_cast<A&>(a).foo(); 18 reinterpret_cast<A&>(a).foo(); 19 ((A&)a).foo(); 20 } 21 22 template void bar<0>(A& a); 23