Preprocessor: Implement skipping of macros that evaluate to nothing while evaluating expressions. They had been causing early termination of an expression's evaluation.
Also includes some unrelated updates of documentation. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24420 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
parent
c719481d43
commit
2d2f31625d
10 changed files with 120 additions and 50 deletions
|
|
@ -247,6 +247,7 @@ protected:
|
|||
int CPPelse(int matchelse, TPpToken * ppToken);
|
||||
int extraTokenCheck(int atom, TPpToken* ppToken, int token);
|
||||
int eval(int token, int precedence, bool shortCircuit, int& res, bool& err, TPpToken * ppToken);
|
||||
int evalToToken(int token, bool shortCircuit, int& res, bool& err, TPpToken * ppToken);
|
||||
int CPPif (TPpToken * ppToken);
|
||||
int CPPifdef(int defined, TPpToken * ppToken);
|
||||
int CPPline(TPpToken * ppToken);
|
||||
|
|
@ -260,7 +261,7 @@ protected:
|
|||
TokenStream* PrescanMacroArg(TokenStream *a, TPpToken * ppToken);
|
||||
static int macro_scan(TPpContext* pp, InputSrc *inInput, TPpToken * ppToken);
|
||||
static int zero_scan(TPpContext* pp, InputSrc *inInput, TPpToken * ppToken);
|
||||
int MacroExpand(int atom, TPpToken* ppToken, int expandUndef);
|
||||
int MacroExpand(int atom, TPpToken* ppToken, bool expandUndef);
|
||||
|
||||
//
|
||||
// from PpSymbols.cpp
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue