'append_cmd' should split its argument.

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

llvm-svn: 65623
This commit is contained in:
Mikhail Glushenkov 2009-02-27 06:46:55 +00:00
parent 44b8675102
commit 65cb3e0861

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(\"" <<