'append_cmd' should split its argument.

Makes '(append_cmd "-foo a b c")' work.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65623 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Mikhail Glushenkov 2009-02-27 06:46:55 +00:00
parent 579214a39a
commit c52551dfa2

View File

@ -1422,7 +1422,12 @@ class EmitActionHandler {
if (ActionName == "append_cmd") {
checkNumberOfArguments(&Dag, 1);
const std::string& Cmd = InitPtrToString(Dag.getArg(0));
O << IndentLevel << "vec.push_back(\"" << Cmd << "\");\n";
StrVector Out;
llvm::SplitString(Cmd, Out);
for (StrVector::const_iterator B = Out.begin(), E = Out.end();
B != E; ++B)
O << IndentLevel << "vec.push_back(\"" << *B << "\");\n";
}
else if (ActionName == "error") {
O << IndentLevel << "throw std::runtime_error(\"" <<