HLSL: Non-functional: Don't process function name/parameters before expected a function declaration.

This commit is contained in:
John Kessenich 2017-03-08 18:53:51 -07:00
parent b7201f8ee6
commit 78388726eb
2 changed files with 14 additions and 8 deletions

View File

@ -2,5 +2,5 @@
// For the version, it uses the latest git tag followed by the number of commits. // For the version, it uses the latest git tag followed by the number of commits.
// For the date, it uses the current date (when then script is run). // For the date, it uses the current date (when then script is run).
#define GLSLANG_REVISION "Overload400-PrecQual.1882" #define GLSLANG_REVISION "Overload400-PrecQual.1885"
#define GLSLANG_DATE "07-Mar-2017" #define GLSLANG_DATE "08-Mar-2017"

View File

@ -326,14 +326,20 @@ bool HlslGrammar::acceptDeclaration(TIntermNode*& nodeList)
HlslToken idToken; HlslToken idToken;
TIntermAggregate* initializers = nullptr; TIntermAggregate* initializers = nullptr;
while (acceptIdentifier(idToken)) { while (acceptIdentifier(idToken)) {
TString* fnName = idToken.string; if (peekTokenClass(EHTokLeftParen)) {
// looks like function parameters
TString* fnName = idToken.string;
// Potentially rename shader entry point function. No-op most of the time. // Potentially rename shader entry point function. No-op most of the time.
parseContext.renameShaderFunction(fnName); parseContext.renameShaderFunction(fnName);
// function_parameters
TFunction& function = *new TFunction(fnName, declaredType);
if (!acceptFunctionParameters(function)) {
expected("function parameter list");
return false;
}
// function_parameters
TFunction& function = *new TFunction(fnName, declaredType);
if (acceptFunctionParameters(function)) {
// post_decls // post_decls
acceptPostDecls(function.getWritableType().getQualifier()); acceptPostDecls(function.getWritableType().getQualifier());