diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/expr/ptrmem1.C')
-rw-r--r-- | gcc/testsuite/g++.dg/expr/ptrmem1.C | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/expr/ptrmem1.C b/gcc/testsuite/g++.dg/expr/ptrmem1.C new file mode 100644 index 000000000..146143a1e --- /dev/null +++ b/gcc/testsuite/g++.dg/expr/ptrmem1.C @@ -0,0 +1,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(); +} |