Files
llvm/lldb/source/Target/StackID.cpp
Greg Clayton 0445d8f498 Cleaned up the inline stack frame code one more time to prepare for inlined
code stepping. Also we now store the stack frames for the current and previous
stops in the thread in std::auto_ptr objects. When we create a thread stack
frame list we pass the previous frame into it so it can re-use the frames
and maintain will allow for variable changes to be detected. I will implement
the stack frame reuse next.

llvm-svn: 112152
2010-08-26 02:28:22 +00:00

43 lines
1.3 KiB
C++

//===-- StackID.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/Target/StackID.h"
// C Includes
// C++ Includes
// Other libraries and framework includes
// Project includes
using namespace lldb_private;
bool
lldb_private::operator== (const StackID& lhs, const StackID& rhs)
{
return lhs.GetCallFrameAddress() == rhs.GetCallFrameAddress() &&
lhs.GetInlineBlockID() == rhs.GetInlineBlockID() &&
lhs.GetStartAddress() == rhs.GetStartAddress();
}
bool
lldb_private::operator!= (const StackID& lhs, const StackID& rhs)
{
return lhs.GetCallFrameAddress() != rhs.GetCallFrameAddress() ||
lhs.GetInlineBlockID() != rhs.GetInlineBlockID() ||
lhs.GetStartAddress() != rhs.GetStartAddress();
}
bool
lldb_private::operator< (const StackID& lhs, const StackID& rhs)
{
if (lhs.GetCallFrameAddress() < rhs.GetCallFrameAddress())
return true;
return lhs.GetInlineBlockID() < rhs.GetInlineBlockID();
}