Flesh out 4.x block redeclaration semantics:
- hide non-redeclared anonymous members - array size limit checking - illegal member qualifiers - additional members git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24406 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
parent
e1b2e39a56
commit
c719481d43
16 changed files with 229 additions and 127 deletions
|
|
@ -74,7 +74,7 @@ public:
|
|||
const char *szExtraInfoFormat, ...);
|
||||
void C_DECL warn(TSourceLoc, const char *szReason, const char *szToken,
|
||||
const char *szExtraInfoFormat, ...);
|
||||
bool reservedErrorCheck(TSourceLoc, const TString&);
|
||||
void reservedErrorCheck(TSourceLoc, const TString&);
|
||||
void reservedPpErrorCheck(TSourceLoc, const char* name, const char* op);
|
||||
bool lineContinuationCheck(TSourceLoc, bool endOfComment);
|
||||
bool builtInName(const TString&);
|
||||
|
|
@ -125,7 +125,7 @@ public:
|
|||
void parameterSamplerCheck(TSourceLoc, TStorageQualifier qualifier, const TType& type);
|
||||
bool containsSampler(const TType& type);
|
||||
TSymbol* redeclareBuiltinVariable(TSourceLoc, const TString&, const TQualifier&, const TShaderQualifiers&, bool& newDeclaration);
|
||||
bool redeclareBuiltinBlock(TSourceLoc, TTypeList& typeList, const TString& blockName, const TString* instanceName, TArraySizes* arraySizes);
|
||||
void redeclareBuiltinBlock(TSourceLoc, TTypeList& typeList, const TString& blockName, const TString* instanceName, TArraySizes* arraySizes);
|
||||
void paramCheckFix(TSourceLoc, const TStorageQualifier&, TType& type);
|
||||
void paramCheckFix(TSourceLoc, const TQualifier&, TType& type);
|
||||
void nestedBlockCheck(TSourceLoc);
|
||||
|
|
@ -134,6 +134,7 @@ public:
|
|||
void opaqueCheck(TSourceLoc, const TType&, const char* op);
|
||||
void structTypeCheck(TSourceLoc, TPublicType&);
|
||||
void inductiveLoopCheck(TSourceLoc, TIntermNode* init, TIntermLoop* loop);
|
||||
void arrayLimitCheck(TSourceLoc, const TString&, int size);
|
||||
void limitCheck(TSourceLoc, int value, const char* limit, const char* feature);
|
||||
|
||||
void inductiveLoopBodyCheck(TIntermNode*, int loopIndexId, TSymbolTable&);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue