PP: Add missing atoms that effect -E mode.

When preprocessing only, some tokens were emitted as <bad token>.
This fixes them to preserve their original content.

This supplants PR #182, with a correction and test results.
This commit is contained in:
John Kessenich 2016-08-04 22:46:19 -06:00
parent cfc5fbb967
commit 9f9bad09b4
4 changed files with 43 additions and 4 deletions

View File

@ -19,5 +19,12 @@ int main(){
gl_Position = vec4(1);
gl_Position = vec4(1, 2);
gl_Position = vec4(fn(3));
[]. ++ --
+ - * % / - ! ~
<< >> < > <= >=
== !=
& ^ | && ^^ || ? :
+= -= *= /= %= <<= >>= &= |= ^=
1.2 2E10 5u - 5 lf
}

View File

@ -19,4 +19,11 @@ int main() {
gl_Position = vec4(Z);
gl_Position = vec4(F);
gl_Position = vec4(fn(3));
[] . ++ --
+ - * % / - ! ~
<< >> < > <= >=
== !=
& ^ | && ^^ || ? :
+= -= *= /= %= <<= >>= &= |= ^=
1.2 2E10 5u -5lf
}

View File

@ -2,5 +2,5 @@
// 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.1377"
#define GLSLANG_DATE "02-Aug-2016"
#define GLSLANG_REVISION "SPIRV99.1383"
#define GLSLANG_DATE "04-Aug-2016"

View File

@ -98,6 +98,32 @@ const struct {
int val;
const char* str;
} tokens[] = {
{ PpAtomAdd, "+=" },
{ PpAtomSub, "-=" },
{ PpAtomMul, "*=" },
{ PpAtomDiv, "/=" },
{ PpAtomMod, "%=" },
{ PpAtomRight, ">>" },
{ PpAtomLeft, "<<" },
{ PpAtomAnd, "&&" },
{ PpAtomOr, "||" },
{ PpAtomXor, "^^" },
{ PpAtomRightAssign, ">>=" },
{ PpAtomLeftAssign, "<<=" },
{ PpAtomAndAssign, "&=" },
{ PpAtomOrAssign, "|=" },
{ PpAtomXorAssign, "^=" },
{ PpAtomEQ, "==" },
{ PpAtomNE, "!=" },
{ PpAtomGE, ">=" },
{ PpAtomLE, "<=" },
{ PpAtomDecrement, "--" },
{ PpAtomIncrement, "++" },
{ PpAtomDefine, "define" },
{ PpAtomDefined, "defined" },
{ PpAtomUndef, "undef" },
@ -121,8 +147,7 @@ const struct {
{ PpAtomFileMacro, "__FILE__" },
{ PpAtomVersionMacro, "__VERSION__" },
{ PpAtomInclude, "include" },
{ PpAtomInclude, "include" },
};
} // end anonymous namespace