1 // { dg-additional-options -fmodule-header }
2 // { dg-module-cmi {} }
3 
4 template<typename _Iterator>
5 struct reverse_iterator
6 {
7   _Iterator base() const;
8 };
9 
10 template<typename _Iterator>
11 reverse_iterator<_Iterator> __make_reverse_iterator (_Iterator __i);
12 
13 template<typename _Iterator>
14 auto __niter_base(reverse_iterator<_Iterator> __it)
15   -> decltype (__make_reverse_iterator(__niter_base(__it.base())))
16 { return __make_reverse_iterator(__niter_base(__it.base())); }
17