Memory: Don't use pool memory to store the entry point name in the intermediate representation.

This might address issue #221, which I couldn't reproduce.
This commit is contained in:
John Kessenich
2016-04-06 19:03:15 -06:00
parent 78a6b78810
commit 7e3e486344
4 changed files with 5 additions and 5 deletions

View File

@@ -986,7 +986,7 @@ TIntermAggregate* TParseContext::handleFunctionDefinition(const TSourceLoc& loc,
//
// Raise error message if main function takes any parameters or returns anything other than void
//
if (function.getName() == intermediate.getEntryPoint()) {
if (function.getName() == intermediate.getEntryPoint().c_str()) {
if (function.getParamCount() > 0)
error(loc, "function cannot take any parameter(s)", function.getName().c_str(), "");
if (function.getType().getBasicType() != EbtVoid)

View File

@@ -149,7 +149,7 @@ public:
void setSource(EShSource s) { source = s; }
EShSource getSource() const { return source; }
void setEntryPoint(const char* ep) { entryPoint = ep; }
const TString& getEntryPoint() const { return entryPoint; }
const std::string& getEntryPoint() const { return entryPoint; }
void setVersion(int v) { version = v; }
int getVersion() const { return version; }
void setProfile(EProfile p) { profile = p; }
@@ -347,7 +347,7 @@ protected:
const EShLanguage language; // stage, known at construction time
EShSource source; // source language, known a bit later
TString entryPoint;
std::string entryPoint;
EProfile profile;
int version;
int spv;