1 // { dg-additional-options {-std=c++2a -fmodule-header} }
2 // { dg-module-cmi {}
3 
4 #include "pr99283-6.h"
5 
6 template<typename _IteratorL, typename _IteratorR>
7 constexpr bool
8   operator<(const reverse_iterator<_IteratorL>& __x,
9 	    const reverse_iterator<_IteratorR>& __y);
10 
11 template<typename _Tp>
12   struct numeric_limits;
13 
14 class __max_size_type
15 {
16 public:
17   template<typename _Tp>
18   constexpr
__max_size_type(_Tp __i)19     __max_size_type(_Tp __i) noexcept
20       : _M_val(__i), _M_msb(__i < 0)
21   { }
22 
23   using __rep = __UINT64_TYPE__;
24 private:
25   __rep _M_val = 0;
26   unsigned _M_msb:1 = 0;
27 };
28 
29 class __max_diff_type
30 {
31 private:
32   __max_size_type _M_rep = 0;
33 };
34