Merge pull request #60 from xorgy/no-define-defined

Preprocessor:  'defined' cannot be used as a macro name in #define or #undef.
This commit is contained in:
John Kessenich
2015-09-09 15:45:23 -06:00
5 changed files with 9 additions and 0 deletions

View File

@@ -2063,6 +2063,8 @@ void TParseContext::reservedPpErrorCheck(const TSourceLoc& loc, const char* iden
// however, before that, ES tests required an error.
if (strncmp(identifier, "GL_", 3) == 0)
ppError(loc, "names beginning with \"GL_\" can't be (un)defined:", op, identifier);
else if (strncmp(identifier, "defined", 8) == 0)
ppError(loc, "\"defined\" can't be (un)defined:", op, identifier);
else if (strstr(identifier, "__") != 0) {
if (profile == EEsProfile && version >= 300 &&
(strcmp(identifier, "__LINE__") == 0 ||