1// { dg-do assemble  }
2
3// Copyright (C) 2000 Free Software Foundation, Inc.
4// Contributed by Nathan Sidwell 14 Nov 2000 <nathan@codesourcery.com>
5
6// We rejected using decls bringing in functions from a base which would hide a
7// nested class of the same name, but only if we had no functions by that name
8// already. Also, we failed to find that using declaration during lookup. Also
9// we failed to reject using declarations which matched the constructor name.
10
11struct A
12{
13  int f ();
14  void D ();
15};
16
17struct A2 {
18  typedef int f;
19};
20
21struct B : A
22{
23  using A::f;
24  struct f {};
25};
26
27struct C : A
28{
29  using A::f;
30  int f (int);
31  struct f {};
32};
33
34void foo (B *bp, C* cp)
35{
36  bp->f ();
37  cp->f ();
38}
39
40struct D : A
41{
42  using A::D;   // { dg-error "" } names constructor
43};
44