Commit 249cb200 by Shahbaz Youssefi Committed by Commit Bot

Translator: Rename TIntermInvariantDeclaration to ..GlobalQualifier..

This is to support the upcoming `precise` keyword. Bug: angleproject:3569 Change-Id: Idbcc8fd6f261757dbbf81b381e7a2dae938d8101 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947451Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent a5045ac3
...@@ -4,11 +4,11 @@ ...@@ -4,11 +4,11 @@
"src/compiler/translator/glslang.l": "src/compiler/translator/glslang.l":
"75adc098def35a464dfb5ca1a0e99799", "75adc098def35a464dfb5ca1a0e99799",
"src/compiler/translator/glslang.y": "src/compiler/translator/glslang.y":
"e32a1376309bd63368e45a968362d375", "7b6b24685a467cbb7f50dc62176c2fef",
"src/compiler/translator/glslang_lex_autogen.cpp": "src/compiler/translator/glslang_lex_autogen.cpp":
"5f55ca207583009489d136e47c71beb5", "5f55ca207583009489d136e47c71beb5",
"src/compiler/translator/glslang_tab_autogen.cpp": "src/compiler/translator/glslang_tab_autogen.cpp":
"ce4d6a80cebfee9b0c28ebfd51287fea", "050bddb6103769b9e55f7fe62972ac86",
"src/compiler/translator/glslang_tab_autogen.h": "src/compiler/translator/glslang_tab_autogen.h":
"4133ae84a4c17051cf114f404fea0046", "4133ae84a4c17051cf114f404fea0046",
"tools/flex-bison/linux/bison.sha1": "tools/flex-bison/linux/bison.sha1":
......
...@@ -117,7 +117,8 @@ class CollectVariablesTraverser : public TIntermTraverser ...@@ -117,7 +117,8 @@ class CollectVariablesTraverser : public TIntermTraverser
GLenum shaderType, GLenum shaderType,
const TExtensionBehavior &extensionBehavior); const TExtensionBehavior &extensionBehavior);
bool visitInvariantDeclaration(Visit visit, TIntermInvariantDeclaration *node) override; bool visitGlobalQualifierDeclaration(Visit visit,
TIntermGlobalQualifierDeclaration *node) override;
void visitSymbol(TIntermSymbol *symbol) override; void visitSymbol(TIntermSymbol *symbol) override;
bool visitDeclaration(Visit, TIntermDeclaration *node) override; bool visitDeclaration(Visit, TIntermDeclaration *node) override;
bool visitBinary(Visit visit, TIntermBinary *binaryNode) override; bool visitBinary(Visit visit, TIntermBinary *binaryNode) override;
...@@ -354,8 +355,9 @@ InterfaceBlock *CollectVariablesTraverser::recordGLInUsed(const TType &glInType) ...@@ -354,8 +355,9 @@ InterfaceBlock *CollectVariablesTraverser::recordGLInUsed(const TType &glInType)
} }
} }
bool CollectVariablesTraverser::visitInvariantDeclaration(Visit visit, bool CollectVariablesTraverser::visitGlobalQualifierDeclaration(
TIntermInvariantDeclaration *node) Visit visit,
TIntermGlobalQualifierDeclaration *node)
{ {
// We should not mark variables as active just based on an invariant declaration, so we don't // We should not mark variables as active just based on an invariant declaration, so we don't
// traverse the symbols declared invariant. // traverse the symbols declared invariant.
......
...@@ -350,19 +350,20 @@ bool TIntermUnary::replaceChildNode(TIntermNode *original, TIntermNode *replacem ...@@ -350,19 +350,20 @@ bool TIntermUnary::replaceChildNode(TIntermNode *original, TIntermNode *replacem
return false; return false;
} }
size_t TIntermInvariantDeclaration::getChildCount() const size_t TIntermGlobalQualifierDeclaration::getChildCount() const
{ {
return 1; return 1;
} }
TIntermNode *TIntermInvariantDeclaration::getChildNode(size_t index) const TIntermNode *TIntermGlobalQualifierDeclaration::getChildNode(size_t index) const
{ {
ASSERT(mSymbol); ASSERT(mSymbol);
ASSERT(index == 0); ASSERT(index == 0);
return mSymbol; return mSymbol;
} }
bool TIntermInvariantDeclaration::replaceChildNode(TIntermNode *original, TIntermNode *replacement) bool TIntermGlobalQualifierDeclaration::replaceChildNode(TIntermNode *original,
TIntermNode *replacement)
{ {
REPLACE_IF_IS(mSymbol, TIntermSymbol, original, replacement); REPLACE_IF_IS(mSymbol, TIntermSymbol, original, replacement);
return false; return false;
...@@ -1332,17 +1333,18 @@ TIntermBinary *TIntermBinary::CreateComma(TIntermTyped *left, ...@@ -1332,17 +1333,18 @@ TIntermBinary *TIntermBinary::CreateComma(TIntermTyped *left,
return node; return node;
} }
TIntermInvariantDeclaration::TIntermInvariantDeclaration(TIntermSymbol *symbol, TIntermGlobalQualifierDeclaration::TIntermGlobalQualifierDeclaration(TIntermSymbol *symbol,
const TSourceLoc &line) const TSourceLoc &line)
: TIntermNode(), mSymbol(symbol) : TIntermNode(), mSymbol(symbol)
{ {
ASSERT(symbol); ASSERT(symbol);
setLine(line); setLine(line);
} }
TIntermInvariantDeclaration::TIntermInvariantDeclaration(const TIntermInvariantDeclaration &node) TIntermGlobalQualifierDeclaration::TIntermGlobalQualifierDeclaration(
: TIntermInvariantDeclaration(static_cast<TIntermSymbol *>(node.mSymbol->deepCopy()), const TIntermGlobalQualifierDeclaration &node)
node.mLine) : TIntermGlobalQualifierDeclaration(static_cast<TIntermSymbol *>(node.mSymbol->deepCopy()),
node.mLine)
{} {}
TIntermTernary::TIntermTernary(TIntermTyped *cond, TIntermTernary::TIntermTernary(TIntermTyped *cond,
......
...@@ -38,7 +38,7 @@ class TDiagnostics; ...@@ -38,7 +38,7 @@ class TDiagnostics;
class TIntermTraverser; class TIntermTraverser;
class TIntermAggregate; class TIntermAggregate;
class TIntermBlock; class TIntermBlock;
class TIntermInvariantDeclaration; class TIntermGlobalQualifierDeclaration;
class TIntermDeclaration; class TIntermDeclaration;
class TIntermFunctionPrototype; class TIntermFunctionPrototype;
class TIntermFunctionDefinition; class TIntermFunctionDefinition;
...@@ -90,7 +90,10 @@ class TIntermNode : angle::NonCopyable ...@@ -90,7 +90,10 @@ class TIntermNode : angle::NonCopyable
virtual TIntermAggregate *getAsAggregate() { return nullptr; } virtual TIntermAggregate *getAsAggregate() { return nullptr; }
virtual TIntermBlock *getAsBlock() { return nullptr; } virtual TIntermBlock *getAsBlock() { return nullptr; }
virtual TIntermFunctionPrototype *getAsFunctionPrototypeNode() { return nullptr; } virtual TIntermFunctionPrototype *getAsFunctionPrototypeNode() { return nullptr; }
virtual TIntermInvariantDeclaration *getAsInvariantDeclarationNode() { return nullptr; } virtual TIntermGlobalQualifierDeclaration *getAsGlobalQualifierDeclarationNode()
{
return nullptr;
}
virtual TIntermDeclaration *getAsDeclarationNode() { return nullptr; } virtual TIntermDeclaration *getAsDeclarationNode() { return nullptr; }
virtual TIntermSwizzle *getAsSwizzleNode() { return nullptr; } virtual TIntermSwizzle *getAsSwizzleNode() { return nullptr; }
virtual TIntermBinary *getAsBinaryNode() { return nullptr; } virtual TIntermBinary *getAsBinaryNode() { return nullptr; }
...@@ -801,12 +804,15 @@ class TIntermDeclaration : public TIntermNode, public TIntermAggregateBase ...@@ -801,12 +804,15 @@ class TIntermDeclaration : public TIntermNode, public TIntermAggregateBase
}; };
// Specialized declarations for attributing invariance. // Specialized declarations for attributing invariance.
class TIntermInvariantDeclaration : public TIntermNode class TIntermGlobalQualifierDeclaration : public TIntermNode
{ {
public: public:
TIntermInvariantDeclaration(TIntermSymbol *symbol, const TSourceLoc &line); TIntermGlobalQualifierDeclaration(TIntermSymbol *symbol, const TSourceLoc &line);
virtual TIntermInvariantDeclaration *getAsInvariantDeclarationNode() override { return this; } virtual TIntermGlobalQualifierDeclaration *getAsGlobalQualifierDeclarationNode() override
{
return this;
}
bool visit(Visit visit, TIntermTraverser *it) final; bool visit(Visit visit, TIntermTraverser *it) final;
TIntermSymbol *getSymbol() { return mSymbol; } TIntermSymbol *getSymbol() { return mSymbol; }
...@@ -815,15 +821,15 @@ class TIntermInvariantDeclaration : public TIntermNode ...@@ -815,15 +821,15 @@ class TIntermInvariantDeclaration : public TIntermNode
TIntermNode *getChildNode(size_t index) const final; TIntermNode *getChildNode(size_t index) const final;
bool replaceChildNode(TIntermNode *original, TIntermNode *replacement) override; bool replaceChildNode(TIntermNode *original, TIntermNode *replacement) override;
TIntermInvariantDeclaration *deepCopy() const override TIntermGlobalQualifierDeclaration *deepCopy() const override
{ {
return new TIntermInvariantDeclaration(*this); return new TIntermGlobalQualifierDeclaration(*this);
} }
private: private:
TIntermSymbol *mSymbol; TIntermSymbol *mSymbol;
TIntermInvariantDeclaration(const TIntermInvariantDeclaration &); TIntermGlobalQualifierDeclaration(const TIntermGlobalQualifierDeclaration &);
}; };
// For ternary operators like a ? b : c. // For ternary operators like a ? b : c.
......
...@@ -952,7 +952,8 @@ bool TOutputGLSLBase::visitFunctionDefinition(Visit visit, TIntermFunctionDefini ...@@ -952,7 +952,8 @@ bool TOutputGLSLBase::visitFunctionDefinition(Visit visit, TIntermFunctionDefini
return false; return false;
} }
bool TOutputGLSLBase::visitInvariantDeclaration(Visit visit, TIntermInvariantDeclaration *node) bool TOutputGLSLBase::visitGlobalQualifierDeclaration(Visit visit,
TIntermGlobalQualifierDeclaration *node)
{ {
TInfoSinkBase &out = objSink(); TInfoSinkBase &out = objSink();
ASSERT(visit == PreVisit); ASSERT(visit == PreVisit);
......
...@@ -65,7 +65,8 @@ class TOutputGLSLBase : public TIntermTraverser ...@@ -65,7 +65,8 @@ class TOutputGLSLBase : public TIntermTraverser
bool visitFunctionDefinition(Visit visit, TIntermFunctionDefinition *node) override; bool visitFunctionDefinition(Visit visit, TIntermFunctionDefinition *node) override;
bool visitAggregate(Visit visit, TIntermAggregate *node) override; bool visitAggregate(Visit visit, TIntermAggregate *node) override;
bool visitBlock(Visit visit, TIntermBlock *node) override; bool visitBlock(Visit visit, TIntermBlock *node) override;
bool visitInvariantDeclaration(Visit visit, TIntermInvariantDeclaration *node) override; bool visitGlobalQualifierDeclaration(Visit visit,
TIntermGlobalQualifierDeclaration *node) override;
bool visitDeclaration(Visit visit, TIntermDeclaration *node) override; bool visitDeclaration(Visit visit, TIntermDeclaration *node) override;
bool visitLoop(Visit visit, TIntermLoop *node) override; bool visitLoop(Visit visit, TIntermLoop *node) override;
bool visitBranch(Visit visit, TIntermBranch *node) override; bool visitBranch(Visit visit, TIntermBranch *node) override;
......
...@@ -2087,7 +2087,7 @@ bool OutputHLSL::visitBlock(Visit visit, TIntermBlock *node) ...@@ -2087,7 +2087,7 @@ bool OutputHLSL::visitBlock(Visit visit, TIntermBlock *node)
statement->getAsFunctionDefinition() == nullptr && statement->getAsFunctionDefinition() == nullptr &&
(statement->getAsDeclarationNode() == nullptr || (statement->getAsDeclarationNode() == nullptr ||
IsDeclarationWrittenOut(statement->getAsDeclarationNode())) && IsDeclarationWrittenOut(statement->getAsDeclarationNode())) &&
statement->getAsInvariantDeclarationNode() == nullptr) statement->getAsGlobalQualifierDeclarationNode() == nullptr)
{ {
out << ";\n"; out << ";\n";
} }
...@@ -2266,7 +2266,8 @@ bool OutputHLSL::visitDeclaration(Visit visit, TIntermDeclaration *node) ...@@ -2266,7 +2266,8 @@ bool OutputHLSL::visitDeclaration(Visit visit, TIntermDeclaration *node)
return false; return false;
} }
bool OutputHLSL::visitInvariantDeclaration(Visit visit, TIntermInvariantDeclaration *node) bool OutputHLSL::visitGlobalQualifierDeclaration(Visit visit,
TIntermGlobalQualifierDeclaration *node)
{ {
// Do not do any translation // Do not do any translation
return false; return false;
......
...@@ -100,7 +100,8 @@ class OutputHLSL : public TIntermTraverser ...@@ -100,7 +100,8 @@ class OutputHLSL : public TIntermTraverser
bool visitFunctionDefinition(Visit visit, TIntermFunctionDefinition *node) override; bool visitFunctionDefinition(Visit visit, TIntermFunctionDefinition *node) override;
bool visitAggregate(Visit visit, TIntermAggregate *) override; bool visitAggregate(Visit visit, TIntermAggregate *) override;
bool visitBlock(Visit visit, TIntermBlock *node) override; bool visitBlock(Visit visit, TIntermBlock *node) override;
bool visitInvariantDeclaration(Visit visit, TIntermInvariantDeclaration *node) override; bool visitGlobalQualifierDeclaration(Visit visit,
TIntermGlobalQualifierDeclaration *node) override;
bool visitDeclaration(Visit visit, TIntermDeclaration *node) override; bool visitDeclaration(Visit visit, TIntermDeclaration *node) override;
bool visitLoop(Visit visit, TIntermLoop *) override; bool visitLoop(Visit visit, TIntermLoop *) override;
bool visitBranch(Visit visit, TIntermBranch *) override; bool visitBranch(Visit visit, TIntermBranch *) override;
......
...@@ -49,7 +49,8 @@ class TOutputTraverser : public TIntermTraverser ...@@ -49,7 +49,8 @@ class TOutputTraverser : public TIntermTraverser
bool visitFunctionDefinition(Visit visit, TIntermFunctionDefinition *node) override; bool visitFunctionDefinition(Visit visit, TIntermFunctionDefinition *node) override;
bool visitAggregate(Visit visit, TIntermAggregate *) override; bool visitAggregate(Visit visit, TIntermAggregate *) override;
bool visitBlock(Visit visit, TIntermBlock *) override; bool visitBlock(Visit visit, TIntermBlock *) override;
bool visitInvariantDeclaration(Visit visit, TIntermInvariantDeclaration *node) override; bool visitGlobalQualifierDeclaration(Visit visit,
TIntermGlobalQualifierDeclaration *node) override;
bool visitDeclaration(Visit visit, TIntermDeclaration *node) override; bool visitDeclaration(Visit visit, TIntermDeclaration *node) override;
bool visitLoop(Visit visit, TIntermLoop *) override; bool visitLoop(Visit visit, TIntermLoop *) override;
bool visitBranch(Visit visit, TIntermBranch *) override; bool visitBranch(Visit visit, TIntermBranch *) override;
...@@ -358,7 +359,8 @@ bool TOutputTraverser::visitFunctionDefinition(Visit visit, TIntermFunctionDefin ...@@ -358,7 +359,8 @@ bool TOutputTraverser::visitFunctionDefinition(Visit visit, TIntermFunctionDefin
return true; return true;
} }
bool TOutputTraverser::visitInvariantDeclaration(Visit visit, TIntermInvariantDeclaration *node) bool TOutputTraverser::visitGlobalQualifierDeclaration(Visit visit,
TIntermGlobalQualifierDeclaration *node)
{ {
OutputTreeText(mOut, node, getCurrentIndentDepth()); OutputTreeText(mOut, node, getCurrentIndentDepth());
mOut << "Invariant Declaration:\n"; mOut << "Invariant Declaration:\n";
......
...@@ -29,7 +29,8 @@ class TOutputVulkanGLSLForMetal : public TOutputVulkanGLSL ...@@ -29,7 +29,8 @@ class TOutputVulkanGLSLForMetal : public TOutputVulkanGLSL
static void RemoveInvariantForTest(bool remove); static void RemoveInvariantForTest(bool remove);
protected: protected:
bool visitInvariantDeclaration(Visit visit, TIntermInvariantDeclaration *node) override; bool visitGlobalQualifierDeclaration(Visit visit,
TIntermGlobalQualifierDeclaration *node) override;
void writeVariableType(const TType &type, const TSymbol *symbol) override; void writeVariableType(const TType &type, const TSymbol *symbol) override;
}; };
......
...@@ -87,8 +87,9 @@ void TOutputVulkanGLSLForMetal::writeVariableType(const TType &type, const TSymb ...@@ -87,8 +87,9 @@ void TOutputVulkanGLSLForMetal::writeVariableType(const TType &type, const TSymb
TOutputVulkanGLSL::writeVariableType(overrideType, symbol); TOutputVulkanGLSL::writeVariableType(overrideType, symbol);
} }
bool TOutputVulkanGLSLForMetal::visitInvariantDeclaration(Visit visit, bool TOutputVulkanGLSLForMetal::visitGlobalQualifierDeclaration(
TIntermInvariantDeclaration *node) Visit visit,
TIntermGlobalQualifierDeclaration *node)
{ {
TInfoSinkBase &out = objSink(); TInfoSinkBase &out = objSink();
ASSERT(visit == PreVisit); ASSERT(visit == PreVisit);
......
...@@ -2645,7 +2645,7 @@ TIntermDeclaration *TParseContext::parseSingleArrayInitDeclaration( ...@@ -2645,7 +2645,7 @@ TIntermDeclaration *TParseContext::parseSingleArrayInitDeclaration(
return declaration; return declaration;
} }
TIntermInvariantDeclaration *TParseContext::parseInvariantDeclaration( TIntermGlobalQualifierDeclaration *TParseContext::parseGlobalQualifierDeclaration(
const TTypeQualifierBuilder &typeQualifierBuilder, const TTypeQualifierBuilder &typeQualifierBuilder,
const TSourceLoc &identifierLoc, const TSourceLoc &identifierLoc,
const ImmutableString &identifier, const ImmutableString &identifier,
...@@ -2698,7 +2698,7 @@ TIntermInvariantDeclaration *TParseContext::parseInvariantDeclaration( ...@@ -2698,7 +2698,7 @@ TIntermInvariantDeclaration *TParseContext::parseInvariantDeclaration(
TIntermSymbol *intermSymbol = new TIntermSymbol(variable); TIntermSymbol *intermSymbol = new TIntermSymbol(variable);
intermSymbol->setLine(identifierLoc); intermSymbol->setLine(identifierLoc);
return new TIntermInvariantDeclaration(intermSymbol, identifierLoc); return new TIntermGlobalQualifierDeclaration(intermSymbol, identifierLoc);
} }
void TParseContext::parseDeclarator(TPublicType &publicType, void TParseContext::parseDeclarator(TPublicType &publicType,
......
...@@ -248,7 +248,7 @@ class TParseContext : angle::NonCopyable ...@@ -248,7 +248,7 @@ class TParseContext : angle::NonCopyable
const TSourceLoc &initLocation, const TSourceLoc &initLocation,
TIntermTyped *initializer); TIntermTyped *initializer);
TIntermInvariantDeclaration *parseInvariantDeclaration( TIntermGlobalQualifierDeclaration *parseGlobalQualifierDeclaration(
const TTypeQualifierBuilder &typeQualifierBuilder, const TTypeQualifierBuilder &typeQualifierBuilder,
const TSourceLoc &identifierLoc, const TSourceLoc &identifierLoc,
const ImmutableString &identifier, const ImmutableString &identifier,
......
...@@ -35,7 +35,8 @@ class ValidateAST : public TIntermTraverser ...@@ -35,7 +35,8 @@ class ValidateAST : public TIntermTraverser
bool visitFunctionDefinition(Visit visit, TIntermFunctionDefinition *node) override; bool visitFunctionDefinition(Visit visit, TIntermFunctionDefinition *node) override;
bool visitAggregate(Visit visit, TIntermAggregate *node) override; bool visitAggregate(Visit visit, TIntermAggregate *node) override;
bool visitBlock(Visit visit, TIntermBlock *node) override; bool visitBlock(Visit visit, TIntermBlock *node) override;
bool visitInvariantDeclaration(Visit visit, TIntermInvariantDeclaration *node) override; bool visitGlobalQualifierDeclaration(Visit visit,
TIntermGlobalQualifierDeclaration *node) override;
bool visitDeclaration(Visit visit, TIntermDeclaration *node) override; bool visitDeclaration(Visit visit, TIntermDeclaration *node) override;
bool visitLoop(Visit visit, TIntermLoop *node) override; bool visitLoop(Visit visit, TIntermLoop *node) override;
bool visitBranch(Visit visit, TIntermBranch *node) override; bool visitBranch(Visit visit, TIntermBranch *node) override;
...@@ -206,7 +207,8 @@ bool ValidateAST::visitBlock(Visit visit, TIntermBlock *node) ...@@ -206,7 +207,8 @@ bool ValidateAST::visitBlock(Visit visit, TIntermBlock *node)
return true; return true;
} }
bool ValidateAST::visitInvariantDeclaration(Visit visit, TIntermInvariantDeclaration *node) bool ValidateAST::visitGlobalQualifierDeclaration(Visit visit,
TIntermGlobalQualifierDeclaration *node)
{ {
visitNode(visit, node); visitNode(visit, node);
return true; return true;
......
...@@ -99,7 +99,7 @@ bool TVersionGLSL::visitDeclaration(Visit, TIntermDeclaration *node) ...@@ -99,7 +99,7 @@ bool TVersionGLSL::visitDeclaration(Visit, TIntermDeclaration *node)
return true; return true;
} }
bool TVersionGLSL::visitInvariantDeclaration(Visit, TIntermInvariantDeclaration *node) bool TVersionGLSL::visitGlobalQualifierDeclaration(Visit, TIntermGlobalQualifierDeclaration *node)
{ {
ensureVersionIsAtLeast(GLSL_VERSION_120); ensureVersionIsAtLeast(GLSL_VERSION_120);
return true; return true;
......
...@@ -61,7 +61,7 @@ class TVersionGLSL : public TIntermTraverser ...@@ -61,7 +61,7 @@ class TVersionGLSL : public TIntermTraverser
void visitSymbol(TIntermSymbol *node) override; void visitSymbol(TIntermSymbol *node) override;
bool visitAggregate(Visit, TIntermAggregate *node) override; bool visitAggregate(Visit, TIntermAggregate *node) override;
bool visitInvariantDeclaration(Visit, TIntermInvariantDeclaration *node) override; bool visitGlobalQualifierDeclaration(Visit, TIntermGlobalQualifierDeclaration *node) override;
void visitFunctionPrototype(TIntermFunctionPrototype *node) override; void visitFunctionPrototype(TIntermFunctionPrototype *node) override;
bool visitDeclaration(Visit, TIntermDeclaration *node) override; bool visitDeclaration(Visit, TIntermDeclaration *node) override;
......
...@@ -624,7 +624,7 @@ declaration ...@@ -624,7 +624,7 @@ declaration
} }
| type_qualifier IDENTIFIER SEMICOLON // e.g. to qualify an existing variable as invariant | type_qualifier IDENTIFIER SEMICOLON // e.g. to qualify an existing variable as invariant
{ {
$$ = context->parseInvariantDeclaration(*$1, @2, ImmutableString($2.string), $2.symbol); $$ = context->parseGlobalQualifierDeclaration(*$1, @2, ImmutableString($2.string), $2.symbol);
} }
; ;
......
...@@ -3259,7 +3259,7 @@ yyreduce: ...@@ -3259,7 +3259,7 @@ yyreduce:
case 96: case 96:
{ {
(yyval.interm.intermNode) = context->parseInvariantDeclaration(*(yyvsp[-2].interm.typeQualifierBuilder), (yylsp[-1]), ImmutableString((yyvsp[-1].lex).string), (yyvsp[-1].lex).symbol); (yyval.interm.intermNode) = context->parseGlobalQualifierDeclaration(*(yyvsp[-2].interm.typeQualifierBuilder), (yylsp[-1]), ImmutableString((yyvsp[-1].lex).string), (yyvsp[-1].lex).symbol);
} }
break; break;
......
...@@ -609,7 +609,8 @@ bool EmulatePrecision::visitDeclaration(Visit visit, TIntermDeclaration *node) ...@@ -609,7 +609,8 @@ bool EmulatePrecision::visitDeclaration(Visit visit, TIntermDeclaration *node)
return true; return true;
} }
bool EmulatePrecision::visitInvariantDeclaration(Visit visit, TIntermInvariantDeclaration *node) bool EmulatePrecision::visitGlobalQualifierDeclaration(Visit visit,
TIntermGlobalQualifierDeclaration *node)
{ {
return false; return false;
} }
......
...@@ -30,7 +30,8 @@ class EmulatePrecision : public TLValueTrackingTraverser ...@@ -30,7 +30,8 @@ class EmulatePrecision : public TLValueTrackingTraverser
bool visitBinary(Visit visit, TIntermBinary *node) override; bool visitBinary(Visit visit, TIntermBinary *node) override;
bool visitUnary(Visit visit, TIntermUnary *node) override; bool visitUnary(Visit visit, TIntermUnary *node) override;
bool visitAggregate(Visit visit, TIntermAggregate *node) override; bool visitAggregate(Visit visit, TIntermAggregate *node) override;
bool visitInvariantDeclaration(Visit visit, TIntermInvariantDeclaration *node) override; bool visitGlobalQualifierDeclaration(Visit visit,
TIntermGlobalQualifierDeclaration *node) override;
bool visitDeclaration(Visit visit, TIntermDeclaration *node) override; bool visitDeclaration(Visit visit, TIntermDeclaration *node) override;
void writeEmulationHelpers(TInfoSinkBase &sink, void writeEmulationHelpers(TInfoSinkBase &sink,
......
...@@ -22,7 +22,8 @@ class RemoveInvariantDeclarationTraverser : public TIntermTraverser ...@@ -22,7 +22,8 @@ class RemoveInvariantDeclarationTraverser : public TIntermTraverser
RemoveInvariantDeclarationTraverser() : TIntermTraverser(true, false, false) {} RemoveInvariantDeclarationTraverser() : TIntermTraverser(true, false, false) {}
private: private:
bool visitInvariantDeclaration(Visit visit, TIntermInvariantDeclaration *node) override bool visitGlobalQualifierDeclaration(Visit visit,
TIntermGlobalQualifierDeclaration *node) override
{ {
TIntermSequence emptyReplacement; TIntermSequence emptyReplacement;
mMultiReplacements.push_back( mMultiReplacements.push_back(
......
...@@ -166,9 +166,9 @@ bool TIntermDeclaration::visit(Visit visit, TIntermTraverser *it) ...@@ -166,9 +166,9 @@ bool TIntermDeclaration::visit(Visit visit, TIntermTraverser *it)
return it->visitDeclaration(visit, this); return it->visitDeclaration(visit, this);
} }
bool TIntermInvariantDeclaration::visit(Visit visit, TIntermTraverser *it) bool TIntermGlobalQualifierDeclaration::visit(Visit visit, TIntermTraverser *it)
{ {
return it->visitInvariantDeclaration(visit, this); return it->visitGlobalQualifierDeclaration(visit, this);
} }
bool TIntermBlock::visit(Visit visit, TIntermTraverser *it) bool TIntermBlock::visit(Visit visit, TIntermTraverser *it)
......
...@@ -57,7 +57,8 @@ class TIntermTraverser : angle::NonCopyable ...@@ -57,7 +57,8 @@ class TIntermTraverser : angle::NonCopyable
} }
virtual bool visitAggregate(Visit visit, TIntermAggregate *node) { return true; } virtual bool visitAggregate(Visit visit, TIntermAggregate *node) { return true; }
virtual bool visitBlock(Visit visit, TIntermBlock *node) { return true; } virtual bool visitBlock(Visit visit, TIntermBlock *node) { return true; }
virtual bool visitInvariantDeclaration(Visit visit, TIntermInvariantDeclaration *node) virtual bool visitGlobalQualifierDeclaration(Visit visit,
TIntermGlobalQualifierDeclaration *node)
{ {
return true; return true;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment