// Bug: g++ silently mangles the second 'B' to 'A::B', so the definition is
// lost.
// Build don't link:

struct A {
  enum B { };
};

struct C: public A {
  enum B { };
  void foo (C::B);
};
