diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/cpp0x/nullptr11.C')
-rw-r--r-- | gcc-4.9/gcc/testsuite/g++.dg/cpp0x/nullptr11.C | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/nullptr11.C b/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/nullptr11.C new file mode 100644 index 0000000..f81f0c3 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/nullptr11.C @@ -0,0 +1,39 @@ +// { dg-do compile { target c++11 } } + +// Test relational operators + +#define assert_true(b) do { char c[2 * bool(b) - 1]; } while(0) +#define assert_false(b) do { char c[1 - 2 * bool(b)]; } while(0) + +void fun() +{ + assert_true(nullptr == nullptr); + assert_false(nullptr != nullptr); + assert_false(nullptr < nullptr); + assert_false(nullptr > nullptr); + assert_true(nullptr <= nullptr); + assert_true(nullptr >= nullptr); + + decltype(nullptr) mynull = 0; + + assert_true(mynull == nullptr); + assert_false(mynull != nullptr); + assert_false(mynull < nullptr); + assert_false(mynull > nullptr); + assert_true(mynull <= nullptr); + assert_true(mynull >= nullptr); + + assert_true(nullptr == mynull); + assert_false(nullptr != mynull); + assert_false(nullptr < mynull); + assert_false(nullptr > mynull); + assert_true(nullptr <= mynull); + assert_true(nullptr >= mynull); + + assert_true(mynull == mynull); + assert_false(mynull != mynull); + assert_false(mynull < mynull); + assert_false(mynull > mynull); + assert_true(mynull <= mynull); + assert_true(mynull >= mynull); +} |