From 642c78b6800986bc35bb767456bbf5d6488ba981 Mon Sep 17 00:00:00 2001 From: peter klausler Date: Wed, 6 Mar 2019 11:56:02 -0800 Subject: [PATCH] [flang] back out one change Original-commit: flang-compiler/f18@27fb43b6ed1a4874c153ffc1219dcbdca931804e Reviewed-on: https://github.com/flang-compiler/f18/pull/316 Tree-same-pre-rewrite: false --- flang/lib/semantics/check-do-concurrent.cc | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/flang/lib/semantics/check-do-concurrent.cc b/flang/lib/semantics/check-do-concurrent.cc index 1f3698e..f7f65c2 100644 --- a/flang/lib/semantics/check-do-concurrent.cc +++ b/flang/lib/semantics/check-do-concurrent.cc @@ -14,7 +14,6 @@ #include "check-do-concurrent.h" #include "attr.h" -#include "expression.h" #include "scope.h" #include "semantics.h" #include "symbol.h" @@ -220,6 +219,13 @@ private: using CS = std::vector; +struct GatherSymbols { + CS symbols; + template constexpr bool Pre(const T &) { return true; } + template constexpr void Post(const T &) {} + void Post(const parser::Name &name) { symbols.push_back(name.symbol); } +}; + static bool IntegerVariable(const Symbol &variable) { return variable.GetType()->IsNumeric(common::TypeCategory::Integer); } @@ -306,12 +312,7 @@ static CS GatherReferencesFromExpression(const parser::Expr &expression) { return evaluate::Traversal{0}.Traverse( expression.typedExpr.value()); } else { - struct GatherSymbols { - CS symbols; - template constexpr bool Pre(const T &) { return true; } - template constexpr void Post(const T &) {} - void Post(const parser::Name &name) { symbols.push_back(name.symbol); } - } gatherSymbols; + GatherSymbols gatherSymbols; parser::Walk(expression, gatherSymbols); return gatherSymbols.symbols; } -- 2.7.4