From f356d70ec3a231ee760529fa1ca966f3e0b5161c Mon Sep 17 00:00:00 2001 From: Jeff Cohen Date: Wed, 4 Jan 2006 03:15:19 +0000 Subject: Tblgen was generating syntactically illegal C++ code like: SDOperand Tmp0,Tmp1,Tmp2,Tmp3,; GCC has a bug (24907) in which is fails to catch this, but VC++ correctly notes its illegality, so tblgen must be taught to only generate legal C++. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25075 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/TableGen/DAGISelEmitter.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/utils/TableGen/DAGISelEmitter.cpp b/utils/TableGen/DAGISelEmitter.cpp index d719038..1fbb7c6 100644 --- a/utils/TableGen/DAGISelEmitter.cpp +++ b/utils/TableGen/DAGISelEmitter.cpp @@ -2030,12 +2030,13 @@ public: std::string Fn = CP->getSelectFunc(); NumRes = CP->getNumOperands(); OS << " SDOperand "; - for (unsigned i = 0; i != NumRes; ++i) + unsigned i; + for (i = 0; i < NumRes - 1; ++i) OS << "Tmp" << (i+ResNo) << ","; - OS << ";\n"; + OS << "Tmp" << (i+ResNo) << ";\n"; OS << " if (!" << Fn << "(" << Val; - for (unsigned i = 0; i < NumRes; i++) + for (i = 0; i < NumRes; i++) OS << ", Tmp" << i + ResNo; OS << ")) goto P" << PatternNo << "Fail;\n"; TmpNo = ResNo + NumRes; -- cgit v1.1