diff options
author | Hemant Kulkarni <khemant@codeaurora.org> | 2015-11-11 20:41:43 +0000 |
---|---|---|
committer | Hemant Kulkarni <khemant@codeaurora.org> | 2015-11-11 20:41:43 +0000 |
commit | bdce12a01bcb9e2f99c2092be4a1a1777a38385d (patch) | |
tree | e4a6b60f80e72a2514732121b9ac6ee72c631bb3 /llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp | |
parent | 932d88ca051787a2db9e8bcd06a09100c03980cd (diff) | |
download | bcm5719-llvm-bdce12a01bcb9e2f99c2092be4a1a1777a38385d.tar.gz bcm5719-llvm-bdce12a01bcb9e2f99c2092be4a1a1777a38385d.zip |
[Symbolizer]: Add -pretty-print option
Differential Revision: http://reviews.llvm.org/D13671
llvm-svn: 252798
Diffstat (limited to 'llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp')
-rw-r--r-- | llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp index d0ef51e6f17..e45660c84c7 100644 --- a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp +++ b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp @@ -78,6 +78,10 @@ static cl::opt<bool> ClPrintAddress("print-address", cl::init(false), cl::desc("Show address before line information")); +static cl::opt<bool> + ClPrettyPrint("pretty-print", cl::init(false), + cl::desc("Make the output more human friendly")); + static bool error(std::error_code ec) { if (!ec) return false; @@ -143,6 +147,7 @@ int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv, "llvm-symbolizer\n"); LLVMSymbolizer::Options Opts(ClPrintFunctions, ClUseSymbolTable, ClDemangle, ClUseRelativeAddress, ClDefaultArch); + for (const auto &hint : ClDsymHint) { if (sys::path::extension(hint) == ".dSYM") { Opts.DsymHints.push_back(hint); @@ -156,13 +161,15 @@ int main(int argc, char **argv) { bool IsData = false; std::string ModuleName; uint64_t ModuleOffset; - DIPrinter Printer(outs(), ClPrintFunctions != FunctionNameKind::None); + DIPrinter Printer(outs(), ClPrintFunctions != FunctionNameKind::None, + ClPrettyPrint); while (parseCommand(IsData, ModuleName, ModuleOffset)) { if (ClPrintAddress) { outs() << "0x"; outs().write_hex(ModuleOffset); - outs() << "\n"; + StringRef Delimiter = (ClPrettyPrint == true) ? ": " : "\n"; + outs() << Delimiter; } if (IsData) { auto ResOrErr = Symbolizer.symbolizeData(ModuleName, ModuleOffset); |