Index: clang-tools-extra/trunk/clangd/FindTarget.h =================================================================== --- clang-tools-extra/trunk/clangd/FindTarget.h +++ clang-tools-extra/trunk/clangd/FindTarget.h @@ -101,9 +101,9 @@ /// qualifiers. /// FIXME: currently this does not report references to overloaded operators. /// FIXME: extend to report location information about declaration names too. -void findExplicitReferences(Stmt *S, +void findExplicitReferences(const Stmt *S, llvm::function_ref Out); -void findExplicitReferences(Decl *D, +void findExplicitReferences(const Decl *D, llvm::function_ref Out); /// Similar to targetDecl(), however instead of applying a filter, all possible Index: clang-tools-extra/trunk/clangd/FindTarget.cpp =================================================================== --- clang-tools-extra/trunk/clangd/FindTarget.cpp +++ clang-tools-extra/trunk/clangd/FindTarget.cpp @@ -616,15 +616,15 @@ }; } // namespace -void findExplicitReferences(Stmt *S, +void findExplicitReferences(const Stmt *S, llvm::function_ref Out) { assert(S); - ExplicitReferenceColletor(Out).TraverseStmt(S); + ExplicitReferenceColletor(Out).TraverseStmt(const_cast(S)); } -void findExplicitReferences(Decl *D, +void findExplicitReferences(const Decl *D, llvm::function_ref Out) { assert(D); - ExplicitReferenceColletor(Out).TraverseDecl(D); + ExplicitReferenceColletor(Out).TraverseDecl(const_cast(D)); } llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, DeclRelation R) {