summaryrefslogtreecommitdiffstats
path: root/lldb/source/Symbol/SymbolContext.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/Symbol/SymbolContext.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/Symbol/SymbolContext.cpp')
-rw-r--r--lldb/source/Symbol/SymbolContext.cpp12
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
OpenPOWER on IntegriCloud