OSDN Git Service

PR c++/54858
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / template / using3.C
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 {
10   int i (int) {return 1;}
11 };
12
13 struct Baz 
14 {
15   int k (int) {return 2;}
16 };
17
18 template <class T>
19 struct 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
37 int main()
38 {
39   Bar<int> bar;
40
41   return bar.foo();
42 }