diff options
author | Mikhail Glushenkov <foldr@codedgers.com> | 2008-05-30 06:23:29 +0000 |
---|---|---|
committer | Mikhail Glushenkov <foldr@codedgers.com> | 2008-05-30 06:23:29 +0000 |
commit | 52a541387eece3fee41378f17f7213de6319d856 (patch) | |
tree | bc4df5cf11071d55c8a498b544ce08858fef2a02 | |
parent | b623c3253e7b0c73c31349212b72dc62a18dd0ed (diff) | |
download | external_llvm-52a541387eece3fee41378f17f7213de6319d856.zip external_llvm-52a541387eece3fee41378f17f7213de6319d856.tar.gz external_llvm-52a541387eece3fee41378f17f7213de6319d856.tar.bz2 |
Fix: 'sink' handling was broken.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51750 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/LLVMC/sink.c | 12 | ||||
-rw-r--r-- | utils/TableGen/LLVMCConfigurationEmitter.cpp | 10 |
2 files changed, 17 insertions, 5 deletions
diff --git a/test/LLVMC/sink.c b/test/LLVMC/sink.c new file mode 100644 index 0000000..d1dde41 --- /dev/null +++ b/test/LLVMC/sink.c @@ -0,0 +1,12 @@ +/* + * Check that the 'sink' options work. + * RUN: llvmc2 -v -Wall %s -o %t |& grep "Wall" + * RUN: ./%t | grep hello + */ + +#include <stdio.h> + +int main() { + printf("hello\n"); + return 0; +} diff --git a/utils/TableGen/LLVMCConfigurationEmitter.cpp b/utils/TableGen/LLVMCConfigurationEmitter.cpp index f527def..45f6a13 100644 --- a/utils/TableGen/LLVMCConfigurationEmitter.cpp +++ b/utils/TableGen/LLVMCConfigurationEmitter.cpp @@ -1015,10 +1015,10 @@ void EmitCmdLineVecFill(const Init* CmdLine, const std::string& ToolName, O << "vec.push_back(\"" << cmd << "\");\n"; } } - O << IndentLevel << "ret = Action(" + O << IndentLevel << "cmd = " << ((StrVec[0][0] == '$') ? SubstituteSpecialCommands(StrVec[0]) : "\"" + StrVec[0] + "\"") - << ", vec);\n"; + << ";\n"; } /// EmitCmdLineVecFillCallback - A function object wrapper around @@ -1052,7 +1052,7 @@ void EmitGenerateActionMethod (const ToolProperties& P, O << Indent2 << "const sys::Path& outFile,\n" << Indent2 << "const InputLanguagesSet& InLangs) const\n" << Indent1 << "{\n" - << Indent2 << "Action ret;\n" + << Indent2 << "std::string cmd;\n" << Indent2 << "std::vector<std::string> vec;\n"; // cmd_line is either a string or a 'case' construct. @@ -1078,7 +1078,7 @@ void EmitGenerateActionMethod (const ToolProperties& P, << Indent2 << "}\n"; } - O << Indent2 << "return ret;\n" + O << Indent2 << "return Action(cmd, vec);\n" << Indent1 << "}\n\n"; } @@ -1214,7 +1214,7 @@ void EmitOptionDescriptions (const GlobalOptionDescriptions& descs, { std::vector<GlobalOptionDescription> Aliases; - // Emit static cl::Option variables + // Emit static cl::Option variables. for (GlobalOptionDescriptions::const_iterator B = descs.begin(), E = descs.end(); B!=E; ++B) { const GlobalOptionDescription& val = B->second; |