[flang] some tweaks
authorpeter klausler <pklausler@nvidia.com>
Wed, 6 Mar 2019 01:11:05 +0000 (17:11 -0800)
committerpeter klausler <pklausler@nvidia.com>
Thu, 7 Mar 2019 00:15:50 +0000 (16:15 -0800)
Original-commit: flang-compiler/f18@07d196386e139b65fe18d4df32f06f994627aac3
Reviewed-on: https://github.com/flang-compiler/f18/pull/316
Tree-same-pre-rewrite: false

flang/lib/evaluate/fold.cc
flang/lib/evaluate/traversal.h

index cd84212..f93274a 100644 (file)
@@ -802,9 +802,6 @@ FOR_EACH_TYPE_AND_KIND(template class ExpressionBase)
 
 class IsConstantExprVisitor : public virtual TraversalBase<bool> {
 public:
-  using Base = TraversalBase<bool>;
-  using Base::Handle, Base::Pre, Base::Post;
-
   explicit IsConstantExprVisitor(std::nullptr_t) {}
 
   template<int KIND> void Handle(const TypeParamInquiry<KIND> &inq) {
index 49a2872..0c708d2 100644 (file)
@@ -155,9 +155,11 @@ template<typename V> void Descend(V &visitor, const ProcedureRef &call) {
 }
 
 template<typename RESULT, typename... A>
-class Traversal : public virtual TraversalBase<RESULT>, public virtual A... {
+class Traversal : public virtual TraversalBase<RESULT>, public A... {
 public:
   using Result = RESULT;
+  using Base = TraversalBase<Result>;
+  using Base::Handle, Base::Pre, Base::Post;
   using A::Handle..., A::Pre..., A::Post...;
 private:
   using TraversalBase<Result>::result_, TraversalBase<Result>::defaultHandle_;