1 // { dg-do compile { target c++11 } } 2 3 // Test relational operators 4 5 #define assert_true(b) do { char c[2 * bool(b) - 1]; } while(0) 6 #define assert_false(b) do { char c[1 - 2 * bool(b)]; } while(0) 7 fun()8void fun() 9 { 10 assert_true(nullptr == nullptr); 11 assert_false(nullptr != nullptr); 12 assert_false(nullptr < nullptr); 13 assert_false(nullptr > nullptr); 14 assert_true(nullptr <= nullptr); 15 assert_true(nullptr >= nullptr); 16 17 decltype(nullptr) mynull = 0; 18 19 assert_true(mynull == nullptr); 20 assert_false(mynull != nullptr); 21 assert_false(mynull < nullptr); 22 assert_false(mynull > nullptr); 23 assert_true(mynull <= nullptr); 24 assert_true(mynull >= nullptr); 25 26 assert_true(nullptr == mynull); 27 assert_false(nullptr != mynull); 28 assert_false(nullptr < mynull); 29 assert_false(nullptr > mynull); 30 assert_true(nullptr <= mynull); 31 assert_true(nullptr >= mynull); 32 33 assert_true(mynull == mynull); 34 assert_false(mynull != mynull); 35 assert_false(mynull < mynull); 36 assert_false(mynull > mynull); 37 assert_true(mynull <= mynull); 38 assert_true(mynull >= mynull); 39 } 40