(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
template/
access37.C
// PR c++/100502

template <class T>
struct EnumeratorRange {
  struct Iterator {
    EnumeratorRange range_;

    friend void f(Iterator i) {
      i.range_.end_reached_;
      i.range_.EnumeratorRange::end_reached_;
      &i.range_.end_reached_;
      &i.range_.EnumeratorRange::end_reached_;
    }
  };

 private:
  bool end_reached_;
#if DECLARE_FRIEND
  friend void f(Iterator);
#endif
};

int main() {
  EnumeratorRange<int>::Iterator i;
  f(i);
}