From: Igor Kudrin Date: Thu, 4 Apr 2019 08:45:06 +0000 (+0000) Subject: [llvm-symbolizer] Allow more flexible usage of -e. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e7385308ff5a3a85efed1ff3fc226b168d0f32a6;p=llvm [llvm-symbolizer] Allow more flexible usage of -e. addr2line allows -e to be grouped with other options; it also allows it to prefix the value. Thus, all the following usages are possible: * addr2line -f -e * addr2line -fe * addr2line -f e * addr2line -fe This patch adds the same for llvm-symbolizer. Differential Revision: https://reviews.llvm.org/D60196 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@357676 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/tools/llvm-symbolizer/basic.s b/test/tools/llvm-symbolizer/basic.s index c966f985a50..b9d5c814024 100644 --- a/test/tools/llvm-symbolizer/basic.s +++ b/test/tools/llvm-symbolizer/basic.s @@ -17,7 +17,9 @@ foo: # Check --obj aliases --exe, -e # RUN: llvm-symbolizer 0xa 0xb --exe=%t.o | FileCheck %s +# RUN: llvm-symbolizer 0xa 0xb -e %t.o | FileCheck %s # RUN: llvm-symbolizer 0xa 0xb -e=%t.o | FileCheck %s +# RUN: llvm-symbolizer 0xa 0xb -e%t.o | FileCheck %s # CHECK: basic.s:5:0 # CHECK: basic.s:6:0 diff --git a/test/tools/llvm-symbolizer/flag-grouping.test b/test/tools/llvm-symbolizer/flag-grouping.test index 9341eca8bdc..edc6d02c2b9 100644 --- a/test/tools/llvm-symbolizer/flag-grouping.test +++ b/test/tools/llvm-symbolizer/flag-grouping.test @@ -1,4 +1,7 @@ RUN: llvm-symbolizer -apCi -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck %s +RUN: llvm-symbolizer -apCie %p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck %s +RUN: llvm-symbolizer -apCie=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck %s +RUN: llvm-symbolizer -apCie%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck %s CHECK: some text CHECK: 0x40054d: inctwo diff --git a/tools/llvm-symbolizer/llvm-symbolizer.cpp b/tools/llvm-symbolizer/llvm-symbolizer.cpp index e410cfe1493..359c64b37ce 100644 --- a/tools/llvm-symbolizer/llvm-symbolizer.cpp +++ b/tools/llvm-symbolizer/llvm-symbolizer.cpp @@ -94,10 +94,9 @@ ClBinaryName("obj", cl::init(""), static cl::alias ClBinaryNameAliasExe("exe", cl::desc("Alias for -obj"), cl::NotHidden, cl::aliasopt(ClBinaryName)); -static cl::alias -ClBinaryNameAliasE("e", cl::desc("Alias for -obj"), - cl::NotHidden, cl::aliasopt(ClBinaryName)); - +static cl::alias ClBinaryNameAliasE("e", cl::desc("Alias for -obj"), + cl::NotHidden, cl::Grouping, cl::Prefix, + cl::aliasopt(ClBinaryName)); static cl::opt ClDwpName("dwp", cl::init(""),