summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/tools/lldb/source/API/SBQueueItem.cpp
diff options
context:
space:
mode:
authoremaste <emaste@FreeBSD.org>2014-02-26 16:09:54 +0000
committeremaste <emaste@FreeBSD.org>2014-02-26 16:09:54 +0000
commiteaac5257ea0c95c2633356bbc4e58c02b2436a5e (patch)
tree2051bbbd01801966a37ebc937a241c33ca0e6b79 /contrib/llvm/tools/lldb/source/API/SBQueueItem.cpp
parentaf7c4f180d96b0bba7dc310bf6c5f36e292ad4b4 (diff)
parent6c70565c062addb40f7377f4097af94a515fc49d (diff)
downloadFreeBSD-src-eaac5257ea0c95c2633356bbc4e58c02b2436a5e.zip
FreeBSD-src-eaac5257ea0c95c2633356bbc4e58c02b2436a5e.tar.gz
Update LLDB snapshot to upstream r202189
Highlights include (upstream revs in parens): - Improvements to the remote GDB protocol client (r196610, r197579, r197857, r200072, and others) - Bug fixes for big-endian targets (r196808) - Initial support for libdispatch (GCD) queues in the debuggee (r197190) - Add "step-avoid-libraries" setting (r199943) - IO subsystem improvements (including initial work on a curses gui) (r200263) - Support hardware watchpoints on FreeBSD (r201706) - Improved unwinding through hand-written assembly functions (r201839) - Handle DW_TAG_unspecified_parameters for variadic functions (r202061) - Fix Ctrl+C interrupting a running inferior process (r202086, r202154) - Various bug fixes for memory leaks, LLDB segfaults, the C++ demangler, ELF core files, DWARF debug info, and others. Sponsored by: DARPA, AFRL
Diffstat (limited to 'contrib/llvm/tools/lldb/source/API/SBQueueItem.cpp')
-rw-r--r--contrib/llvm/tools/lldb/source/API/SBQueueItem.cpp120
1 files changed, 120 insertions, 0 deletions
diff --git a/contrib/llvm/tools/lldb/source/API/SBQueueItem.cpp b/contrib/llvm/tools/lldb/source/API/SBQueueItem.cpp
new file mode 100644
index 0000000..481d51e
--- /dev/null
+++ b/contrib/llvm/tools/lldb/source/API/SBQueueItem.cpp
@@ -0,0 +1,120 @@
+//===-- SBQueueItem.cpp -----------------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "lldb/lldb-python.h"
+#include "lldb/lldb-forward.h"
+
+#include "lldb/API/SBAddress.h"
+#include "lldb/API/SBQueueItem.h"
+#include "lldb/API/SBThread.h"
+#include "lldb/Core/Address.h"
+#include "lldb/Target/QueueItem.h"
+#include "lldb/Target/Thread.h"
+
+using namespace lldb;
+using namespace lldb_private;
+
+//----------------------------------------------------------------------
+// Constructors
+//----------------------------------------------------------------------
+SBQueueItem::SBQueueItem () :
+ m_queue_item_sp()
+{
+}
+
+SBQueueItem::SBQueueItem (const QueueItemSP& queue_item_sp) :
+ m_queue_item_sp (queue_item_sp)
+{
+}
+
+//----------------------------------------------------------------------
+// Destructor
+//----------------------------------------------------------------------
+SBQueueItem::~SBQueueItem()
+{
+ m_queue_item_sp.reset();
+}
+
+bool
+SBQueueItem::IsValid() const
+{
+ return m_queue_item_sp.get() != NULL;
+}
+
+
+void
+SBQueueItem::Clear ()
+{
+ m_queue_item_sp.reset();
+}
+
+
+void
+SBQueueItem::SetQueueItem (const QueueItemSP& queue_item_sp)
+{
+ m_queue_item_sp = queue_item_sp;
+}
+
+
+lldb::QueueItemKind
+SBQueueItem::GetKind () const
+{
+ QueueItemKind result = eQueueItemKindUnknown;
+ if (m_queue_item_sp)
+ {
+ result = m_queue_item_sp->GetKind ();
+ }
+ return result;
+}
+
+void
+SBQueueItem::SetKind (lldb::QueueItemKind kind)
+{
+ if (m_queue_item_sp)
+ {
+ m_queue_item_sp->SetKind (kind);
+ }
+}
+
+SBAddress
+SBQueueItem::GetAddress () const
+{
+ SBAddress result;
+ if (m_queue_item_sp)
+ {
+ result.SetAddress (&m_queue_item_sp->GetAddress());
+ }
+ return result;
+}
+
+void
+SBQueueItem::SetAddress (SBAddress addr)
+{
+ if (m_queue_item_sp)
+ {
+ m_queue_item_sp->SetAddress (addr.ref());
+ }
+}
+
+SBThread
+SBQueueItem::GetExtendedBacktraceThread (const char *type)
+{
+ SBThread result;
+ if (m_queue_item_sp)
+ {
+ ThreadSP thread_sp;
+ ConstString type_const (type);
+ thread_sp = m_queue_item_sp->GetExtendedBacktraceThread (type_const);
+ if (thread_sp)
+ {
+ result.SetThread (thread_sp);
+ }
+ }
+ return result;
+}
OpenPOWER on IntegriCloud