[Lldb-commits] [lldb] r261165 - Apple simulator platforms don't have a shared cache to load Objective-C class information from

Enrico Granata via lldb-commits lldb-commits at lists.llvm.org
Wed Feb 17 14:14:41 PST 2016


Author: enrico
Date: Wed Feb 17 16:14:41 2016
New Revision: 261165

URL: http://llvm.org/viewvc/llvm-project?rev=261165&view=rev
Log:
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


Modified:
    lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp

Modified: lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp?rev=261165&r1=261164&r2=261165&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp (original)
+++ lldb/trunk/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp Wed Feb 17 16:14:41 2016
@@ -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::WarnIfNoClassesCache
     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());
     




More information about the lldb-commits mailing list