diff --git a/test/LLVMC/EnvParentheses.td b/test/LLVMC/EnvParentheses.td new file mode 100644 index 00000000000..cf2a0e376f9 --- /dev/null +++ b/test/LLVMC/EnvParentheses.td @@ -0,0 +1,16 @@ +// Check the fix for PR4157. +// http://llvm.org/bugs/show_bug.cgi?id=4157 +// RUN: tblgen -I $srcroot/include --gen-llvmc %s -o %t +// RUN: not grep {)));} %t + +include "llvm/CompilerDriver/Common.td" + +def dummy_tool : Tool<[ +(cmd_line "gcc -o $OUTFILE $INFILE $ENV(FOO)/bar"), +(in_language "dummy"), +(out_language "dummy") +]>; + +def DummyGraph : CompilationGraph<[SimpleEdge<"root", "dummy_tool">]>; + +def Graph : CompilationGraph<[]>; diff --git a/utils/TableGen/LLVMCConfigurationEmitter.cpp b/utils/TableGen/LLVMCConfigurationEmitter.cpp index 834fb9c14ab..2dee3e988ca 100644 --- a/utils/TableGen/LLVMCConfigurationEmitter.cpp +++ b/utils/TableGen/LLVMCConfigurationEmitter.cpp @@ -1265,7 +1265,6 @@ StrVector::const_iterator SubstituteSpecialCommands assert(Leftover.at(0) == ')'); if (Leftover.size() != 1) O << " + std::string(\"" << (Leftover.c_str() + 1) << "\")"; - O << ')'; return Pos; }