Change a couple of COMPILE_ASSERTs to static_assert
authorandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 16 Sep 2013 17:50:20 +0000 (17:50 +0000)
committerandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 16 Sep 2013 17:50:20 +0000 (17:50 +0000)
https://bugs.webkit.org/show_bug.cgi?id=121441

Reviewed by Andreas Kling.

* wtf/BloomFilter.h:
* wtf/PackedIntVector.h:
(WTF::PackedIntVector::PackedIntVector):
* wtf/StdLibExtras.h:
(WTF::bitwise_cast):
(WTF::safeCast):
(WTF::roundUpToMultipleOf):
* wtf/StringHasher.h:
(WTF::StringHasher::hashMemory):
* wtf/Vector.h:
* wtf/text/AtomicString.cpp:
* wtf/unicode/Unicode.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@155883 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WTF/ChangeLog
Source/WTF/wtf/BloomFilter.h
Source/WTF/wtf/PackedIntVector.h
Source/WTF/wtf/StdLibExtras.h
Source/WTF/wtf/StringHasher.h
Source/WTF/wtf/Vector.h
Source/WTF/wtf/text/AtomicString.cpp
Source/WTF/wtf/unicode/Unicode.h

index 090cf22..7fef2b4 100644 (file)
@@ -1,3 +1,23 @@
+2013-09-16  Anders Carlsson  <andersca@apple.com>
+
+        Change a couple of COMPILE_ASSERTs to static_assert
+        https://bugs.webkit.org/show_bug.cgi?id=121441
+
+        Reviewed by Andreas Kling.
+
+        * wtf/BloomFilter.h:
+        * wtf/PackedIntVector.h:
+        (WTF::PackedIntVector::PackedIntVector):
+        * wtf/StdLibExtras.h:
+        (WTF::bitwise_cast):
+        (WTF::safeCast):
+        (WTF::roundUpToMultipleOf):
+        * wtf/StringHasher.h:
+        (WTF::StringHasher::hashMemory):
+        * wtf/Vector.h:
+        * wtf/text/AtomicString.cpp:
+        * wtf/unicode/Unicode.h:
+
 2013-09-15  Gustavo Noronha Silva  <gns@gnome.org>
 
         Unreviewed make distcheck fix.
index 47628fd..e14cb28 100644 (file)
@@ -37,7 +37,7 @@ template <unsigned keyBits>
 class BloomFilter {
     WTF_MAKE_FAST_ALLOCATED;
 public:
-    COMPILE_ASSERT(keyBits <= 16, bloom_filter_key_size);
+    static_assert(keyBits <= 16, "BloomFilter key size must be less than or equal to 16!");
 
     static const size_t tableSize = 1 << keyBits;
     static const unsigned keyMask = (1 << keyBits) - 1;
index a245f3a..a06d586 100644 (file)
@@ -40,10 +40,11 @@ namespace WTF {
 template<typename T, unsigned bitCount>
 class PackedIntVector {
 public:
+    static_assert(bitCount, "bitCount must not be zero!");
+    static_assert(bitCount < sizeof(void*) * 8, "bitCount must not exceed the address space limit!");
+
     PackedIntVector()
     {
-        COMPILE_ASSERT(bitCount, bitCount_shall_not_be_zero);
-        COMPILE_ASSERT(bitCount < sizeof(void*) * 8, bitCount_shall_not_exceed_address_space_limit);
     }
     
     PackedIntVector(const PackedIntVector& other)
index a3c6f4f..c0932e7 100644 (file)
@@ -129,23 +129,23 @@ inline bool is8ByteAligned(void* p)
 /*
  * C++'s idea of a reinterpret_cast lacks sufficient cojones.
  */
-template<typename TO, typename FROM>
-inline TO bitwise_cast(FROM from)
+template<typename ToType, typename FromType>
+inline ToType bitwise_cast(FromType from)
 {
-    COMPILE_ASSERT(sizeof(TO) == sizeof(FROM), WTF_bitwise_cast_sizeof_casted_types_is_equal);
+    static_assert(sizeof(FromType) == sizeof(ToType), "bitwise_cast size of FromType and ToType must be equal!");
     union {
-        FROM from;
-        TO to;
+        FromType from;
+        ToType to;
     } u;
     u.from = from;
     return u.to;
 }
 
-template<typename To, typename From>
-inline To safeCast(From value)
+template<typename ToType, typename FromType>
+inline ToType safeCast(FromType value)
 {
-    ASSERT(isInBounds<To>(value));
-    return static_cast<To>(value);
+    ASSERT(isInBounds<ToType>(value));
+    return static_cast<ToType>(value);
 }
 
 // Returns a count of the number of bits set in 'bits'.
@@ -171,9 +171,10 @@ inline size_t roundUpToMultipleOf(size_t divisor, size_t x)
     size_t remainderMask = divisor - 1;
     return (x + remainderMask) & ~remainderMask;
 }
+
 template<size_t divisor> inline size_t roundUpToMultipleOf(size_t x)
 {
-    COMPILE_ASSERT(divisor && !(divisor & (divisor - 1)), divisor_is_a_power_of_two);
+    static_assert(divisor && !(divisor & (divisor - 1)), "divisor must be a power of two!");
     return roundUpToMultipleOf(divisor, x);
 }
 
index d9582aa..6431f5b 100644 (file)
@@ -248,7 +248,7 @@ public:
 
     template<size_t length> static unsigned hashMemory(const void* data)
     {
-        COMPILE_ASSERT(!(length % 2), length_must_be_a_multiple_of_two);
+        static_assert(!(length % 2), "length must be a multiple of two!");
         return hashMemory(data, length);
     }
 
index 89c2a5c..7c45105 100644 (file)
@@ -174,7 +174,7 @@ struct VectorFiller<true, T>
 {
     static void uninitializedFill(T* dst, T* dstEnd, const T& val) 
     {
-        COMPILE_ASSERT(sizeof(T) == sizeof(char), Size_of_type_should_be_equal_to_one);
+        static_assert(sizeof(T) == 1, "Size of type T should be equal to one!");
 #if COMPILER(GCC) && defined(_FORTIFY_SOURCE)
         if (!__builtin_constant_p(dstEnd - dst) || (!(dstEnd - dst)))
 #endif
index 8103081..5159b4c 100644 (file)
@@ -40,7 +40,7 @@ namespace WTF {
 
 using namespace Unicode;
 
-COMPILE_ASSERT(sizeof(AtomicString) == sizeof(String), atomic_string_and_string_must_be_same_size);
+static_assert(sizeof(AtomicString) == sizeof(String), "AtomicString and String must be same size!");
 
 #if USE(WEB_THREAD)
 class AtomicStringTableLocker : public SpinLockHolder {
index c764184..bf38e2e 100644 (file)
@@ -36,6 +36,6 @@ typedef unsigned char LChar;
 #error "Unknown Unicode implementation"
 #endif
 
-COMPILE_ASSERT(sizeof(UChar) == 2, UCharIsTwoBytes);
+static_assert(sizeof(UChar) == 2, "UChar must be two bytes!");
 
 #endif // WTF_UNICODE_H