Fix bug 11736: Minor glslang compilation fixes: Correct "currentChar" logic for recently switched to unsigned size_t locations, and protect more pool guard code with #ifdef.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25512 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich 2014-02-24 21:36:08 +00:00
parent b35e9bfa21
commit 8922ce7353
3 changed files with 10 additions and 4 deletions

View File

@ -9,5 +9,5 @@
// source have to figure out how to create revision.h just to get a build // source have to figure out how to create revision.h just to get a build
// going. However, if it is not updated, it can be a version behind. // going. However, if it is not updated, it can be a version behind.
#define GLSLANG_REVISION "25411" #define GLSLANG_REVISION "25511"
#define GLSLANG_DATE "2014/02/18 19:47:20" #define GLSLANG_DATE "2014/02/24 14:16:19"

View File

@ -185,6 +185,7 @@ const unsigned char TAllocation::userDataFill = 0xcd;
// //
void TAllocation::checkGuardBlock(unsigned char* blockMem, unsigned char val, const char* locText) const void TAllocation::checkGuardBlock(unsigned char* blockMem, unsigned char val, const char* locText) const
{ {
#ifdef GUARD_BLOCKS
for (int x = 0; x < guardBlockSize; x++) { for (int x = 0; x < guardBlockSize; x++) {
if (blockMem[x] != val) { if (blockMem[x] != val) {
const int maxSize = 80; 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"); assert(0 && "PoolAlloc: Damage in guard block");
} }
} }
#else
assert(guardBlockSize == 0);
#endif
} }

View File

@ -93,9 +93,11 @@ public:
do { do {
--currentSource; --currentSource;
} while (currentSource > 0 && lengths[currentSource] == 0); } while (currentSource > 0 && lengths[currentSource] == 0);
currentChar = lengths[currentSource] - 1; if (lengths[currentSource] == 0) {
if (currentChar < 0) // set to 0 if we've backed up to the start of an empty string
currentChar = 0; currentChar = 0;
} else
currentChar = lengths[currentSource] - 1;
} }
if (peek() == '\n') if (peek() == '\n')
--loc[currentSource].line; --loc[currentSource].line;