aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/expr/ptrmem1.C
blob: 146143a1e825ffc078990ef247ca35de4f796d91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// { 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();
}