1) Allow '\' before a non-newline as a token in the preprocessor, and 2) localize line-continuation to just the pp scanner.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24530 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich
2013-12-16 23:58:15 +00:00
parent 27151efa71
commit bd95819123
10 changed files with 245 additions and 78 deletions

View File

@@ -3,7 +3,16 @@ WARNING: 0:3: 'line continuation' : used at end of comment; the following line i
ERROR: 0:6: '#error' : e1
ERROR: 0:11: '#error' : e2
ERROR: 0:18: '#error' : e3
ERROR: 3 compilation errors. No code generated.
ERROR: 0:42: '\' : illegal use of escape character
ERROR: 0:43: '@' : unexpected token
ERROR: 0:44: '$' : unexpected token
ERROR: 0:45: '\' : illegal use of escape character
ERROR: 0:47: '\' : illegal use of escape character
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.
ERROR: node is still EOpNull!
@@ -24,9 +33,56 @@ ERROR: node is still EOpNull!
0:24 'a' (in highp 4-component vector of float)
0:25 Branch: Return with expression
0:25 'b' (highp 4-component vector of float)
0:42 Sequence
0:42 move second child to first child (highp int)
0:42 'a1' (highp int)
0:42 Constant:
0:42 4 (const int)
0:43 Sequence
0:43 move second child to first child (highp int)
0:43 'a2' (highp int)
0:43 Constant:
0:43 3 (const int)
0:44 Sequence
0:44 move second child to first child (highp int)
0:44 'a3' (highp int)
0:44 Constant:
0:44 4 (const int)
0:45 Sequence
0:45 move second child to first child (highp int)
0:45 'a4' (highp int)
0:45 'a2' (highp int)
0:47 Sequence
0:47 move second child to first child (highp int)
0:47 'q1' (highp int)
0:47 Constant:
0:47 1 (const int)
0:48 Sequence
0:48 move second child to first child (highp int)
0:48 'q2' (highp int)
0:48 Constant:
0:48 1 (const int)
0:49 Sequence
0:49 move second child to first child (highp int)
0:49 'q3' (highp int)
0:49 Constant:
0:49 1 (const int)
0:50 Sequence
0:50 move second child to first child (highp int)
0:50 'q4' (highp int)
0:50 Constant:
0:50 1 (const int)
0:? Linker Objects
0:? 'foo' (highp float)
0:? 'goodDecl' (highp int)
0:? 'a1' (highp int)
0:? 'a2' (highp int)
0:? 'a3' (highp int)
0:? 'a4' (highp int)
0:? 'q1' (highp int)
0:? 'q2' (highp int)
0:? 'q3' (highp int)
0:? 'q4' (highp int)
0:? 'gl_VertexID' (gl_VertexId highp int)
0:? 'gl_InstanceID' (gl_InstanceId highp int)