| /* { 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; |
| } |