Changeset 64302 in webkit for trunk/JavaScriptCore/wtf/StdLibExtras.h
- Timestamp:
- Jul 29, 2010, 12:52:22 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/wtf/StdLibExtras.h
r56085 r64302 52 52 #define STRINGIZE_VALUE_OF(exp) STRINGIZE(exp) 53 53 54 /* 55 * The reinterpret_cast<Type1*>([pointer to Type2]) expressions - where 56 * sizeof(Type1) > sizeof(Type2) - cause the following warning on ARM with GCC: 57 * increases required alignment of target type. 58 * 59 * An implicit or an extra static_cast<void*> bypasses the warning. 60 * For more info see the following bugzilla entries: 61 * - https://bugs.webkit.org/show_bug.cgi?id=38045 62 * - http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43976 63 */ 64 #if CPU(ARM) && COMPILER(GCC) 65 template<typename T> 66 T reinterpret_cast_ptr(void* ptr) 67 { 68 ASSERT(!(reinterpret_cast<unsigned int>(ptr) % __alignof__(T))); 69 return reinterpret_cast<T>(ptr); 70 } 71 template<typename T> 72 T reinterpret_cast_ptr(const void* ptr) 73 { 74 ASSERT(!(reinterpret_cast<unsigned int>(ptr) % __alignof__(T))); 75 return reinterpret_cast<T>(ptr); 76 } 77 #else 78 #define reinterpret_cast_ptr reinterpret_cast 79 #endif 80 54 81 namespace WTF { 55 82
Note:
See TracChangeset
for help on using the changeset viewer.