libBacktraceRecording __introspection_dispatch_queue_get_pending_items is
changing the data it returns; this change accepts either the old format or
the new format.  It doesn't yet benefit from the new format's additions -
but I need to get this checked in so we aren't rev-locked.
Also add a missing .i entry for SBQueue::GetNumRunningItems() missing from
the last checkin.
<rdar://problem/16272115> 

llvm-svn: 203421
diff --git a/lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.h b/lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.h
index a308844..c20f19c 100644
--- a/lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.h
+++ b/lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.h
@@ -188,6 +188,23 @@
         }
     };
 
+
+    // The libBacktraceRecording function __introspection_dispatch_queue_get_pending_items has
+    // two forms.  It can either return a simple array of item_refs (void *) size or it can return
+    // a header with uint32_t version, a uint32_t size of item, and then an array of item_refs (void*)
+    // and code addresses (void*) for all the pending blocks.
+
+    struct ItemRefAndCodeAddress {
+        lldb::addr_t    item_ref;
+        lldb::addr_t    code_address;
+    };  
+
+    struct PendingItemsForQueue {
+        bool new_style;              // new-style means both item_refs and code_addresses avail
+                                     // old-style means only item_refs is filled in
+        std::vector<ItemRefAndCodeAddress> item_refs_and_code_addresses;
+    };  
+
     bool
     BacktraceRecordingHeadersInitialized ();
 
@@ -197,7 +214,7 @@
     void
     ReadLibdispatchOffsets ();
 
-    std::vector<lldb::addr_t>
+    PendingItemsForQueue
     GetPendingItemRefsForQueue (lldb::addr_t queue);
 
     ItemInfo