llvm-cxxfilt: support the `-s` option
authorSaleem Abdulrasool <compnerd@compnerd.org>
Sat, 21 Jan 2017 02:36:26 +0000 (02:36 +0000)
committerSaleem Abdulrasool <compnerd@compnerd.org>
Sat, 21 Jan 2017 02:36:26 +0000 (02:36 +0000)
This is a stub implementation of the `-s` or `--format` option that
allows the user to specify the demangling style.  Since we only support
the Itanium (GNU) style demangling, auto is synonymous with `gnu`.
Simply swallow the option to permit some level of commandline
compatibility.

llvm-svn: 292706

llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp

index 6076a63..8f90bcf 100644 (file)
 
 using namespace llvm;
 
+enum Style {
+  Auto,  ///< auto-detect mangling
+  GNU,   ///< GNU
+  Lucid, ///< Lucid compiler (lcc)
+  ARM,
+  HP,    ///< HP compiler (xCC)
+  EDG,   ///< EDG compiler
+  GNUv3, ///< GNU C++ v3 ABI
+  Java,  ///< Java (gcj)
+  GNAT   ///< ADA copiler (gnat)
+};
+static cl::opt<Style>
+    Format("format", cl::desc("decoration style"),
+           cl::values(clEnumValN(Auto, "auto", "auto-detect style"),
+                      clEnumValN(GNU, "gnu", "GNU (itanium) style")),
+           cl::init(Auto));
+static cl::alias FormatShort("s", cl::desc("alias for --format"),
+                             cl::aliasopt(Format));
+
 static cl::opt<bool>
     Types("types",
           cl::desc("attempt to demangle types as well as function names"),