diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2015-06-21 13:59:01 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2015-06-21 13:59:01 +0000 |
commit | 3a0822f094b578157263e04114075ad7df81db41 (patch) | |
tree | bc48361fe2cd1ca5f93ac01b38b183774468fc79 /lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp | |
parent | 85d8b2bbe386bcfe669575d05b61482d7be07e5d (diff) |
Diffstat (limited to 'lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp')
-rw-r--r-- | lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp b/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp index 2a5e4f83228b..044eee43c9e7 100644 --- a/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp +++ b/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp @@ -41,8 +41,8 @@ RTDyldMemoryManager::~RTDyldMemoryManager() {} #endif #if HAVE_EHTABLE_SUPPORT -extern "C" void __register_frame(void*); -extern "C" void __deregister_frame(void*); +extern "C" void __register_frame(void *); +extern "C" void __deregister_frame(void *); #else // The building compiler does not have __(de)register_frame but // it may be found at runtime in a dynamically-loaded library. @@ -50,28 +50,28 @@ extern "C" void __deregister_frame(void*); // but using the MingW runtime. void __register_frame(void *p) { static bool Searched = false; - static void *rf = 0; + static void((*rf)(void *)) = 0; if (!Searched) { Searched = true; - rf = llvm::sys::DynamicLibrary::SearchForAddressOfSymbol( - "__register_frame"); + *(void **)&rf = + llvm::sys::DynamicLibrary::SearchForAddressOfSymbol("__register_frame"); } if (rf) - ((void (*)(void *))rf)(p); + rf(p); } void __deregister_frame(void *p) { static bool Searched = false; - static void *df = 0; + static void((*df)(void *)) = 0; if (!Searched) { Searched = true; - df = llvm::sys::DynamicLibrary::SearchForAddressOfSymbol( - "__deregister_frame"); + *(void **)&df = llvm::sys::DynamicLibrary::SearchForAddressOfSymbol( + "__deregister_frame"); } if (df) - ((void (*)(void *))df)(p); + df(p); } #endif |