| // { dg-do run } |
| |
| // Copyright (C) 2001 Free Software Foundation, Inc. |
| // Contributed by Nathan Sidwell 17 Oct 2002 <nathan@codesourcery.com> |
| |
| // PR 7676. We didn't notice template members were different. |
| |
| struct foo |
| { |
| template<class T> |
| int bar() {return 1;} |
| |
| template<int I> |
| int bar() {return 2;} |
| |
| }; |
| |
| struct baz : foo |
| { |
| using foo::bar; |
| template<int I> |
| int bar () {return 3;} |
| }; |
| |
| int main () |
| { |
| baz b; |
| foo f; |
| |
| if (f.bar<1> () != 2) |
| return 1; |
| if (f.bar<int> () != 1) |
| return 2; |
| |
| if (b.bar<1> () != 3) |
| return 1; |
| if (b.bar<int> () != 1) |
| return 2; |
| |
| return 0; |
| } |