// PR c++/6037
// This testcase ICEd because start_enum expected pushtag to insert
// the tag always into current binding level.

struct A
{
  ~A () { }
};

struct B
{
  void foo ()
  {
    switch (0) { default: ; }
    A a;
    enum C { };
    (void) a;
  }
};


syntax highlighted by Code2HTML, v. 0.9.1