Duh, thanks Jeffc!

-Chris

On Tue, 3 Jan 2006, Jeff Cohen wrote:



Changes in directory llvm/utils/TableGen:

DAGISelEmitter.cpp updated: 1.122 -> 1.123
---
Log message:

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++.



---
Diffs of the changes:  (+4 -3)

DAGISelEmitter.cpp |    7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)


Index: llvm/utils/TableGen/DAGISelEmitter.cpp
diff -u llvm/utils/TableGen/DAGISelEmitter.cpp:1.122 
llvm/utils/TableGen/DAGISelEmitter.cpp:1.123
--- llvm/utils/TableGen/DAGISelEmitter.cpp:1.122        Tue Jan  3 18:32:01 2006
+++ llvm/utils/TableGen/DAGISelEmitter.cpp      Tue Jan  3 21:15:19 2006
@@ -2030,12 +2030,13 @@
        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;



_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


-Chris

--
http://nondot.org/sabre/
http://llvm.org/

_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to