diff options
author | Anders Carlsson <andersca@mac.com> | 2011-01-20 06:29:02 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2011-01-20 06:29:02 +0000 |
commit | 4ebf1605166e0b6cc967a51429949a0722f79665 (patch) | |
tree | d04e02f7348964877e943f1fc95d01884e3bf9b5 | |
parent | 9e682d9f567a51f26c3b0673837e23bafdb09c11 (diff) |
Make CheckOverrideControl a member of Sema.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123893 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/Sema/Sema.h | 3 | ||||
-rw-r--r-- | lib/Sema/SemaDeclCXX.cpp | 7 |
2 files changed, 6 insertions, 4 deletions
diff --git a/include/clang/Sema/Sema.h b/include/clang/Sema/Sema.h index a7fe528f06..0db20c97d8 100644 --- a/include/clang/Sema/Sema.h +++ b/include/clang/Sema/Sema.h @@ -2724,6 +2724,9 @@ public: bool CheckPureMethod(CXXMethodDecl *Method, SourceRange InitRange); + /// CheckOverrideControl - Check C++0x override control semantics. + void CheckOverrideControl(const Decl *D); + //===--------------------------------------------------------------------===// // C++ Access Control // diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp index 8fe4852890..9981b1f6c8 100644 --- a/lib/Sema/SemaDeclCXX.cpp +++ b/lib/Sema/SemaDeclCXX.cpp @@ -853,8 +853,7 @@ Decl *Sema::ActOnAccessSpecifier(AccessSpecifier Access, } /// CheckOverrideControl - Check C++0x override control semantics. -static void -CheckOverrideControl(Sema& SemaRef, const Decl *D) { +void Sema::CheckOverrideControl(const Decl *D) { const CXXMethodDecl *MD = llvm::dyn_cast<CXXMethodDecl>(D); if (!MD || !MD->isVirtual()) return; @@ -866,7 +865,7 @@ CheckOverrideControl(Sema& SemaRef, const Decl *D) { bool HasOverriddenMethods = MD->begin_overridden_methods() != MD->end_overridden_methods(); if (MD->isMarkedOverride() && !HasOverriddenMethods) { - SemaRef.Diag(MD->getLocation(), + Diag(MD->getLocation(), diag::err_function_marked_override_not_overriding) << MD->getDeclName(); return; @@ -1029,7 +1028,7 @@ Sema::ActOnCXXMemberDeclarator(Scope *S, AccessSpecifier AS, Declarator &D, MD->setIsMarkedFinal(true); } - CheckOverrideControl(*this, Member); + CheckOverrideControl(Member); assert((Name || isInstField) && "No identifier for non-field ?"); |