From 734a2bc7378482fc5dc593be2021c9ea9e3196f6 Mon Sep 17 00:00:00 2001 From: Igor Kudrin Date: Thu, 4 Apr 2019 08:45:06 +0000 Subject: [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 llvm-svn: 357676 --- llvm/test/tools/llvm-symbolizer/basic.s | 2 ++ llvm/test/tools/llvm-symbolizer/flag-grouping.test | 3 +++ llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp | 7 +++---- 3 files changed, 8 insertions(+), 4 deletions(-) (limited to 'llvm') diff --git a/llvm/test/tools/llvm-symbolizer/basic.s b/llvm/test/tools/llvm-symbolizer/basic.s index c966f985a50..b9d5c814024 100644 --- a/llvm/test/tools/llvm-symbolizer/basic.s +++ b/llvm/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/llvm/test/tools/llvm-symbolizer/flag-grouping.test b/llvm/test/tools/llvm-symbolizer/flag-grouping.test index 9341eca8bdc..edc6d02c2b9 100644 --- a/llvm/test/tools/llvm-symbolizer/flag-grouping.test +++ b/llvm/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/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp b/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp index e410cfe1493..359c64b37ce 100644 --- a/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp +++ b/llvm/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(""), -- cgit v1.2.3