blob: 00473be72f6ca94e899d70bbd66c7c7e74f296e8 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2 -fcompare-debug" } */
/* { dg-xfail-if "AIX compare debug" { powerpc-ibm-aix* } } */
namespace std
{
typedef long unsigned int size_t;
inline namespace __cxx11
{
} }
extern "C++"
{
namespace std
{
template < typename _Tp > struct __is_char
{
};
template <> struct __is_char <char >
{
enum
{ __value = 1 };
};
} namespace __gnu_cxx
{
template < bool, typename > struct __enable_if
{
};
template < typename _Tp > struct __enable_if <true, _Tp >
{
typedef _Tp __type;
};
}
}
namespace __gnu_cxx
{
template < typename _Tp > class new_allocator
{
};
}
namespace std
{
template < typename _Tp > using __allocator_base =
__gnu_cxx::new_allocator < _Tp >;
template < typename _Tp > class allocator:public __allocator_base < _Tp >
{
};
template < typename _Alloc > struct allocator_traits
{
};
template < typename _Tp > struct allocator_traits <allocator < _Tp >>
{
using size_type = std::size_t;
template < typename _Up > using rebind_alloc = allocator < _Up >;
};
}
namespace __gnu_cxx
{
template < typename _Alloc > struct __alloc_traits:std::allocator_traits <_Alloc >
{
typedef std::allocator_traits < _Alloc > _Base_type;
template < typename _Tp > struct rebind
{
typedef typename _Base_type::template rebind_alloc < _Tp > other;
};
};
}
namespace std
{
template < class _CharT > struct char_traits;
namespace __cxx11
{
template < typename _CharT, typename _Traits =
char_traits < _CharT >, typename _Alloc =
allocator < _CharT > >class basic_string;
typedef basic_string < char >string;
}
}
namespace std
{
template <> struct char_traits <char >
{
typedef char char_type;
static int compare (const char_type * __s1, const char_type * __s2,
size_t __n)
{
return __builtin_memcmp (__s1, __s2, __n);
}
};
namespace __cxx11
{
template < typename _CharT, typename _Traits, typename _Alloc >
class basic_string
{
typedef typename __gnu_cxx::__alloc_traits <_Alloc >::template rebind < _CharT >::other _Char_alloc_type;
typedef __gnu_cxx::__alloc_traits < _Char_alloc_type > _Alloc_traits;
typedef typename _Alloc_traits::size_type size_type;
public:
size_type size ()const noexcept
{
return 0;
}
const _CharT *data () const noexcept
{
return 0;
}
};
}
template < typename _CharT > inline typename __gnu_cxx::__enable_if <
__is_char < _CharT >::__value,
bool >::__type operator== (const basic_string < _CharT > &__lhs,
const basic_string < _CharT > &__rhs) noexcept
{
return !std::char_traits < _CharT >::compare (__lhs.data (),
__rhs.data (),
__lhs.size ());
}
};
class CLIParameterType
{
const std::string & getSwitchOption (unsigned int i) const
{
static std::string a;
return a;
}
unsigned int getSwitchOptionCount () const
{
return 0;
}
int checkSwitched (const std::string & value) const;
};
int
CLIParameterType::checkSwitched (const std::string & value) const
{
int contains = false;
for (unsigned int i = 0; !contains && i < getSwitchOptionCount () ;)
contains = getSwitchOption (i) == value;
return 0;
}