Fix bug 11736: Minor glslang compilation fixes: Correct "currentChar" logic for recen...
authorJohn Kessenich <cepheus@frii.com>
Mon, 24 Feb 2014 21:36:08 +0000 (21:36 +0000)
committerJohn Kessenich <cepheus@frii.com>
Mon, 24 Feb 2014 21:36:08 +0000 (21:36 +0000)
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25512 e7fa87d3-cd2b-0410-9028-fcbf551c1848

glslang/Include/revision.h
glslang/MachineIndependent/PoolAlloc.cpp
glslang/MachineIndependent/Scan.h

index 3d25628..a0a39d2 100644 (file)
@@ -9,5 +9,5 @@
 // source have to figure out how to create revision.h just to get a build\r
 // going.  However, if it is not updated, it can be a version behind.\r
 \r
-#define GLSLANG_REVISION "25411"\r
-#define GLSLANG_DATE     "2014/02/18 19:47:20"\r
+#define GLSLANG_REVISION "25511"\r
+#define GLSLANG_DATE     "2014/02/24 14:16:19"\r
index 75c4972..26b371a 100644 (file)
@@ -185,6 +185,7 @@ const unsigned char TAllocation::userDataFill       = 0xcd;
 //
 void TAllocation::checkGuardBlock(unsigned char* blockMem, unsigned char val, const char* locText) const
 {
+#ifdef GUARD_BLOCKS
     for (int x = 0; x < guardBlockSize; x++) {
         if (blockMem[x] != val) {
                        const int maxSize = 80;
@@ -196,6 +197,9 @@ void TAllocation::checkGuardBlock(unsigned char* blockMem, unsigned char val, co
             assert(0 && "PoolAlloc: Damage in guard block");
         }
     }
+#else
+    assert(guardBlockSize == 0);
+#endif
 }
 
 
index 8f6e9e4..6a8d0ff 100644 (file)
@@ -93,9 +93,11 @@ public:
             do {
                 --currentSource;
             } while (currentSource > 0 && lengths[currentSource] == 0);
-            currentChar = lengths[currentSource] - 1;
-            if (currentChar < 0)
+            if (lengths[currentSource] == 0) {
+                // set to 0 if we've backed up to the start of an empty string
                 currentChar = 0;
+            } else
+                currentChar = lengths[currentSource] - 1;
         }
         if (peek() == '\n')
             --loc[currentSource].line;