diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-03-18 01:48:37 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-03-18 01:48:37 +0000 |
commit | ec29d3635b351095ac947dcd03cb2437ed92fcf5 (patch) | |
tree | 1732f40cc437a5d1515053450a0d09ecea7a66a7 | |
parent | b25c7c1f83b80738cc01cac1b04e6ea25664bcd7 (diff) |
Driver: Implement JoinedAndSeparateArg::getValue and add parsing test
case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67151 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Driver/Arg.cpp | 5 | ||||
-rw-r--r-- | test/Driver/parsing.c | 15 |
2 files changed, 18 insertions, 2 deletions
diff --git a/lib/Driver/Arg.cpp b/lib/Driver/Arg.cpp index 625e784579..6cff93e64a 100644 --- a/lib/Driver/Arg.cpp +++ b/lib/Driver/Arg.cpp @@ -142,6 +142,7 @@ void JoinedAndSeparateArg::render(const ArgList &Args, const char *JoinedAndSeparateArg::getValue(const ArgList &Args, unsigned N) const { assert(N < getNumValues() && "Invalid index."); - assert(0 && "FIXME: Implement"); - return 0; + if (N == 0) + return Args.getArgString(getIndex()) + strlen(getOption().getName()); + return Args.getArgString(getIndex() + 1); } diff --git a/test/Driver/parsing.c b/test/Driver/parsing.c new file mode 100644 index 0000000000..d24d710bac --- /dev/null +++ b/test/Driver/parsing.c @@ -0,0 +1,15 @@ +// RUN: clang-driver -ccc-print-options input -Yunknown -m32 -arch ppc -djoined -A separate -Ajoined -Wp,one,two -Xarch_joined AndSeparate -sectalign 1 2 3 &> %t && +// RUN: grep 'Option 0 - Name: "<input>", Values: {"input"}' %t && +// RUN: grep 'Option 1 - Name: "<unknown>", Values: {"-Yunknown"}' %t && +// RUN: grep 'Option 2 - Name: "-m32", Values: {}' %t && +// RUN: grep 'Option 3 - Name: "-arch", Values: {"ppc"}' %t && +// RUN: grep 'Option 4 - Name: "-d", Values: {"joined"}' %t && +// RUN: grep 'Option 5 - Name: "-A", Values: {"separate"}' %t && +// RUN: grep 'Option 6 - Name: "-A", Values: {"joined"}' %t && +// RUN: grep 'Option 7 - Name: "-Wp,", Values: {"one", "two"}' %t && +// RUN: grep 'Option 8 - Name: "-Xarch_", Values: {"joined", "AndSeparate"}' %t && +// RUN: grep 'Option 9 - Name: "-sectalign", Values: {"1", "2", "3"}' %t && + +// RUN: true + + |