Preprocessor fixes:

- Correctly handle non-directive lines starting with "#"
 - Correctly ignore unrecognized #pragma
 - Partial fix for new lines in the middle of macro invocation



git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24266 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich
2013-12-02 15:56:38 +00:00
parent 3591813a8b
commit 98434bed00
7 changed files with 192 additions and 128 deletions

View File

@@ -70,8 +70,8 @@ sum += 0.05;
}
#define A 0
#define B 0
#define C 0
# define B 0
# define C 0
#if (A == B) || (A == C)
#error good1
@@ -204,6 +204,43 @@ double f = f1;
#undef __VERSION__
#undef GL_ARB_texture_rectangle
#
#
#
##
# #
# 0x25
####
####ff
#########ff fg 0x25
#pragma
#pragma(aoent)
# pragma
#pragma STDGL
#pragma optimize( on)
#pragma optimize(off)
#pragma debug( on)
#pragma debug(off )
#pragma optimize( on) anoteun
#pragma optimize(off
#pragma debug( on) (
#pragma debug(off aoeua)
#pragma optimize( on)
#pragma optimize(off,)
#pragma debug( on, aoeu)
#pragma debugoff )
#pragma aontheu natoeh uantheo uasotea noeahuonea uonethau onethuanoeth aunotehau noeth anthoeua anoethuantoeh uantoehu natoehu naoteh unotaehu noethua onetuh aou
# \
# \
error good continuation
#flizbit
#define directive error
#directive directive was expanded
#if 1
#else
// ERROR, missing #endif