EntryPoint Fragment 5 "MainPs" 70 74
ExecutionMode 5 OriginUpperLeft
1: String "hlsl.pp.line4.frag"
- 17: String "C:\Users\Greg\shaders\line\foo4.frag"
- 32: String "C:\Users\Greg\shaders\line\u1.h"
+ 17: String "C:\\Users\\Greg\\shaders\\line\\foo4.frag"
+ 32: String "C:\\Users\\Greg\\shaders\\line\\u1.h"
Source HLSL 500 1 "// OpModuleProcessed auto-map-locations
// OpModuleProcessed auto-map-bindings
// OpModuleProcessed entry-point MainPs
const char* sourceName = nullptr; // Optional source file name.
bool lineErr = false;
bool fileErr = false;
+ disableEscapeSequences = true;
token = eval(token, MIN_PRECEDENCE, false, lineRes, lineErr, ppToken);
+ disableEscapeSequences = false;
if (! lineErr) {
lineToken = lineRes;
if (token == '\n')
// Handle #error
int TPpContext::CPPerror(TPpToken* ppToken)
{
+ disableEscapeSequences = true;
int token = scanToken(ppToken);
+ disableEscapeSequences = false;
std::string message;
TSourceLoc loc = ppToken->loc;
TPpContext::TPpContext(TParseContextBase& pc, const std::string& rootFileName, TShader::Includer& inclr) :
preamble(0), strings(0), previous_token('\n'), parseContext(pc), includer(inclr), inComment(false),
rootFileName(rootFileName),
- currentSourceFile(rootFileName)
+ currentSourceFile(rootFileName),
+ disableEscapeSequences(false)
{
ifdepth = 0;
for (elsetracker = 0; elsetracker < maxIfNesting; elsetracker++)
std::string currentSourceFile;
std::istringstream strtodStream;
+ bool disableEscapeSequences;
};
} // end namespace glslang
ch = getch();
while (ch != '"' && ch != '\n' && ch != EndOfInput) {
if (len < MaxTokenLength) {
- if (ch == '\\') {
+ if (ch == '\\' && !pp->disableEscapeSequences) {
int nextCh = getch();
switch (nextCh) {
case '\'': ch = 0x27; break;