mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-09 20:10:06 +00:00
Preprocessor: Allow '\' as a token, which gets actual use in #error, but should have no other use.
This is just for '\' that's not before a new line. Note the specification says it has no use other than as line continuation, but #error is a grey area. (There are no escape sequences.)
This commit is contained in:
parent
f330f08129
commit
aead93aafd
@ -82,8 +82,17 @@ ERROR: 12:9014: '=' : cannot convert from 'temp float' to 'global int'
|
||||
ERROR: 12:9015: 'macro expansion' : expected '(' following FOOOM
|
||||
ERROR: 12:9016: 'preprocessor evaluation' : can't evaluate expression
|
||||
ERROR: 12:9016: 'preprocessor evaluation' : bad expression
|
||||
ERROR: 12:9500: 'preprocessor evaluation' : bad expression
|
||||
ERROR: 12:9500: '#if' : unexpected tokens following directive
|
||||
ERROR: 12:9502: 'preprocessor evaluation' : bad expression
|
||||
ERROR: 12:9502: '#if' : unexpected tokens following directive
|
||||
ERROR: 12:9504: 'preprocessor evaluation' : bad expression
|
||||
ERROR: 12:9504: '#if' : unexpected tokens following directive
|
||||
ERROR: 12:9506: '#error' : \ 377
|
||||
ERROR: 12:9507: '#error' : \ 376
|
||||
ERROR: 12:9508: '#error' : \ 377
|
||||
ERROR: 12:10002: '' : missing #endif
|
||||
ERROR: 79 compilation errors. No code generated.
|
||||
ERROR: 88 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 400
|
||||
|
@ -326,6 +326,17 @@ int aoeua = FOOOM;
|
||||
#if FOOOM
|
||||
#endif
|
||||
|
||||
#line 9500
|
||||
#if\376
|
||||
#endif
|
||||
#if \376
|
||||
#endif
|
||||
#if \377
|
||||
#endif
|
||||
#error\377
|
||||
#error \ 376
|
||||
#error \377
|
||||
|
||||
#line 10000
|
||||
#if 1
|
||||
#else
|
||||
|
@ -462,8 +462,8 @@ int TPpContext::eval(int token, int precedence, bool shortCircuit, int& res, boo
|
||||
token = scanToken(ppToken);
|
||||
}
|
||||
} else {
|
||||
int op;
|
||||
for (op = NUM_ELEMENTS(unop) - 1; op >= 0; op--) {
|
||||
int op = NUM_ELEMENTS(unop) - 1;
|
||||
for (; op >= 0; op--) {
|
||||
if (unop[op].token == token)
|
||||
break;
|
||||
}
|
||||
|
@ -175,7 +175,7 @@ void TPpContext::AddAtomFixed(const char* s, int atom)
|
||||
void TPpContext::InitAtomTable()
|
||||
{
|
||||
// Add single character tokens to the atom table:
|
||||
const char* s = "~!%^&*()-+=|,.<>/?;:[]{}#";
|
||||
const char* s = "~!%^&*()-+=|,.<>/?;:[]{}#\\";
|
||||
char t[2];
|
||||
|
||||
t[1] = '\0';
|
||||
|
Loading…
Reference in New Issue
Block a user