From df667ed8520c824abcb951d1e78882e0fd288118 Mon Sep 17 00:00:00 2001 From: Eugene Zemtsov Date: Fri, 13 Feb 2015 15:40:00 -0800 Subject: [PATCH] Improve workaround description and limit it to just MS compiler [tfs-changeset: 1415470] --- src/debug/di/process.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/debug/di/process.cpp b/src/debug/di/process.cpp index 7f243a8..fcf9d8f 100644 --- a/src/debug/di/process.cpp +++ b/src/debug/di/process.cpp @@ -9742,9 +9742,10 @@ void CordbProcess::MarshalManagedEvent(DebuggerIPCEvent * pManagedEvent) // The event still needs to be Marshaled before being used. (see code:CordbProcess::MarshalManagedEvent) // //--------------------------------------------------------------------------------------- -#ifdef _TARGET_ARM_ -// This is a temporary workaround for an ARM specific C++ compiler bug. -// It should be removed once the bug is fixed. +#if defined(_MSC_VER) && defined(_TARGET_ARM_) +// This is a temporary workaround for an ARM specific MS C++ compiler bug (internal LKG build 18.1). +// Branch < if (ptrRemoteManagedEvent == NULL) > was always taken and the function always returned false. +// TODO: It should be removed once the bug is fixed. #pragma optimize("", off) #endif bool CordbProcess::CopyManagedEventFromTarget( @@ -9793,7 +9794,7 @@ bool CordbProcess::CopyManagedEventFromTarget( return true; } -#ifdef _TARGET_ARM_ +#if defined(_MSC_VER) && defined(_TARGET_ARM_) #pragma optimize("", on) #endif -- 2.7.4