1 // { dg-do run } 2 3 // Copyright (C) 2003 Free Software Foundation, Inc. 4 // Contributed by Nathan Sidwell 22 Jul 2003 <nathan@codesourcery.com> 5 6 // PR 9447. Using decls in template classes. 7 8 template <class T> 9 struct Foo { kFoo10 int k (float) {return 1;} 11 }; 12 13 struct Baz 14 { kBaz15 int k (int) {return 2;} 16 }; 17 18 template <class T> 19 struct Bar : public Foo<T> , Baz { 20 using Foo<T>::k; 21 using Baz::k; 22 fooBar23 int foo() 24 { 25 if (k (1.0f) != 1) 26 return 1; 27 if (k (1) != 2) 28 return 2; 29 30 return 0; 31 } 32 }; 33 main()34int main() 35 { 36 Bar<int> bar; 37 38 return bar.foo(); 39 } 40