Some rationalization of TIntermediate (to own it's own tree root) and TParseHelper for better encapsulation. Needed by some upcoming intra-stage link validation.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22914 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich 2013-09-03 22:57:27 +00:00
parent 807b8e3b82
commit 2f1eb37d82
8 changed files with 107 additions and 82 deletions

View file

@ -41,6 +41,8 @@
#include "localintermediate.h"
#include "QualifierAlive.h"
#include "RemoveTree.h"
#include "SymbolTable.h"
#include <float.h>
namespace glslang {
@ -910,10 +912,10 @@ void TIntermediate::addSymbolLinkageNode(TIntermAggregate*& linkage, const TVari
//
// This deletes the tree.
//
void TIntermediate::remove(TIntermNode* root)
void TIntermediate::removeTree()
{
if (root)
RemoveAllTreeNodes(root);
if (treeRoot)
RemoveAllTreeNodes(treeRoot);
}
////////////////////////////////////////////////////////////////
@ -1406,7 +1408,7 @@ TIntermTyped* TIntermediate::promoteConstantUnion(TBasicType promoteTo, TIntermC
case EbtDouble:
leftUnionArray[i].setDConst(static_cast<double>(rightUnionArray[i].getBConst()));
break;
default:
default:
return node;
}
break;