1// { dg-do run }
2
3// Copyright (C) 2001 Free Software Foundation, Inc.
4// Contributed by Nathan Sidwell 17 Oct 2002 <nathan@codesourcery.com>
5
6// PR 7676. We didn't notice template members were different.
7
8struct foo
9{
10  template<class T>
11  int bar() {return 1;}
12
13  template<int I>
14  int bar() {return 2;}
15
16};
17
18struct baz : foo
19{
20  using foo::bar;
21  template<int I>
22  int bar () {return 3;}
23};
24
25int main ()
26{
27  baz b;
28  foo f;
29
30  if (f.bar<1> () != 2)
31    return 1;
32  if (f.bar<int> () != 1)
33    return 2;
34
35  if (b.bar<1> () != 3)
36    return 1;
37  if (b.bar<int> () != 1)
38    return 2;
39
40  return 0;
41}
42