diff options
Diffstat (limited to 'tools/llvm-symbolizer/llvm-symbolizer.cpp')
-rw-r--r-- | tools/llvm-symbolizer/llvm-symbolizer.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/tools/llvm-symbolizer/llvm-symbolizer.cpp b/tools/llvm-symbolizer/llvm-symbolizer.cpp index 83f5c5e..29db172 100644 --- a/tools/llvm-symbolizer/llvm-symbolizer.cpp +++ b/tools/llvm-symbolizer/llvm-symbolizer.cpp @@ -35,10 +35,15 @@ ClUseSymbolTable("use-symbol-table", cl::init(true), cl::desc("Prefer names in symbol table to names " "in debug info")); -static cl::opt<bool> -ClPrintFunctions("functions", cl::init(true), - cl::desc("Print function names as well as line " - "information for a given address")); +static cl::opt<FunctionNameKind> ClPrintFunctions( + "functions", cl::init(FunctionNameKind::LinkageName), + cl::desc("Print function name for a given address:"), + cl::values(clEnumValN(FunctionNameKind::None, "none", "omit function name"), + clEnumValN(FunctionNameKind::ShortName, "short", + "print short function name"), + clEnumValN(FunctionNameKind::LinkageName, "linkage", + "print function linkage name"), + clEnumValEnd)); static cl::opt<bool> ClPrintInlining("inlining", cl::init(true), @@ -85,7 +90,7 @@ static bool parseCommand(bool &IsData, std::string &ModuleName, char quote = *pos; pos++; char *end = strchr(pos, quote); - if (end == 0) + if (!end) return false; ModuleName = std::string(pos, end - pos); pos = end + 1; |