Preprocessor: Rationalize, simplify, and correct the stack of input sources and their tokenization. This included
- consistently dealing with EOF and its effect on error recovery (bug 11444, #1) - turning a simulated OO hierarchy of function pointers and typecasting into a real C++ class hierarchy - correctly handling '\' everywhere, in all classes of tokens, as a layer before preprocessing itself - conditionally handling '\n' in macro expansion input, depending on whether it is in a macro expression or not - delete some unused "memory cleanup" code git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24626 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
@@ -5,14 +5,22 @@ ERROR: 0:66: '#define' : Macro redefined; different substitutions: BIG
|
||||
ERROR: 0:81: 'preprocessor evaluation' : bad expression
|
||||
ERROR: 0:81: '#if' : unexpected tokens following directive
|
||||
ERROR: 0:82: '#error' : good macro
|
||||
ERROR: 0:89: 'macro expansion' : unexpected '#' foobar
|
||||
ERROR: 0:90: 'preprocessor evaluation' : bad expression
|
||||
ERROR: 0:94: 'macro expansion' : unexpected '#' foobar
|
||||
ERROR: 0:95: 'preprocessor evaluation' : bad expression
|
||||
ERROR: 0:87: 'macro expansion' : end of line in macro substitution: foobar
|
||||
ERROR: 0:88: 'preprocessor evaluation' : can't evaluate expression
|
||||
ERROR: 0:88: 'preprocessor evaluation' : bad expression
|
||||
ERROR: 0:88: '#if' : unexpected tokens following directive
|
||||
ERROR: 0:92: 'macro expansion' : end of line in macro substitution: foobar
|
||||
ERROR: 0:93: 'preprocessor evaluation' : can't evaluate expression
|
||||
ERROR: 0:93: 'preprocessor evaluation' : bad expression
|
||||
ERROR: 0:93: '#if' : unexpected tokens following directive
|
||||
ERROR: 0:99: 'macro expansion' : end of line in macro substitution: foobar
|
||||
ERROR: 0:100: 'preprocessor evaluation' : can't evaluate expression
|
||||
ERROR: 0:100: 'preprocessor evaluation' : bad expression
|
||||
ERROR: 0:100: '#if' : unexpected tokens following directive
|
||||
ERROR: 0:102: 'macro expansion' : unexpected '#' foobar
|
||||
ERROR: 0:102: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile endif
|
||||
ERROR: 0:101: 'macro expansion' : end of line in macro substitution: foobar
|
||||
ERROR: 0:102: 'preprocessor evaluation' : can't evaluate expression
|
||||
ERROR: 0:102: 'preprocessor evaluation' : bad expression
|
||||
ERROR: 0:102: '#if' : unexpected tokens following directive
|
||||
ERROR: 0:108: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF
|
||||
ERROR: 0:111: '#error' : good 0
|
||||
ERROR: 0:115: '#error' : good 1
|
||||
@@ -26,7 +34,7 @@ ERROR: 0:153: 'preprocessor evaluation' : undefined macro in expression not allo
|
||||
ERROR: 0:156: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF2
|
||||
ERROR: 0:159: 'preprocessor evaluation' : undefined macro in expression not allowed in es profile UNDEF2
|
||||
ERROR: 0:10002: '' : missing #endif
|
||||
ERROR: 27 compilation errors. No code generated.
|
||||
ERROR: 35 compilation errors. No code generated.
|
||||
|
||||
|
||||
ERROR: node is still EOpNull!
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
cppIndent.vert
|
||||
ERROR: 0:61: 'macro expansion' : Too few args in Macro FUNC
|
||||
ERROR: 0:61: '' : syntax error
|
||||
ERROR: 2 compilation errors. No code generated.
|
||||
|
||||
0:? Sequence
|
||||
|
||||
ERROR: node is still EOpNull!
|
||||
0:5 Sequence
|
||||
0:5 move second child to first child (float)
|
||||
0:5 'sum' (float)
|
||||
|
||||
@@ -3,7 +3,9 @@ ERROR: 0:144: '#elif' : #elif after #else
|
||||
ERROR: 0:152: '#else' : #else after #else
|
||||
ERROR: 0:161: '#elif' : #elif after #else
|
||||
ERROR: 0:169: '#else' : #else after #else
|
||||
ERROR: 4 compilation errors. No code generated.
|
||||
ERROR: 0:177: 'macro expansion' : EOF in macro FUNC
|
||||
ERROR: 0:178: '' : syntax error
|
||||
ERROR: 6 compilation errors. No code generated.
|
||||
|
||||
|
||||
ERROR: node is still EOpNull!
|
||||
@@ -58,6 +60,11 @@ ERROR: node is still EOpNull!
|
||||
0:133 'selected3' (int)
|
||||
0:133 Constant:
|
||||
0:133 3 (const int)
|
||||
0:175 Function Definition: foo985( (void)
|
||||
0:175 Function Parameters:
|
||||
0:175 Sequence
|
||||
0:175 Constant:
|
||||
0:175 6 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'sum' (float)
|
||||
0:? 'selected4' (int)
|
||||
|
||||
@@ -6,15 +6,15 @@ ERROR: 0:85: '#error' : good3
|
||||
ERROR: 0:89: '#error' : good4
|
||||
ERROR: 0:93: '#error' : good5
|
||||
ERROR: 0:97: '#error' : good6
|
||||
ERROR: 0:101: 'preprocessor evaluation' : expected ')'
|
||||
ERROR: 0:100: 'preprocessor evaluation' : expected ')'
|
||||
ERROR: 0:101: '#error' : bad1
|
||||
ERROR: 0:104: '#if' : unexpected tokens following directive
|
||||
ERROR: 0:105: '#error' : bad2
|
||||
ERROR: 0:109: 'preprocessor evaluation' : expected ')'
|
||||
ERROR: 0:108: 'preprocessor evaluation' : expected ')'
|
||||
ERROR: 0:109: '#error' : bad3
|
||||
ERROR: 0:112: '#if' : unexpected tokens following directive
|
||||
ERROR: 0:113: '#error' : bad4
|
||||
ERROR: 0:117: 'preprocessor evaluation' : expected ')'
|
||||
ERROR: 0:116: 'preprocessor evaluation' : expected ')'
|
||||
ERROR: 0:117: '#error' : bad5
|
||||
ERROR: 0:120: '#if' : unexpected tokens following directive
|
||||
ERROR: 0:121: '#error' : bad6
|
||||
@@ -74,8 +74,16 @@ ERROR: 12:20021: '#error' : line should be 20021
|
||||
ERROR: 12:20046: '#define' : Macro redefined; different substitutions: SPACE_IN_MIDDLE
|
||||
ERROR: 12:20052: '#error' : good evaluation 1
|
||||
ERROR: 12:20056: '#error' : good evaluation 2
|
||||
ERROR: 12:9001: 'preprocessor evaluation' : expected ')'
|
||||
ERROR: 12:9003: '#if' : unexpected tokens following directive
|
||||
ERROR: 12:9015: 'macro expansion' : expected '(' following FOOOM
|
||||
ERROR: 12:9015: 'FOOOM' : undeclared identifier
|
||||
ERROR: 12:9015: '=' : cannot convert from 'float' to 'int'
|
||||
ERROR: 12:9016: 'macro expansion' : expected '(' following FOOOM
|
||||
ERROR: 12:9017: 'preprocessor evaluation' : can't evaluate expression
|
||||
ERROR: 12:9017: 'preprocessor evaluation' : bad expression
|
||||
ERROR: 12:10003: '' : missing #endif
|
||||
ERROR: 75 compilation errors. No code generated.
|
||||
ERROR: 83 compilation errors. No code generated.
|
||||
|
||||
|
||||
ERROR: node is still EOpNull!
|
||||
@@ -165,6 +173,10 @@ ERROR: node is still EOpNull!
|
||||
12:20034 6.000000
|
||||
12:20034 6.000000
|
||||
12:20034 6.000000
|
||||
12:9012 Sequence
|
||||
12:9012 move second child to first child (int)
|
||||
12:9012 'R1' (int)
|
||||
12:9012 'RECURSE' (int)
|
||||
0:? Linker Objects
|
||||
0:? 'sum' (float)
|
||||
0:? 'linenumber' (int)
|
||||
@@ -174,6 +186,9 @@ ERROR: node is still EOpNull!
|
||||
0:? 'a' (int)
|
||||
0:? 'n' (int)
|
||||
0:? 'f' (double)
|
||||
0:? 'RECURSE' (int)
|
||||
0:? 'R1' (int)
|
||||
0:? 'aoeua' (int)
|
||||
0:? 'gl_VertexID' (gl_VertexId int)
|
||||
0:? 'gl_InstanceID' (gl_InstanceId int)
|
||||
|
||||
|
||||
@@ -12,7 +12,15 @@ ERROR: 0:48: '\' : illegal use of escape character
|
||||
ERROR: 0:49: '$' : unexpected token
|
||||
ERROR: 0:50: '@' : unexpected token
|
||||
ERROR: 0:55: '#error' : good continuation
|
||||
ERROR: 12 compilation errors. No code generated.
|
||||
WARNING: 0:62: 'line continuation' : used at end of comment; the following line is still part of the comment
|
||||
ERROR: 0:111: 'macro expansion' : end of line in macro substitution: FOOM
|
||||
ERROR: 0:112: 'preprocessor evaluation' : can't evaluate expression
|
||||
ERROR: 0:112: '#if' : unexpected tokens following directive
|
||||
ERROR: 0:117: 'macro expansion' : end of line in macro substitution: FOOM
|
||||
ERROR: 0:118: 'preprocessor evaluation' : can't evaluate expression
|
||||
ERROR: 0:118: '#if' : unexpected tokens following directive
|
||||
ERROR: 0:147: '' : syntax error
|
||||
ERROR: 19 compilation errors. No code generated.
|
||||
|
||||
|
||||
ERROR: node is still EOpNull!
|
||||
@@ -72,6 +80,84 @@ ERROR: node is still EOpNull!
|
||||
0:50 'q4' (highp int)
|
||||
0:50 Constant:
|
||||
0:50 1 (const int)
|
||||
0:65 Sequence
|
||||
0:65 move second child to first child (highp int)
|
||||
0:65 'abdece' (highp int)
|
||||
0:65 Constant:
|
||||
0:65 10 (const int)
|
||||
0:66 Sequence
|
||||
0:66 move second child to first child (highp int)
|
||||
0:66 'aoeuntaoehu' (highp int)
|
||||
0:66 'abdece' (highp int)
|
||||
0:74 Sequence
|
||||
0:74 move second child to first child (highp float)
|
||||
0:74 'funkyf' (highp float)
|
||||
0:75 Constant:
|
||||
0:75 12300000000000000.000000
|
||||
0:85 Sequence
|
||||
0:84 move second child to first child (highp int)
|
||||
0:84 'funkyh' (highp int)
|
||||
0:86 Constant:
|
||||
0:86 244 (const int)
|
||||
0:91 Sequence
|
||||
0:91 move second child to first child (highp int)
|
||||
0:91 'funkyo' (highp int)
|
||||
0:92 Constant:
|
||||
0:92 34 (const int)
|
||||
0:96 Sequence
|
||||
0:96 move second child to first child (highp int)
|
||||
0:96 'c' (highp int)
|
||||
0:97 Constant:
|
||||
0:97 11 (const int)
|
||||
0:98 Sequence
|
||||
0:98 move second child to first child (highp int)
|
||||
0:98 'd' (highp int)
|
||||
0:98 Constant:
|
||||
0:98 12 (const int)
|
||||
0:107 Sequence
|
||||
0:107 move second child to first child (highp int)
|
||||
0:107 'bar103' (highp int)
|
||||
0:107 Constant:
|
||||
0:107 17 (const int)
|
||||
0:113 Sequence
|
||||
0:113 move second child to first child (highp int)
|
||||
0:113 'bar104' (highp int)
|
||||
0:113 Constant:
|
||||
0:113 19 (const int)
|
||||
0:119 Sequence
|
||||
0:119 move second child to first child (highp int)
|
||||
0:119 'bar105' (highp int)
|
||||
0:119 Constant:
|
||||
0:119 19 (const int)
|
||||
0:122 Sequence
|
||||
0:122 move second child to first child (highp int)
|
||||
0:122 'bar106' (highp int)
|
||||
0:122 Constant:
|
||||
0:122 12 (const int)
|
||||
0:123 Sequence
|
||||
0:123 move second child to first child (highp int)
|
||||
0:123 'bar107' (highp int)
|
||||
0:128 Constant:
|
||||
0:128 5 (const int)
|
||||
0:131 Function Definition: foo203209409( (void)
|
||||
0:131 Function Parameters:
|
||||
0:134 Sequence
|
||||
0:134 add second child into first child (highp int)
|
||||
0:133 'bar107' (highp int)
|
||||
0:134 Constant:
|
||||
0:134 37 (const int)
|
||||
0:135 multiply second child into first child (highp int)
|
||||
0:135 'bar107' (highp int)
|
||||
0:136 Constant:
|
||||
0:136 38 (const int)
|
||||
0:137 divide second child into first child (highp int)
|
||||
0:137 'bar107' (highp int)
|
||||
0:138 Constant:
|
||||
0:138 39 (const int)
|
||||
0:139 add (highp int)
|
||||
0:139 'bar107' (highp int)
|
||||
0:140 Constant:
|
||||
0:140 41 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'foo' (highp float)
|
||||
0:? 'goodDecl' (highp int)
|
||||
@@ -83,6 +169,18 @@ ERROR: node is still EOpNull!
|
||||
0:? 'q2' (highp int)
|
||||
0:? 'q3' (highp int)
|
||||
0:? 'q4' (highp int)
|
||||
0:? 'abdece' (highp int)
|
||||
0:? 'aoeuntaoehu' (highp int)
|
||||
0:? 'funkyf' (highp float)
|
||||
0:? 'funkyh' (highp int)
|
||||
0:? 'funkyo' (highp int)
|
||||
0:? 'c' (highp int)
|
||||
0:? 'd' (highp int)
|
||||
0:? 'bar103' (highp int)
|
||||
0:? 'bar104' (highp int)
|
||||
0:? 'bar105' (highp int)
|
||||
0:? 'bar106' (highp int)
|
||||
0:? 'bar107' (highp int)
|
||||
0:? 'gl_VertexID' (gl_VertexId highp int)
|
||||
0:? 'gl_InstanceID' (gl_InstanceId highp int)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user