// Setup for tests that use result of stl namespace test. #if defined(KWSYS_STL_HAVE_STD) # if KWSYS_STL_HAVE_STD # define kwsys_stl std # else # define kwsys_stl # endif #endif #ifdef TEST_KWSYS_STL_HAVE_STD #include void f(std::list*) {} int main() { return 0; } #endif #ifdef TEST_KWSYS_IOS_USE_ANSI #include int main() { return 0; } #endif #ifdef TEST_KWSYS_IOS_HAVE_STD #include void f(std::ostream*) {} int main() { return 0; } #endif #ifdef TEST_KWSYS_IOS_USE_SSTREAM #include int main() { return 0; } #endif #ifdef TEST_KWSYS_IOS_USE_STRSTREAM_H #include int main() { return 0; } #endif #ifdef TEST_KWSYS_IOS_USE_STRSTREA_H #include int main() { return 0; } #endif #ifdef TEST_KWSYS_STL_STRING_HAVE_OSTREAM # include # include void f(ostream& os, const kwsys_stl::string& s) { os << s; } int main() { return 0; } #endif #ifdef TEST_KWSYS_STL_STRING_HAVE_ISTREAM # include # include void f(istream& is, kwsys_stl::string& s) { is >> s; } int main() { return 0; } #endif #ifdef TEST_KWSYS_STL_STRING_HAVE_NEQ_CHAR # include bool f(const kwsys_stl::string& s) { return s != ""; } int main() { return 0; } #endif #ifdef TEST_KWSYS_CXX_HAS_CSTDDEF #include void f(size_t) {} int main() { return 0; } #endif #ifdef TEST_KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS template class A; template int f(A&); template class A { public: // "friend int f<>(A&)" would conform friend int f(A&); private: int x; }; template int f(A& a) { return a.x = 0; } template int f(A&); int main() { A a; return f(a); } #endif #ifdef TEST_KWSYS_CXX_HAS_MEMBER_TEMPLATES template class A { public: U u; A(): u(0) {} template V m(V* p) { return *p = u; } }; int main() { A a; int s = 1; return a.m(&s); } #endif #ifdef TEST_KWSYS_CXX_HAS_FULL_SPECIALIZATION template struct A {}; template <> struct A { static int f() { return 0; } }; int main() { return A::f(); } #endif #ifdef TEST_KWSYS_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP namespace N { class A {}; int f(A*) { return 0; } } void f(void*); int main() { N::A* a = 0; return f(a); } #endif #ifdef TEST_KWSYS_STL_HAS_ITERATOR_TRAITS #include #include void f(kwsys_stl::iterator_traits::iterator>::iterator_category const&) {} int main() { return 0; } #endif #ifdef TEST_KWSYS_STL_HAS_ITERATOR_CATEGORY #include #include void f(kwsys_stl::list::iterator x) { kwsys_stl::iterator_category(x); } int main() { return 0; } #endif #ifdef TEST_KWSYS_STL_HAS___ITERATOR_CATEGORY #include #include void f(kwsys_stl::list::iterator x) { kwsys_stl::__iterator_category(x); } int main() { return 0; } #endif #ifdef TEST_KWSYS_STL_HAS_ALLOCATOR_TEMPLATE #include template void f(const Alloc&) { typedef typename Alloc::size_type alloc_size_type; }; int main() { f(kwsys_stl::allocator()); return 0; } #endif #ifdef TEST_KWSYS_STL_HAS_ALLOCATOR_NONTEMPLATE #include void f(kwsys_stl::allocator::size_type const&) {} int main() { return 0; } #endif #ifdef TEST_KWSYS_STL_HAS_ALLOCATOR_REBIND #include template void f(const T&, const Alloc&) { typedef typename Alloc::template rebind::other alloc_type; }; int main() { f(0, kwsys_stl::allocator()); return 0; } #endif #ifdef TEST_KWSYS_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT #include void f(kwsys_stl::allocator const& a) { a.max_size(sizeof(int)); }; int main() { f(kwsys_stl::allocator()); return 0; } #endif #ifdef TEST_KWSYS_STL_HAS_ALLOCATOR_OBJECTS #include void f(kwsys_stl::vector const& v1) { kwsys_stl::vector(1, 1, v1.get_allocator()); }; int main() { f(kwsys_stl::vector()); return 0; } #endif #ifdef TEST_KWSYS_STAT_HAS_ST_MTIM #include #include #include int main() { struct stat stat1; (void)stat1.st_mtim.tv_sec; (void)stat1.st_mtim.tv_nsec; return 0; } #endif