// { dg-do assemble  }
// GROUPS passed templates
template <class ET>
class ChainElem {
public:
  
  ET data;
};

template <class ET>
class Chain {
public:

  ChainElem<ET> *first;

  virtual ~Chain() {}

};

struct B {
};

struct X : B {
  ~X ();
};

struct TBNFexpression {
};

struct TCaseLabelPair {
};

struct TVariant {  
  Chain<TCaseLabelPair> CaseLabelList;
};

struct TCaseConstruct {
  Chain<TBNFexpression> TagFieldPrefixes;
  Chain<TVariant> Variants;
};

struct Production {
  X TypeName;
};

struct SimpleSyntax {
  Chain<Production> Productions;
};
