Fix memory corruption problem in the preprocessor, removing custom hash-tables/etc. and replacing with std containers.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23623 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich 2013-10-20 18:18:36 +00:00
parent ab3080353a
commit 1f4104fbb1
7 changed files with 172 additions and 957 deletions

View file

@ -84,10 +84,9 @@ NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
namespace glslang {
TPpContext::TPpContext(TParseContext& pc) :
preamble(0), strings(0), notAVersionToken(false), parseContext(pc),
ScopeList(0), CurrentScope(0), GlobalScope(0)
preamble(0), strings(0), notAVersionToken(false), parseContext(pc)
{
InitAtomTable(&atomTable, 0);
InitAtomTable();
InitScanner(this);
ifdepth = 0;
@ -98,9 +97,8 @@ TPpContext::TPpContext(TParseContext& pc) :
TPpContext::~TPpContext()
{
FinalCPP();
delete [] preamble;
FreeAtomTable(&atomTable);
FreeScanner();
}
void TPpContext::setPreamble(const char* p, size_t l)