Keep track of the index name of excessive loops.

TRAC #21167
ISSUE=338
Signed-off-by: Daniel Koch
Author: Nicolas Capens

git-svn-id: https://angleproject.googlecode.com/svn/trunk@1210 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/compiler/OutputHLSL.cpp b/src/compiler/OutputHLSL.cpp
index c52f61c..e33406b 100644
--- a/src/compiler/OutputHLSL.cpp
+++ b/src/compiler/OutputHLSL.cpp
@@ -87,6 +87,8 @@
     mContainsLoopDiscontinuity = false;
     mOutputLod0Function = false;
     mInsideDiscontinuousLoop = false;
+
+    mExcessiveLoopIndex = NULL;
 }
 
 OutputHLSL::~OutputHLSL()
@@ -2052,6 +2054,9 @@
                 return false;   // Not an excessive loop
             }
 
+            TIntermSymbol *restoreIndex = mExcessiveLoopIndex;
+            mExcessiveLoopIndex = index;
+
             out << "{int ";
             index->traverse(this);
             out << ";\n";
@@ -2095,6 +2100,8 @@
             
             out << "}";
 
+            mExcessiveLoopIndex = restoreIndex;
+
             return true;
         }
         else UNIMPLEMENTED();