Use '__typeof__' keyword to avoid problems when compiling in C++11 standard compliance
authorzandobersek@gmail.com <zandobersek@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 21 May 2013 06:11:34 +0000 (06:11 +0000)
committerzandobersek@gmail.com <zandobersek@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 21 May 2013 06:11:34 +0000 (06:11 +0000)
https://bugs.webkit.org/show_bug.cgi?id=116447

Reviewed by Darin Adler.

The 'typeof' keyword is a GNU C extension which becomes unavailable when compiling in ANSI or specific standard mode
(such as -std=c++11). The '__typeof__' keyword should be used instead as it's available in all modes both under GCC and Clang.

* wtf/FastMalloc.cpp:
(WTF): Replace the 'typeof' keyword with '__typeof__'.

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

Source/WTF/ChangeLog
Source/WTF/wtf/FastMalloc.cpp

index 5e648fb..506f8ca 100644 (file)
@@ -1,3 +1,16 @@
+2013-05-20  Zan Dobersek  <zdobersek@igalia.com>
+
+        Use '__typeof__' keyword to avoid problems when compiling in C++11 standard compliance
+        https://bugs.webkit.org/show_bug.cgi?id=116447
+
+        Reviewed by Darin Adler.
+
+        The 'typeof' keyword is a GNU C extension which becomes unavailable when compiling in ANSI or specific standard mode
+        (such as -std=c++11). The '__typeof__' keyword should be used instead as it's available in all modes both under GCC and Clang.
+
+        * wtf/FastMalloc.cpp:
+        (WTF): Replace the 'typeof' keyword with '__typeof__'.
+
 2013-05-19  Anders Carlsson  <andersca@apple.com>
 
         Remove link prerendering code
 2013-05-19  Anders Carlsson  <andersca@apple.com>
 
         Remove link prerendering code
index 0b46107..667b2ee 100644 (file)
@@ -555,7 +555,7 @@ static ALWAYS_INLINE uintptr_t internalEntropyValue()
 
 #define HARDENING_ENTROPY internalEntropyValue()
 #define ROTATE_VALUE(value, amount) (((value) >> (amount)) | ((value) << (sizeof(value) * 8 - (amount))))
 
 #define HARDENING_ENTROPY internalEntropyValue()
 #define ROTATE_VALUE(value, amount) (((value) >> (amount)) | ((value) << (sizeof(value) * 8 - (amount))))
-#define XOR_MASK_PTR_WITH_KEY(ptr, key, entropy) (reinterpret_cast<typeof(ptr)>(reinterpret_cast<uintptr_t>(ptr)^(ROTATE_VALUE(reinterpret_cast<uintptr_t>(key), MaskKeyShift)^entropy)))
+#define XOR_MASK_PTR_WITH_KEY(ptr, key, entropy) (reinterpret_cast<__typeof__(ptr)>(reinterpret_cast<uintptr_t>(ptr)^(ROTATE_VALUE(reinterpret_cast<uintptr_t>(key), MaskKeyShift)^entropy)))
 
 
 static ALWAYS_INLINE uint32_t freedObjectStartPoison()
 
 
 static ALWAYS_INLINE uint32_t freedObjectStartPoison()