diff options
Diffstat (limited to 'src/3rdparty/angle/src/compiler/translator/RemoveEmptySwitchStatements.cpp')
-rw-r--r-- | src/3rdparty/angle/src/compiler/translator/RemoveEmptySwitchStatements.cpp | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/src/3rdparty/angle/src/compiler/translator/RemoveEmptySwitchStatements.cpp b/src/3rdparty/angle/src/compiler/translator/RemoveEmptySwitchStatements.cpp deleted file mode 100644 index b39c912e9c..0000000000 --- a/src/3rdparty/angle/src/compiler/translator/RemoveEmptySwitchStatements.cpp +++ /dev/null @@ -1,56 +0,0 @@ -// -// Copyright (c) 2017 The ANGLE Project Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// -// RemoveEmptySwitchStatements.cpp: Remove switch statements that have an empty statement list. - -#include "compiler/translator/RemoveEmptySwitchStatements.h" - -#include "compiler/translator/IntermTraverse.h" - -namespace sh -{ - -namespace -{ - -class RemoveEmptySwitchStatementsTraverser : public TIntermTraverser -{ - public: - RemoveEmptySwitchStatementsTraverser() : TIntermTraverser(true, false, false) {} - - bool visitSwitch(Visit visit, TIntermSwitch *node); -}; - -bool RemoveEmptySwitchStatementsTraverser::visitSwitch(Visit visit, TIntermSwitch *node) -{ - if (node->getStatementList()->getSequence()->empty()) - { - // Just output the init statement. - if (node->getInit()->hasSideEffects()) - { - queueReplacement(node->getInit(), OriginalNode::IS_DROPPED); - } - else - { - TIntermSequence emptyReplacement; - ASSERT(getParentNode()->getAsBlock()); - mMultiReplacements.push_back(NodeReplaceWithMultipleEntry(getParentNode()->getAsBlock(), - node, emptyReplacement)); - } - return false; // Nothing inside the child nodes to traverse. - } - return true; -} - -} // anonymous namespace - -void RemoveEmptySwitchStatements(TIntermBlock *root) -{ - RemoveEmptySwitchStatementsTraverser traverser; - root->traverse(&traverser); - traverser.updateTree(); -} - -} // namespace sh |