diff options
| author | Jason Molenda <jmolenda@apple.com> | 2014-10-10 23:07:36 +0000 |
|---|---|---|
| committer | Jason Molenda <jmolenda@apple.com> | 2014-10-10 23:07:36 +0000 |
| commit | aff1b357b0dd8a4035b87ca45df510db0dc9f4ae (patch) | |
| tree | 9817f5b2e64f086c5e45a936c0bdb953d6b6357e /lldb/source/Symbol/SymbolContext.cpp | |
| parent | 3d4340f8c810a5b8be956e9dff2caaadb3c3a79c (diff) | |
| download | bcm5719-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/Symbol/SymbolContext.cpp')
| -rw-r--r-- | lldb/source/Symbol/SymbolContext.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/lldb/source/Symbol/SymbolContext.cpp b/lldb/source/Symbol/SymbolContext.cpp index 0e390dd08c5..129f4def006 100644 --- a/lldb/source/Symbol/SymbolContext.cpp +++ b/lldb/source/Symbol/SymbolContext.cpp @@ -128,7 +128,8 @@ SymbolContext::DumpStopContext const Address &addr, bool show_fullpaths, bool show_module, - bool show_inlined_frames + bool show_inlined_frames, + bool show_function_arguments ) const { bool dumped_something = false; @@ -146,7 +147,12 @@ SymbolContext::DumpStopContext { SymbolContext inline_parent_sc; Address inline_parent_addr; - if (function->GetMangled().GetName()) + if (show_function_arguments == false && function->GetMangled().GetName(Mangled::ePreferDemangledWithoutArguments)) + { + dumped_something = true; + function->GetMangled().GetName(Mangled::ePreferDemangledWithoutArguments).Dump(s); + } + else if (function->GetMangled().GetName()) { dumped_something = true; function->GetMangled().GetName().Dump(s); @@ -188,7 +194,7 @@ SymbolContext::DumpStopContext { s->EOL(); s->Indent(); - return inline_parent_sc.DumpStopContext (s, exe_scope, inline_parent_addr, show_fullpaths, show_module, show_inlined_frames); + return inline_parent_sc.DumpStopContext (s, exe_scope, inline_parent_addr, show_fullpaths, show_module, show_inlined_frames, show_function_arguments); } } else |

