[Lldb-commits] [PATCH] D12303: Fix for dotest.py ERRORs on OSX caused by svn rev.237053.

Dawn Perchik via lldb-commits lldb-commits at lists.llvm.org
Mon Aug 24 16:54:31 PDT 2015


dawn created this revision.
dawn added reviewers: ted, clayborg.
dawn added a subscriber: lldb-commits.
dawn set the repository for this revision to rL LLVM.

This fixes dotest.py on OSX after svn rev.237053.  After that commit, running dotest.py on OSX would return nothing but ERRORs after running test test_disassemble_invalid_vst_1_64_raw_data (TestDisassemble_VST1_64.Disassemble_VST1_64), and the total tests dropped from 1324 to 850.  See my comments in http://reviews.llvm.org/rL237053.

Repository:
  rL LLVM

http://reviews.llvm.org/D12303

Files:
  source/Target/TargetList.cpp

Index: source/Target/TargetList.cpp
===================================================================
--- source/Target/TargetList.cpp
+++ source/Target/TargetList.cpp
@@ -291,27 +291,34 @@
         }
     }
 
-    // If we have a valid architecture, make sure the current platform is
-    // compatible with that architecture
-    if (!prefer_platform_arch && arch.IsValid())
+    if (!platform_sp)
     {
-        if (!platform_sp->IsCompatibleArchitecture(arch, false, &platform_arch))
+        // Get the current platform.
+        platform_sp = debugger.GetPlatformList().GetSelectedPlatform();
+        assert(platform_sp);
+        
+        // If we have a valid architecture, make sure the current platform is
+        // compatible with that architecture
+        if (!prefer_platform_arch && arch.IsValid())
         {
-            platform_sp = Platform::GetPlatformForArchitecture(arch, &platform_arch);
-            if (!is_dummy_target && platform_sp)
-                debugger.GetPlatformList().SetSelectedPlatform(platform_sp);
+            if (!platform_sp->IsCompatibleArchitecture(arch, false, &platform_arch))
+            {
+                platform_sp = Platform::GetPlatformForArchitecture(arch, &platform_arch);
+                if (!is_dummy_target && platform_sp)
+                    debugger.GetPlatformList().SetSelectedPlatform(platform_sp);
+            }
         }
-    }
-    else if (platform_arch.IsValid())
-    {
-        // if "arch" isn't valid, yet "platform_arch" is, it means we have an executable file with
-        // a single architecture which should be used
-        ArchSpec fixed_platform_arch;
-        if (!platform_sp->IsCompatibleArchitecture(platform_arch, false, &fixed_platform_arch))
+        else if (platform_arch.IsValid())
         {
-            platform_sp = Platform::GetPlatformForArchitecture(platform_arch, &fixed_platform_arch);
-            if (!is_dummy_target && platform_sp)
-                debugger.GetPlatformList().SetSelectedPlatform(platform_sp);
+            // if "arch" isn't valid, yet "platform_arch" is, it means we have an executable file with
+            // a single architecture which should be used
+            ArchSpec fixed_platform_arch;
+            if (!platform_sp->IsCompatibleArchitecture(platform_arch, false, &fixed_platform_arch))
+            {
+                platform_sp = Platform::GetPlatformForArchitecture(platform_arch, &fixed_platform_arch);
+                if (!is_dummy_target && platform_sp)
+                    debugger.GetPlatformList().SetSelectedPlatform(platform_sp);
+            }
         }
     }
     


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D12303.33023.patch
Type: text/x-patch
Size: 2632 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20150824/398f313d/attachment.bin>


More information about the lldb-commits mailing list