Index: llvm/trunk/test/tools/llvm-objdump/ARM/reg-names.s =================================================================== --- llvm/trunk/test/tools/llvm-objdump/ARM/reg-names.s +++ llvm/trunk/test/tools/llvm-objdump/ARM/reg-names.s @@ -12,6 +12,24 @@ @ RUN: | FileCheck -check-prefix=ERR %s @ ERR: Unrecognized disassembler option: unknown +@ Test that the -M alias can be used flexibly. Create a baseline and ensure +@ all other combinations are identical. +@ RUN: llvm-objdump -d --disassembler-options=reg-names-raw %t > %t.raw +@ RUN: llvm-objdump -d -M reg-names-raw %t > %t.1 +@ RUN: llvm-objdump -d -Mreg-names-raw %t > %t.2 +@ RUN: llvm-objdump -d -Mreg-names-std -Mreg-names-raw %t > %t.3 +@ RUN: llvm-objdump -d -Mreg-names-std,reg-names-raw %t > %t.4 +@ RUN: llvm-objdump -dM reg-names-std,reg-names-raw %t > %t.5 +@ RUN: llvm-objdump -dMreg-names-std,reg-names-raw %t > %t.6 +@ RUN: llvm-objdump -dMreg-names-std -Mreg-names-raw %t > %t.7 +@ RUN: cmp %t.raw %t.1 +@ RUN: cmp %t.raw %t.2 +@ RUN: cmp %t.raw %t.3 +@ RUN: cmp %t.raw %t.4 +@ RUN: cmp %t.raw %t.5 +@ RUN: cmp %t.raw %t.6 +@ RUN: cmp %t.raw %t.7 + .text add r13, r14, r15 @ STD: add sp, lr, pc Index: llvm/trunk/test/tools/llvm-objdump/section-filter.test =================================================================== --- llvm/trunk/test/tools/llvm-objdump/section-filter.test +++ llvm/trunk/test/tools/llvm-objdump/section-filter.test @@ -1,7 +1,24 @@ -// This test checks that --section works correctly +// This test checks that --section works correctly. // RUN: llvm-objdump -h %p/Inputs/section-filter.obj -j=.text \ // RUN: --section=.bss | FileCheck %s -# CHECK: .text -# CHECK-NOT: .data -# CHECK: .bss \ No newline at end of file +// CHECK: .text +// CHECK-NOT: .data +// CHECK: .bss + +// Test that the -j alias can be used flexibly. Create a baseline and ensure +// all other combinations are identical. +// RUN: llvm-objdump %p/Inputs/section-filter.obj -h -s --section .symtab > %t.full +// RUN: llvm-objdump %p/Inputs/section-filter.obj -h -s -j .symtab > %t.1 +// RUN: llvm-objdump %p/Inputs/section-filter.obj -h -s -j=.symtab > %t.2 +// RUN: llvm-objdump %p/Inputs/section-filter.obj -h -s -j.symtab > %t.3 +// RUN: llvm-objdump %p/Inputs/section-filter.obj -hsj .symtab > %t.4 +// RUN: llvm-objdump %p/Inputs/section-filter.obj -hsj=.symtab > %t.5 +// RUN: llvm-objdump %p/Inputs/section-filter.obj -hsj.symtab > %t.6 + +// RUN: cmp %t.full %t.1 +// RUN: cmp %t.full %t.2 +// RUN: cmp %t.full %t.3 +// RUN: cmp %t.full %t.4 +// RUN: cmp %t.full %t.5 +// RUN: cmp %t.full %t.6 Index: llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp =================================================================== --- llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp +++ llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp @@ -197,7 +197,7 @@ llvm::FilterSections("section", cl::desc("Operate on the specified sections only. " "With -macho dump segment,section")); cl::alias static FilterSectionsj("j", cl::desc("Alias for --section"), - cl::NotHidden, + cl::NotHidden, cl::Grouping, cl::Prefix, cl::aliasopt(llvm::FilterSections)); cl::list @@ -299,7 +299,8 @@ cl::value_desc("options"), cl::CommaSeparated); static cl::alias DisassemblerOptionsShort("M", cl::desc("Alias for --disassembler-options"), - cl::NotHidden, cl::Prefix, cl::CommaSeparated, + cl::NotHidden, cl::Grouping, cl::Prefix, + cl::CommaSeparated, cl::aliasopt(DisassemblerOptions)); static StringRef ToolName;