Full thread safety working:
- don't use [] for map lookups, it can modify the map - copy up built-in symbols out of shared symbol table levels before modifying them - enforce shallow vs. deep TType copies - combine maxArraySize with the array dimensions vector, encapsulate - remove chaining of array types git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22953 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
parent
38f3b890de
commit
5f753e0222
17 changed files with 259 additions and 267 deletions
|
|
@ -550,11 +550,12 @@ int TScanContext::tokenizeIdentifier()
|
|||
if (ReservedSet->find(tokenText) != ReservedSet->end())
|
||||
return reservedWord();
|
||||
|
||||
keyword = (*KeywordMap)[tokenText];
|
||||
if (keyword == 0) {
|
||||
std::map<std::string, int>::const_iterator it = KeywordMap->find(tokenText);
|
||||
if (it == KeywordMap->end()) {
|
||||
// Should have an identifier of some sort
|
||||
return identifierOrType();
|
||||
}
|
||||
keyword = it->second;
|
||||
field = false;
|
||||
|
||||
switch (keyword) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue