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