ptrmem1.C   [plain text]


// { dg-do compile }

// Copyright (C) 2003 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 2 Aug 2003 <nathan@codesourcery.com>

// PR 11766. ICE

template<typename T>
struct normal_iterator
{
  normal_iterator(const T& __i);
};


template<typename _Tp>
struct vector
{
  void end() const {  normal_iterator<const _Tp*> (this->pt); }
  void size() const { end(); }
  _Tp* pt;
};
  


struct MuonTag {
  typedef void (MuonTag::*Selector)();
};

void foo()
{
  vector<MuonTag::Selector> _selectors;
  _selectors.size();
}