aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sksl/SkSLCFGGenerator.cpp
diff options
context:
space:
mode:
authorGravatar Ethan Nicholas <ethannicholas@google.com>2017-06-02 13:52:38 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-06-02 13:57:39 +0000
commitaffa6a3da87e9ea85f1d4fe3137b5bccbbc56f92 (patch)
treeccaa2cbc3e395a140b25f23bf250e948525a1541 /src/sksl/SkSLCFGGenerator.cpp
parent370c2b304a35297d36fcee91e3b6ac516091434d (diff)
Revert "Fixed an issue with sksl variable declarations"
This reverts commit 88bd8edcff23dc9cf31b664cba7ba73b235318b0. Reason for revert: unhappy bots Original change's description: > Fixed an issue with sksl variable declarations > > There was an issue where multiple variables defined in the same > declaration were not being sequenced appropriately during analysis, so > 'int x = 0, y = x + 1' would report that x was undefined. > > Bug: skia: > Change-Id: I882f7e216467306f6a6013a0a34aac30a4c60744 > Reviewed-on: https://skia-review.googlesource.com/18313 > Reviewed-by: Chris Dalton <csmartdalton@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > TBR=csmartdalton@google.com,ethannicholas@google.com No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Change-Id: Ibc68674289dce70b6173a347a0e78bb0f1e6db1b Reviewed-on: https://skia-review.googlesource.com/18457 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Diffstat (limited to 'src/sksl/SkSLCFGGenerator.cpp')
-rw-r--r--src/sksl/SkSLCFGGenerator.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/sksl/SkSLCFGGenerator.cpp b/src/sksl/SkSLCFGGenerator.cpp
index 2fe049d9bd..71bd37f39a 100644
--- a/src/sksl/SkSLCFGGenerator.cpp
+++ b/src/sksl/SkSLCFGGenerator.cpp
@@ -465,17 +465,13 @@ void CFGGenerator::addStatement(CFG& cfg, std::unique_ptr<Statement>* s) {
}
case Statement::kVarDeclarations_Kind: {
VarDeclarationsStatement& decls = ((VarDeclarationsStatement&) **s);
- for (auto& stmt : decls.fDeclaration->fVars) {
- if (stmt->fKind == Statement::kNop_Kind) {
- continue;
+ for (auto& vd : decls.fDeclaration->fVars) {
+ if (vd->fValue) {
+ this->addExpression(cfg, &vd->fValue, true);
}
- VarDeclaration& vd = (VarDeclaration&) *stmt;
- if (vd.fValue) {
- this->addExpression(cfg, &vd.fValue, true);
- }
- cfg.fBlocks[cfg.fCurrent].fNodes.push_back({ BasicBlock::Node::kStatement_Kind,
- false, nullptr, &stmt });
}
+ cfg.fBlocks[cfg.fCurrent].fNodes.push_back({ BasicBlock::Node::kStatement_Kind, false,
+ nullptr, s });
break;
}
case Statement::kDiscard_Kind: