diff --git a/flang/lib/evaluate/fold.cc b/flang/lib/evaluate/fold.cc index cd8421202c0d..f93274a9dc3b 100644 --- a/flang/lib/evaluate/fold.cc +++ b/flang/lib/evaluate/fold.cc @@ -802,9 +802,6 @@ FOR_EACH_TYPE_AND_KIND(template class ExpressionBase) class IsConstantExprVisitor : public virtual TraversalBase { public: - using Base = TraversalBase; - using Base::Handle, Base::Pre, Base::Post; - explicit IsConstantExprVisitor(std::nullptr_t) {} template void Handle(const TypeParamInquiry &inq) { diff --git a/flang/lib/evaluate/traversal.h b/flang/lib/evaluate/traversal.h index 49a28725242a..0c708d29e817 100644 --- a/flang/lib/evaluate/traversal.h +++ b/flang/lib/evaluate/traversal.h @@ -155,9 +155,11 @@ template void Descend(V &visitor, const ProcedureRef &call) { } template -class Traversal : public virtual TraversalBase, public virtual A... { +class Traversal : public virtual TraversalBase, public A... { public: using Result = RESULT; + using Base = TraversalBase; + using Base::Handle, Base::Pre, Base::Post; using A::Handle..., A::Pre..., A::Post...; private: using TraversalBase::result_, TraversalBase::defaultHandle_;