diff options
author | Anders Carlsson <andersca@mac.com> | 2011-01-23 21:07:30 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2011-01-23 21:07:30 +0000 |
commit | f89e0424b8903438179f4a2f16dddd5e5bdc814e (patch) | |
tree | 713f8065268178762184e29dde6e959c8a7bb91e /lib/Sema/SemaDeclCXX.cpp | |
parent | 3176cca2fe2bb9ab061e8e5fc05b4d59403fcf19 (diff) |
Get rid of the [[final]] C++0x attribute.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124083 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaDeclCXX.cpp')
-rw-r--r-- | lib/Sema/SemaDeclCXX.cpp | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp index 9def74d954..eeb665b61d 100644 --- a/lib/Sema/SemaDeclCXX.cpp +++ b/lib/Sema/SemaDeclCXX.cpp @@ -533,15 +533,6 @@ Sema::CheckBaseSpecifier(CXXRecordDecl *Class, return 0; } - // FIXME: Get rid of this. - // C++0x CWG Issue #817 indicates that [[final]] classes shouldn't be bases. - if (CXXBaseDecl->hasAttr<FinalAttr>()) { - Diag(BaseLoc, diag::err_final_base) << BaseType.getAsString(); - Diag(CXXBaseDecl->getLocation(), diag::note_previous_decl) - << BaseType; - return 0; - } - if (BaseDecl->isInvalidDecl()) Class->setInvalidDecl(); @@ -913,15 +904,13 @@ void Sema::CheckOverrideControl(const Decl *D) { /// C++0x [class.virtual]p3. bool Sema::CheckIfOverriddenFunctionIsMarkedFinal(const CXXMethodDecl *New, const CXXMethodDecl *Old) { - // FIXME: Get rid of FinalAttr here. - if (Old->hasAttr<FinalAttr>() || Old->isMarkedFinal()) { - Diag(New->getLocation(), diag::err_final_function_overridden) - << New->getDeclName(); - Diag(Old->getLocation(), diag::note_overridden_virtual_function); - return true; - } - - return false; + if (!Old->isMarkedFinal()) + return false; + + Diag(New->getLocation(), diag::err_final_function_overridden) + << New->getDeclName(); + Diag(Old->getLocation(), diag::note_overridden_virtual_function); + return true; } /// ActOnCXXMemberDeclarator - This is invoked when a C++ class member |