1 // { dg-do compile { target c++11 } }
2 // { dg-options "-fcompare-debug" }
4 typedef __SIZE_TYPE__ size_t;
7 template < typename _Tp, _Tp __v > struct integral_constant
9 static const _Tp value = __v;
11 typedef integral_constant < bool, false > false_type;
12 template < typename > struct remove_cv;
13 template < typename > struct __is_void_helper:false_type
22 is_void:integral_constant
23 < bool, (__is_void_helper < typename remove_cv < _Tp >::type >::value) >
26 template < typename > struct is_function:false_type
29 template < typename _Tp > struct remove_const
33 template < typename _Tp > struct remove_volatile
37 template < typename _Tp > struct remove_cv
41 remove_const < typename remove_volatile < _Tp >::type >::type type;
43 template < typename > struct is_lvalue_reference:false_type
46 template < typename _Tp, bool = is_void < _Tp >::value > struct __add_rvalue_reference_helper
53 _Tp > struct add_rvalue_reference:__add_rvalue_reference_helper < _Tp >
57 < typename _Tp > typename add_rvalue_reference < _Tp >::type declval ();
62 _To, bool = (is_function < _To >::value) > struct __is_convertible_helper;
66 _From, typename _To > struct __is_convertible_helper <_From, _To, false >
68 static const bool __value = sizeof ((declval < _From > ()));
78 is_convertible:integral_constant
79 < bool, __is_convertible_helper < _From, _To >::__value >
82 template < bool, typename _Tp = void >struct enable_if
86 template < typename _Tp > struct identity
99 < _Tp >::value, _Tp >::type forward (typename identity < _Tp >::type)
104 template < class _T1, class > struct pair
107 template < class _U1, class = typename enable_if < is_convertible < _U1, _T1 >::value >::type > pair (_U1 __x):
109 (forward < _U1 > (__x))
117 template < typename > class new_allocator
124 template < typename _Tp > class allocator:__gnu_cxx::new_allocator < _Tp >
127 template < typename > struct rebind
129 typedef allocator other;
132 template < typename, typename > struct unary_function;
133 template < typename, typename, typename > struct binary_function
136 template < typename _Tp > struct less:binary_function < _Tp, _Tp, bool >
143 > struct _Select1st:unary_function < _Pair, typename _Pair::first_type >
146 template < typename > struct _Rb_tree_node;
153 typename _Compare, typename _Alloc = allocator < _Val > >class _Rb_tree
158 rebind < _Rb_tree_node < _Val > >::other _Node_allocator;
160 typedef _Alloc allocator_type;
161 template < typename _Key_compare > struct _Rb_tree_impl
163 _Rb_tree_impl (_Key_compare, _Node_allocator); // { dg-warning "used but never defined" }
165 _Rb_tree_impl < _Compare > _M_impl;
166 _Rb_tree (_Compare __comp, allocator_type __a):
167 _M_impl (__comp, __a)
171 template < class _E > class initializer_list
173 typedef size_t size_type;
174 typedef _E *iterator;
189 _Key >, typename _Alloc = allocator < pair < _Key, _Tp > > >class multimap
191 typedef _Key key_type;
192 typedef pair < _Key, _Tp > value_type;
193 typedef _Compare key_compare;
194 typedef _Alloc allocator_type;
199 value_type, _Select1st < value_type >, key_compare > _Rep_type;
202 multimap (initializer_list < value_type >, _Compare __comp = _Compare (), allocator_type __a = allocator_type ()):
214 typedef multimap < int, double >Container;