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.