[llvm-commits] CVS: llvm/utils/TableGen/DAGISelEmitter.cpp

Chris Lattner sabre at nondot.org
Tue Jan 3 20:16:26 PST 2006


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 at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>

-Chris

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




More information about the llvm-commits mailing list