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)14 template<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