Apple simulator platforms don't have a shared cache to load Objective-C class information from

This code was doing the right thing for the iOS simulator, but not other simulator platforms

Fix it by making the warning not happen for all platforms whose name ends in "-simulator"
Since this code lives in AppleObjCRuntimeV2.cpp, this already only applies to Apple platforms by definition, so I am not too worried about conflicts with other vendors

llvm-svn: 261165
This commit is contained in:
Enrico Granata 2016-02-17 22:14:41 +00:00
parent e8ba2bfd5d
commit 984af07ae5
1 changed files with 2 additions and 8 deletions

View File

@ -60,9 +60,6 @@
#include "AppleObjCDeclVendor.h"
#include "AppleObjCTrampolineHandler.h"
#if defined(__APPLE__)
#include "Plugins/Platform/MacOSX/PlatformiOSSimulator.h"
#endif
using namespace lldb;
using namespace lldb_private;
@ -1803,17 +1800,14 @@ AppleObjCRuntimeV2::WarnIfNoClassesCached ()
if (m_noclasses_warning_emitted)
return;
#if defined(__APPLE__)
if (m_process &&
m_process->GetTarget().GetPlatform() &&
m_process->GetTarget().GetPlatform()->GetPluginName() == PlatformiOSSimulator::GetPluginNameStatic())
m_process->GetTarget().GetPlatform()->GetPluginName().GetStringRef().endswith("-simulator"))
{
// the iOS simulator does not have the objc_opt_ro class table
// so don't actually complain to the user
// Simulators do not have the objc_opt_ro class table so don't actually complain to the user
m_noclasses_warning_emitted = true;
return;
}
#endif
Debugger &debugger(GetProcess()->GetTarget().GetDebugger());