Hi,
Attached patch converts `int array[expr ? -1 : 1]' assertions in C++11
test to static_assert.
Dmitri
--
main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if
(j){printf("%d\n",i);}}} /*Dmitri Gribenko <[email protected]>*/
Index: test/SemaCXX/nullptr.cpp
===================================================================
--- test/SemaCXX/nullptr.cpp (revision 150524)
+++ test/SemaCXX/nullptr.cpp (working copy)
@@ -109,30 +109,30 @@
}
}
-int array0[__is_scalar(nullptr_t)? 1 : -1];
-int array1[__is_pod(nullptr_t)? 1 : -1];
-int array2[sizeof(nullptr_t) == sizeof(void*)? 1 : -1];
+static_assert(__is_scalar(nullptr_t), "");
+static_assert(__is_pod(nullptr_t), "");
+static_assert(sizeof(nullptr_t) == sizeof(void*), "");
-int relational0[nullptr < nullptr? -1 : 1];
-int relational1[nullptr > nullptr? -1 : 1];
-int relational2[nullptr <= nullptr? 1 : -1];
-int relational3[nullptr >= nullptr? 1 : -1];
-int equality[nullptr == nullptr? 1 : -1];
-int inequality[nullptr != nullptr? -1 : 1];
+static_assert(!(nullptr < nullptr), "");
+static_assert(!(nullptr > nullptr), "");
+static_assert( nullptr <= nullptr, "");
+static_assert( nullptr >= nullptr, "");
+static_assert( nullptr == nullptr, "");
+static_assert(!(nullptr != nullptr), "");
-int relational0_a[0 < nullptr? -1 : 1];
-int relational1_a[0 > nullptr? -1 : 1];
-int relational2_a[0 <= nullptr? 1 : -1];
-int relational3_a[0 >= nullptr? 1 : -1];
-int equality_a[0 == nullptr? 1 : -1];
-int inequality_a[0 != nullptr? -1 : 1];
+static_assert(!(0 < nullptr), "");
+static_assert(!(0 > nullptr), "");
+static_assert( 0 <= nullptr, "");
+static_assert( 0 >= nullptr, "");
+static_assert( 0 == nullptr, "");
+static_assert(!(0 != nullptr), "");
-int relationalnullptr_b[nullptr < 0? -1 : 1];
-int relational1_b[nullptr > 0? -1 : 1];
-int relational2_b[nullptr <= 0? 1 : -1];
-int relational3_b[nullptr >= 0? 1 : -1];
-int equality_b[nullptr == 0? 1 : -1];
-int inequality_b[nullptr != 0? -1 : 1];
+static_assert(!(nullptr < 0), "");
+static_assert(!(nullptr > 0), "");
+static_assert( nullptr <= 0, "");
+static_assert( nullptr >= 0, "");
+static_assert( nullptr == 0, "");
+static_assert(!(nullptr != 0), "");
namespace overloading {
int &f1(int*);
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits