1// PR c++/23691
2
3namespace std {
4  class type_info {
5    bool operator==(const type_info& __arg) const;
6  };
7}
8template <class T, T val> struct integral_constant {
9  static const T value = val;
10};
11template< typename T > struct is_integral : integral_constant<bool,false> {};
12template <bool B>   struct enable_if_c {};
13template<typename Functor>
14typename enable_if_c<(is_integral<Functor>::value)>::type
15operator==(const int& f, Functor g);
16template<class D>
17int get_deleter( std::type_info const & ti )
18{
19  return ti == typeid(D);
20}
21