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 8template <class T> 9struct Foo { 10 int i (int) {return 1;} 11}; 12 13struct Baz 14{ 15 int k (int) {return 2;} 16}; 17 18template <class T> 19struct Bar : public Foo<T> , Baz { 20 using Foo<T>::i; 21 using Baz::k; 22 23 int i (float) {return 3;} 24 int k (float) {return 3;} 25 26 int foo() 27 { 28 if (i (1) != 1) 29 return 1; 30 if (k (1) != 2) 31 return 2; 32 33 return 0; 34 } 35}; 36 37int main() 38{ 39 Bar<int> bar; 40 41 return bar.foo(); 42} 43