From: mrowe@apple.com Date: Wed, 5 Dec 2007 22:29:05 +0000 (+0000) Subject: Build fix for GCC 4.2. Cast via a union to avoid strict-aliasing issues. X-Git-Url: https://git.webkit.org/?p=WebKit-https.git;a=commitdiff_plain;h=40c7a4e60f2062345fbc1ac6d9771a88fbe4bba4 Build fix for GCC 4.2. Cast via a union to avoid strict-aliasing issues. Reviewed by Oliver. git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28455 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog index 9e44520bd505..d0294130efd8 100644 --- a/JavaScriptCore/ChangeLog +++ b/JavaScriptCore/ChangeLog @@ -1,3 +1,13 @@ +2007-12-05 Mark Rowe + + Reviewed by Oliver. + + Build fix for GCC 4.2. Cast via a union to avoid strict-aliasing issues. + + * wtf/FastMalloc.cpp: + (WTF::): + (WTF::getPageHeap): + 2007-12-05 Mark Rowe Reviewed by Darin. diff --git a/JavaScriptCore/wtf/FastMalloc.cpp b/JavaScriptCore/wtf/FastMalloc.cpp index af2e760e128a..ed819435492e 100644 --- a/JavaScriptCore/wtf/FastMalloc.cpp +++ b/JavaScriptCore/wtf/FastMalloc.cpp @@ -1835,7 +1835,18 @@ static bool phinited = false; // Avoid extra level of indirection by making "pageheap" be just an alias // of pageheap_memory. -#define pageheap ((TCMalloc_PageHeap*) pageheap_memory) +typedef union { + void* m_memory; + TCMalloc_PageHeap* m_pageHeap; +} PageHeapUnion; + +static inline TCMalloc_PageHeap* getPageHeap() +{ + PageHeapUnion u = { &pageheap_memory[0] }; + return u.m_pageHeap; +} + +#define pageheap getPageHeap() // If TLS is available, we also store a copy // of the per-thread object in a __thread variable