The 'forward_as' property did not use its second argument.

See PR4159 for details. Patch by Martin Nowack!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71054 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Mikhail Glushenkov 2009-05-06 01:41:19 +00:00
parent ce174f8e15
commit e89331b93d
3 changed files with 20 additions and 2 deletions

18
test/LLVMC/ForwardAs.td Normal file
View File

@ -0,0 +1,18 @@
// Check the fix for PR4159.
// http://llvm.org/bugs/show_bug.cgi?id=4159
// RUN: tblgen -I $srcroot/include --gen-llvmc %s -o %t
// RUN: grep unique_name %t
include "llvm/CompilerDriver/Common.td"
def OptList : OptionList<[(parameter_option "dummy", (extern))]>;
def dummy_tool : Tool<[
(cmd_line "dummy_cmd"),
(in_language "dummy"),
(out_language "dummy"),
(actions (case
(not_empty "dummy"), (forward_as "dummy", "unique_name")))
]>;
def DummyGraph : CompilationGraph<[SimpleEdge<"root", "dummy_tool">]>;

View File

@ -529,7 +529,7 @@ The list of all possible actions follows.
- ``forward_as`` - Change the name of an option, but forward the
argument unchanged.
Example: ``(forward_as "O0" "--disable-optimization")``.
Example: ``(forward_as "O0", "--disable-optimization")``.
- ``output_suffix`` - modify the output suffix of this
tool.

View File

@ -1444,7 +1444,7 @@ class EmitActionHandler {
else if (ActionName == "forward_as") {
checkNumberOfArguments(&Dag, 2);
const std::string& Name = InitPtrToString(Dag.getArg(0));
const std::string& NewName = InitPtrToString(Dag.getArg(0));
const std::string& NewName = InitPtrToString(Dag.getArg(1));
EmitForwardOptionPropertyHandlingCode(OptDescs.FindOption(Name),
IndentLevel, NewName, O);
}