/* TAGS: c++ */ /* VERIFY_OPTS: -o nofail:malloc */ //===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is dual licensed under the MIT and the University of Illinois Open // Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // template // bool operator< (const forward_list& x, // const forward_list& y); // // template // bool operator> (const forward_list& x, // const forward_list& y); // // template // bool operator>=(const forward_list& x, // const forward_list& y); // // template // bool operator<=(const forward_list& x, // const forward_list& y); #include #include #include #include #include "min_allocator.h" template void test(int N, int M) { typedef typename C::value_type T; C c1; for (int i = 0; i < N; ++i) c1.push_front(i); C c2; for (int i = 0; i < M; ++i) c2.push_front(i); if (N < M) assert(c1 < c2); if (N <= M) assert(c1 <= c2); if (N >= M) assert(c1 >= c2); if (N > M) assert(c1 > c2); } int main() { for (int i = 0; i < 10; ++i) for (int j = 0; j < 10; ++j) test >(i, j); #if __cplusplus >= 201103L for (int i = 0; i < 10; ++i) for (int j = 0; j < 10; ++j) test> >(i, j); #endif }