forked from OSchip/llvm-project
[flang] Fix compilation warning in check-directive-structure.h
Clang 9 gets the following warning after revision `D85104`. ``` ../../flang/lib/Semantics/check-directive-structure.h:36:7: error: 'Fortran::semantics::DirectiveStructureChecker<llvm::omp::Directive, llvm::omp::Clause, Fortran::parser::OmpClause, 77>' has virtual functions but non-virtual destructor [-Werror,-Wnon-virtual-dtor] ``` The fix is the make the destructor virtual. Neither it nor the constructor need to be public, so make them protected. Differential Revision: https://reviews.llvm.org/D85383
This commit is contained in:
parent
9f717d7b94
commit
6d2d73059f
|
@ -34,13 +34,13 @@ template <typename C, std::size_t ClauseEnumSize> struct DirectiveClauses {
|
||||||
// typename PC is the parser class defined in parse-tree.h for the clauses.
|
// typename PC is the parser class defined in parse-tree.h for the clauses.
|
||||||
template <typename D, typename C, typename PC, std::size_t ClauseEnumSize>
|
template <typename D, typename C, typename PC, std::size_t ClauseEnumSize>
|
||||||
class DirectiveStructureChecker : public virtual BaseChecker {
|
class DirectiveStructureChecker : public virtual BaseChecker {
|
||||||
public:
|
protected:
|
||||||
DirectiveStructureChecker(SemanticsContext &context,
|
DirectiveStructureChecker(SemanticsContext &context,
|
||||||
std::unordered_map<D, DirectiveClauses<C, ClauseEnumSize>>
|
std::unordered_map<D, DirectiveClauses<C, ClauseEnumSize>>
|
||||||
directiveClausesMap)
|
directiveClausesMap)
|
||||||
: context_{context}, directiveClausesMap_(directiveClausesMap) {}
|
: context_{context}, directiveClausesMap_(directiveClausesMap) {}
|
||||||
|
virtual ~DirectiveStructureChecker() {}
|
||||||
|
|
||||||
protected:
|
|
||||||
struct DirectiveContext {
|
struct DirectiveContext {
|
||||||
DirectiveContext(parser::CharBlock source, D d)
|
DirectiveContext(parser::CharBlock source, D d)
|
||||||
: directiveSource{source}, directive{d} {}
|
: directiveSource{source}, directive{d} {}
|
||||||
|
|
Loading…
Reference in New Issue