diff --git a/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp b/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp index 3fbca3506eb..e39acc7ee14 100644 --- a/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp +++ b/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp @@ -265,8 +265,8 @@ RTDyldMemoryManager::getSymbolAddressInProcess(const std::string &Name) { const char *NameStr = Name.c_str(); // DynamicLibrary::SearchForAddresOfSymbol expects an unmangled 'C' symbol - // name so if we're on Darwin or 32-bit Windows, strip the leading '_' off. -#if defined(__APPLE__) || (defined(_WIN32) && !defined(_WIN64)) + // name so ff we're on Darwin, strip the leading '_' off. +#ifdef __APPLE__ if (NameStr[0] == '_') ++NameStr; #endif diff --git a/unittests/ExecutionEngine/ExecutionEngineTest.cpp b/unittests/ExecutionEngine/ExecutionEngineTest.cpp index 798f5ae3575..7cad8413069 100644 --- a/unittests/ExecutionEngine/ExecutionEngineTest.cpp +++ b/unittests/ExecutionEngine/ExecutionEngineTest.cpp @@ -139,8 +139,8 @@ TEST_F(ExecutionEngineTest, LookupWithMangledAndDemangledSymbol) { // RTDyldMemoryManager::getSymbolAddressInProcess expects a mangled symbol, // but DynamicLibrary is a wrapper for dlsym, which expects the unmangled C // symbol name. This test verifies that getSymbolAddressInProcess strips the - // leading '_' on Darwin and 32-bit Windows, but not on other platforms. -#if defined(__APPLE__) || (defined(_WIN32) && !defined(_WIN64)) + // leading '_' on Darwin, but not on other platforms. +#ifdef __APPLE__ EXPECT_EQ(reinterpret_cast(&x), RTDyldMemoryManager::getSymbolAddressInProcess("_x")); #else