aboutsummaryrefslogtreecommitdiffstats
path: root/tools/llvm-symbolizer/llvm-symbolizer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/llvm-symbolizer/llvm-symbolizer.cpp')
-rw-r--r--tools/llvm-symbolizer/llvm-symbolizer.cpp15
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;