Restore r26245 and all tests and test results since 4/1:

r26245: Remove "not yet complete" warning for versions 130 and 140, after tidying up a bit and adding tests.  Token pasting is the only known missing feature, and gives its own message now on use.


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26226 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich 2014-04-14 15:46:40 +00:00
parent dd09c05e5b
commit cf0206c341
125 changed files with 14154 additions and 212 deletions

View file

@ -112,6 +112,12 @@ int TPpContext::lReadByte(TokenStream *pTok)
return tInput::endOfInput;
}
void TPpContext::lUnreadByte(TokenStream *pTok)
{
if (pTok->current > 0)
--pTok->current;
}
/*
* Add a token to the end of a list for later playback.
*/
@ -171,6 +177,16 @@ int TPpContext::ReadToken(TokenStream *pTok, TPpToken *ppToken)
if (ltoken > 127)
ltoken += 128;
switch (ltoken) {
case '#':
if (lReadByte(pTok) == '#') {
parseContext.requireProfile(ppToken->loc, ~EEsProfile, "token pasting (##)");
parseContext.profileRequires(ppToken->loc, ~EEsProfile, 130, 0, "token pasting (##)");
parseContext.error(ppToken->loc, "token pasting not implemented (internal error)", "##", "");
//return CPP_TOKEN_PASTE;
return ReadToken(pTok, ppToken);
} else
lUnreadByte(pTok);
break;
case CPP_STRCONSTANT:
case CPP_IDENTIFIER:
case CPP_FLOATCONSTANT: