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 k (float) {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>::k;
21  using Baz::k;
22
23  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
34int main()
35{
36  Bar<int> bar;
37
38  return bar.foo();
39}
40