summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core/StreamString.cpp
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>2014-10-10 23:07:36 +0000
committerJason Molenda <jmolenda@apple.com>2014-10-10 23:07:36 +0000
commitaff1b357b0dd8a4035b87ca45df510db0dc9f4ae (patch)
tree9817f5b2e64f086c5e45a936c0bdb953d6b6357e /lldb/source/Core/StreamString.cpp
parent3d4340f8c810a5b8be956e9dff2caaadb3c3a79c (diff)
downloadbcm5719-llvm-aff1b357b0dd8a4035b87ca45df510db0dc9f4ae.tar.gz
bcm5719-llvm-aff1b357b0dd8a4035b87ca45df510db0dc9f4ae.zip
Add a new disassembly-format specification so that the disassembler
output style can be customized. Change the built-in default to be more similar to gdb's disassembly formatting. The disassembly-format for a gdb-like output is ${addr-file-or-load} <${function.name-without-args}${function.concrete-only-addr-offset-no-padding}>: The disassembly-format for the lldb style output is {${function.initial-function}{${module.file.basename}`}{${function.name-without-args}}:\n}{${function.changed}\n{${module.file.basename}`}{${function.name-without-args}}:\n}{${current-pc-arrow} }{${addr-file-or-load}}: The two backticks in the lldb style formatter triggers the sub-expression evaluation in CommandInterpreter::PreprocessCommand() so you can't use that one as-is ... changing to use ' characters instead of ` would work around that. <rdar://problem/9885398> llvm-svn: 219544
Diffstat (limited to 'lldb/source/Core/StreamString.cpp')
-rw-r--r--lldb/source/Core/StreamString.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/lldb/source/Core/StreamString.cpp b/lldb/source/Core/StreamString.cpp
index 8d7d039fd65..ef2b70583eb 100644
--- a/lldb/source/Core/StreamString.cpp
+++ b/lldb/source/Core/StreamString.cpp
@@ -65,6 +65,22 @@ StreamString::GetSize () const
return m_packet.size();
}
+size_t
+StreamString::GetSizeOfLastLine () const
+{
+ const size_t length = m_packet.size();
+ size_t last_line_begin_pos = m_packet.find_last_of("\r\n");
+ if (last_line_begin_pos == std::string::npos)
+ {
+ return length;
+ }
+ else
+ {
+ ++last_line_begin_pos;
+ return length - last_line_begin_pos;
+ }
+}
+
std::string &
StreamString::GetString()
{
OpenPOWER on IntegriCloud