[llvm-symbolizer] Unhide and document the "-output-style" option
With the latest changes, the option gets useful for users of
llvm-symbolizer, not only for the upcoming llvm-addr2line.
Differential Revision: https://reviews.llvm.org/D60816
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358748 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/docs/CommandGuide/llvm-symbolizer.rst b/docs/CommandGuide/llvm-symbolizer.rst
index b794f56..4dd6d9b 100644
--- a/docs/CommandGuide/llvm-symbolizer.rst
+++ b/docs/CommandGuide/llvm-symbolizer.rst
@@ -128,6 +128,37 @@
Add the specified offset to object file addresses when performing lookups. This
can be used to perform lookups as if the object were relocated by the offset.
+.. option:: -output-style=<LLVM|GNU>
+
+ Specify the preferred output style. Defaults to ``LLVM``. When the output
+ style is set to ``GNU``, the tool follows the style of GNU's **addr2line**.
+ The differences from the ``LLVM`` style are:
+
+ * Does not print column of a source code location.
+
+ * Does not add an empty line after the report for an address.
+
+ * Does not replace the name of an inlined function with the name of the
+ topmost caller when inlined frames are not shown and ``-use-symbol-table``
+ is on.
+
+ .. code-block:: console
+
+ $ llvm-symbolizer -p -e=addr.exe 0x40054d 0x400568
+ inc at /tmp/x.c:3:3
+ (inlined by) main at /tmp/x.c:14:0
+
+ main at /tmp/x.c:14:3
+
+ $ llvm-symbolizer --output-style=LLVM -p -i=0 -e=addr.exe 0x40054d 0x400568
+ main at /tmp/x.c:3:3
+
+ main at /tmp/x.c:14:3
+
+ $ llvm-symbolizer --output-style=GNU -p -i=0 -e=addr.exe 0x40054d 0x400568
+ inc at /tmp/x.c:3
+ main at /tmp/x.c:14
+
EXIT STATUS
-----------
diff --git a/tools/llvm-symbolizer/llvm-symbolizer.cpp b/tools/llvm-symbolizer/llvm-symbolizer.cpp
index c57f5f8..aa6635f 100644
--- a/tools/llvm-symbolizer/llvm-symbolizer.cpp
+++ b/tools/llvm-symbolizer/llvm-symbolizer.cpp
@@ -148,7 +148,7 @@
static cl::opt<DIPrinter::OutputStyle>
ClOutputStyle("output-style", cl::init(DIPrinter::OutputStyle::LLVM),
- cl::desc("Specify print style"), cl::Hidden,
+ cl::desc("Specify print style"),
cl::values(clEnumValN(DIPrinter::OutputStyle::LLVM, "LLVM",
"LLVM default style"),
clEnumValN(DIPrinter::OutputStyle::GNU, "GNU",