ERROR: 0:18: '' : octal literal too big
ERROR: 0:23: '' : octal literal digit too large
ERROR: 0:24: '' : octal literal digit too large
-ERROR: 0:49: '' : bad digit in hexidecimal literal
-ERROR: 0:50: '' : hexidecimal literal too big
+ERROR: 0:49: '' : bad digit in hexadecimal literal
+ERROR: 0:50: '' : hexadecimal literal too big
ERROR: 0:88: '' : float literal needs a decimal point or exponent
ERROR: 0:98: '' : numeric literal too big
ERROR: 0:101: '' : numeric literal too big
Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
ERROR: 0:6: '=' : cannot convert from 'const uint' to 'global int'
ERROR: 0:20: '' : numeric literal too big
-ERROR: 0:21: '' : hexidecimal literal too big
+ERROR: 0:21: '' : hexadecimal literal too big
ERROR: 0:37: 'view' : redefinition
ERROR: 0:63: 'invariant' : can only apply to an output
ERROR: 0:68: 'lightPosition' : redefinition
ERROR: 0:9: '' : numeric literal too big
ERROR: 0:10: '' : numeric literal too big
ERROR: 0:13: '' : octal literal too big
-ERROR: 0:14: '' : hexidecimal literal too big
+ERROR: 0:14: '' : hexadecimal literal too big
ERROR: 0:23: '' : float literal too long
ERROR: 0:32: '' : name too long
-ERROR: 0:33: '' : hexidecimal literal too big
+ERROR: 0:33: '' : hexadecimal literal too big
ERROR: 0:34: '' : numeric literal too long
ERROR: 0:34: '' : octal literal too big
ERROR: 0:35: '' : numeric literal too long
// For the version, it uses the latest git tag followed by the number of commits.
// For the date, it uses the current date (when then script is run).
-#define GLSLANG_REVISION "SPIRV99.1370"
+#define GLSLANG_REVISION "SPIRV99.1373"
#define GLSLANG_DATE "30-Jul-2016"
// Required to avoid missing prototype warnings for some compilers
int yylex(YYSTYPE*, glslang::TParseContext&);
-
+
namespace glslang {
// read past any white space
(*KeywordMap)["superp"] = SUPERP;
ReservedSet = new std::unordered_set<const char*, str_hash, str_eq>;
-
+
ReservedSet->insert("common");
ReservedSet->insert("partition");
ReservedSet->insert("active");
case PpAtomDecrement: return DEC_OP;
case PpAtomIncrement: return INC_OP;
-
+
case PpAtomConstInt: parserToken->sType.lex.i = ppToken.ival; return INTCONSTANT;
case PpAtomConstUint: parserToken->sType.lex.i = ppToken.ival; return UINTCONSTANT;
case PpAtomConstInt64: parserToken->sType.lex.i64 = ppToken.i64val; return INT64CONSTANT;
case MAT3X4:
case MAT4X2:
case MAT4X3:
- case MAT4X4:
+ case MAT4X4:
return matNxM();
case DMAT2:
case USAMPLER2DARRAY:
afterType = true;
return nonreservedKeyword(300, 130);
-
+
case ISAMPLER2DRECT:
case USAMPLER2DRECT:
afterType = true;
if (parseContext.extensionsTurnedOn(Num_AEP_texture_buffer, AEP_texture_buffer))
return keyword;
return es30ReservedFromGLSL(140);
-
+
case SAMPLER2DMS:
case ISAMPLER2DMS:
case USAMPLER2DMS:
case NOPERSPECTIVE:
return es30ReservedFromGLSL(130);
-
+
case SMOOTH:
if ((parseContext.profile == EEsProfile && parseContext.version < 300) ||
(parseContext.profile != EEsProfile && parseContext.version < 130))
bool reserved = parseContext.profile == EEsProfile || parseContext.version >= 130;
return identifierOrReserved(reserved);
}
-
+
default:
parseContext.infoSink.info.message(EPrefixInternalError, "Unknown glslang keyword", loc);
return 0;
do {
int oldToken;
TPpToken oldPpToken;
- TPpToken newPpToken;
+ TPpToken newPpToken;
oldToken = ReadToken(symb->mac.body, &oldPpToken);
newToken = ReadToken(mac.body, &newPpToken);
if (oldToken != newToken || oldPpToken != newPpToken) {
if (token != '#') {
while (token != '\n' && token != EndOfInput)
token = scanToken(ppToken);
-
+
if (token == EndOfInput)
return token;
if (op < 0 || binop[op].precedence <= precedence)
break;
int leftSide = res;
-
+
// Setup short-circuiting, needed for ES, unless already in a short circuit.
// (Once in a short-circuit, can't turn off again, until that whole subexpression is done.
if (! shortCircuit) {
else
parseContext.handlePragma(loc, tokens);
- return token;
+ return token;
}
// #version: This is just for error checking: the version and profile are decided before preprocessing starts
if (token == EndOfInput)
mac->busy = 0;
-
+
return token;
}
if (sym->mac.args) {
token = scanToken(ppToken);
if (newLineOkay) {
- while (token == '\n')
+ while (token == '\n')
token = scanToken(ppToken);
}
if (token != '(') {
ppToken->name[len++] = (char)ch;
ch = getch();
if (ch == 'x' || ch == 'X') {
- // must be hexidecimal
+ // must be hexadecimal
bool isUnsigned = false;
bool isInt64 = false;
} else if (ch >= 'a' && ch <= 'f') {
ii = ch - 'a' + 10;
} else
- pp->parseContext.ppError(ppToken->loc, "bad digit in hexidecimal literal", "", "");
+ pp->parseContext.ppError(ppToken->loc, "bad digit in hexadecimal literal", "", "");
ival = (ival << 4) | ii;
} else {
if (! AlreadyComplained) {
- pp->parseContext.ppError(ppToken->loc, "hexidecimal literal too big", "", "");
+ pp->parseContext.ppError(ppToken->loc, "hexadecimal literal too big", "", "");
AlreadyComplained = 1;
}
ival = 0xffffffffffffffffull;
(ch >= 'A' && ch <= 'F') ||
(ch >= 'a' && ch <= 'f'));
} else {
- pp->parseContext.ppError(ppToken->loc, "bad digit in hexidecimal literal", "", "");
+ pp->parseContext.ppError(ppToken->loc, "bad digit in hexadecimal literal", "", "");
}
if (ch == 'u' || ch == 'U') {
if (len < MaxTokenLength)
}
if (ch == '.' || ch == 'e' || ch == 'f' || ch == 'E' || ch == 'F')
return pp->lFloatConst(len, ch, ppToken);
-
+
// wasn't a float, so must be octal...
if (nonOctal)
pp->parseContext.ppError(ppToken->loc, "octal literal digit too large", "", "");
break;
case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
- // can't be hexidecimal or octal, is either decimal or floating point
+ // can't be hexadecimal or octal, is either decimal or floating point
do {
if (len < MaxTokenLength)
// Return 0 when no more tokens.
//
const char* TPpContext::tokenize(TPpToken* ppToken)
-{
+{
int token = '\n';
for(;;) {
PpAtomConstDouble,
PpAtomConstString,
- // Indentifiers
+ // Identifiers
PpAtomIdentifier,
// preprocessor "keywords"