[PATCH] D85624: [llvm-symbolizer] Add back --version and add a -v alias
Fangrui Song via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 10 08:21:57 PDT 2020
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG0b7f12521966: [llvm-symbolizer] Add back --version and add a -v alias (authored by MaskRay).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D85624/new/
https://reviews.llvm.org/D85624
Files:
llvm/docs/CommandGuide/llvm-symbolizer.rst
llvm/test/tools/llvm-symbolizer/version.test
llvm/tools/llvm-symbolizer/Opts.td
llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
Index: llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
===================================================================
--- llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
+++ llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
@@ -190,9 +190,8 @@
outs() << "\n";
}
-static void printHelp(bool IsAddr2Line, const SymbolizerOptTable &Tbl,
+static void printHelp(StringRef ToolName, const SymbolizerOptTable &Tbl,
raw_ostream &OS) {
- StringRef ToolName = IsAddr2Line ? "llvm-addr2line" : "llvm-symbolizer";
const char HelpText[] = " [options] addresses...";
Tbl.PrintHelp(OS, (ToolName + HelpText).str().c_str(),
ToolName.str().c_str());
@@ -203,6 +202,7 @@
static opt::InputArgList parseOptions(int Argc, char *Argv[], bool IsAddr2Line,
StringSaver &Saver,
SymbolizerOptTable &Tbl) {
+ StringRef ToolName = IsAddr2Line ? "llvm-addr2line" : "llvm-symbolizer";
Tbl.setGroupedShortOptions(true);
// The environment variable specifies initial options which can be overridden
// by commnad line options.
@@ -217,7 +217,12 @@
if (HasError)
exit(1);
if (Args.hasArg(OPT_help)) {
- printHelp(IsAddr2Line, Tbl, outs());
+ printHelp(ToolName, Tbl, outs());
+ exit(0);
+ }
+ if (Args.hasArg(OPT_version)) {
+ outs() << ToolName << '\n';
+ cl::PrintVersionMessage();
exit(0);
}
Index: llvm/tools/llvm-symbolizer/Opts.td
===================================================================
--- llvm/tools/llvm-symbolizer/Opts.td
+++ llvm/tools/llvm-symbolizer/Opts.td
@@ -43,6 +43,7 @@
defm untag_addresses : B<"untag-addresses", "", "Remove memory tags from addresses before symbolization">;
def use_native_pdb_reader : F<"use-native-pdb-reader", "Use native PDB functionality">;
def verbose : F<"verbose", "Print verbose line info">;
+def version : F<"version", "Display the version">;
def : Flag<["-"], "a">, Alias<addresses>, HelpText<"Alias for --addresses">;
def : F<"print-address", "Alias for --addresses">, Alias<addresses>;
@@ -58,6 +59,7 @@
def : F<"inlining", "Alias for --inlines">, Alias<inlines>;
def : Flag<["-"], "p">, Alias<pretty_print>, HelpText<"Alias for --pretty-print">;
def : Flag<["-"], "s">, Alias<basenames>, HelpText<"Alias for --basenames">;
+def : Flag<["-"], "v">, Alias<version>, HelpText<"Alias for --version">;
// Compatibility aliases for old asan_symbolize.py and sanitizer binaries (before 2020-08).
def : Flag<["--"], "inlining=true">, Alias<inlines>, HelpText<"Alias for --inlines">;
Index: llvm/test/tools/llvm-symbolizer/version.test
===================================================================
--- /dev/null
+++ llvm/test/tools/llvm-symbolizer/version.test
@@ -0,0 +1,8 @@
+# RUN: llvm-symbolizer --version | FileCheck %s --check-prefixes=SYMBOLIZER,COMMON
+# RUN: llvm-symbolizer -v | FileCheck %s --check-prefixes=SYMBOLIZER,COMMON
+# RUN: llvm-addr2line --version | FileCheck %s --check-prefixes=ADDR2LINE,COMMON
+# RUN: llvm-addr2line -v | FileCheck %s --check-prefixes=ADDR2LINE,COMMON
+
+# SYMBOLIZER: llvm-symbolizer{{$}}
+# ADDR2LINE: llvm-addr2line{{$}}
+# COMMON: LLVM version {{.*}}
Index: llvm/docs/CommandGuide/llvm-symbolizer.rst
===================================================================
--- llvm/docs/CommandGuide/llvm-symbolizer.rst
+++ llvm/docs/CommandGuide/llvm-symbolizer.rst
@@ -346,7 +346,7 @@
Line: 15
Column: 0
-.. option:: --version
+.. option:: --version, -v
Print version information for the tool.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D85624.284386.patch
Type: text/x-patch
Size: 3587 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200810/8f3563c3/attachment.bin>
More information about the llvm-commits
mailing list