1313
1414#include " clang/AST/ASTConsumer.h"
1515#include " clang/AST/ASTContext.h"
16- #include " clang/AST/RecursiveASTVisitor .h"
16+ #include " clang/AST/DynamicRecursiveASTVisitor .h"
1717#include " clang/Tooling/Tooling.h"
1818#include " gtest/gtest.h"
1919#include < map>
@@ -28,8 +28,8 @@ typedef std::map<std::string, bool> VarInfoMap;
2828
2929// / \brief Records information on variable initializers to a map.
3030class EvaluateConstantInitializersVisitor
31- : public clang::RecursiveASTVisitor<EvaluateConstantInitializersVisitor> {
32- public:
31+ : public clang::DynamicRecursiveASTVisitor {
32+ public:
3333 explicit EvaluateConstantInitializersVisitor (VarInfoMap &VarInfo)
3434 : VarInfo(VarInfo) {}
3535
@@ -38,7 +38,7 @@ class EvaluateConstantInitializersVisitor
3838 // /
3939 // / For each VarDecl with an initializer this also records in VarInfo
4040 // / whether the initializer could be evaluated as a constant.
41- bool VisitVarDecl (const clang::VarDecl *VD) {
41+ bool VisitVarDecl (clang::VarDecl *VD) override {
4242 if (const clang::Expr *Init = VD->getInit ()) {
4343 clang::Expr::EvalResult Result;
4444 bool WasEvaluated = Init->EvaluateAsRValue (Result, VD->getASTContext ());
@@ -109,9 +109,9 @@ TEST(EvaluateAsRValue, FailsGracefullyForUnknownTypes) {
109109}
110110
111111class CheckLValueToRValueConversionVisitor
112- : public clang::RecursiveASTVisitor<CheckLValueToRValueConversionVisitor> {
112+ : public clang::DynamicRecursiveASTVisitor {
113113public:
114- bool VisitDeclRefExpr (const clang::DeclRefExpr *E) {
114+ bool VisitDeclRefExpr (clang::DeclRefExpr *E) override {
115115 clang::Expr::EvalResult Result;
116116 E->EvaluateAsRValue (Result, E->getDecl ()->getASTContext (), true );
117117
0 commit comments