summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2011-10-15 04:21:46 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2011-10-15 04:21:46 +0000
commitda2611199b8bf6e71a0a0cd59b2b8af3aa8ac744 (patch)
treef6856c7328a9b40ca5a033890d7475d5de31492c /clang/lib
parent6b46488ff22697f633004ce8fc77c0182601c8d7 (diff)
downloadbcm5719-llvm-da2611199b8bf6e71a0a0cd59b2b8af3aa8ac744.tar.gz
bcm5719-llvm-da2611199b8bf6e71a0a0cd59b2b8af3aa8ac744.zip
Refactor: remove redundant check for 'final' specifier when parsing class/struct definition.
llvm-svn: 142054
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Parse/ParseDeclCXX.cpp17
1 files changed, 4 insertions, 13 deletions
diff --git a/clang/lib/Parse/ParseDeclCXX.cpp b/clang/lib/Parse/ParseDeclCXX.cpp
index ceb988db9bb..b9e2e9e7016 100644
--- a/clang/lib/Parse/ParseDeclCXX.cpp
+++ b/clang/lib/Parse/ParseDeclCXX.cpp
@@ -2072,20 +2072,11 @@ void Parser::ParseCXXMemberSpecification(SourceLocation RecordLoc,
// Parse the optional 'final' keyword.
if (getLang().CPlusPlus && Tok.is(tok::identifier)) {
- IdentifierInfo *II = Tok.getIdentifierInfo();
-
- // Initialize the contextual keywords.
- if (!Ident_final) {
- Ident_final = &PP.getIdentifierTable().get("final");
- Ident_override = &PP.getIdentifierTable().get("override");
- }
-
- if (II == Ident_final) {
- FinalLoc = ConsumeToken();
+ assert(isCXX0XFinalKeyword() && "not a class definition");
+ FinalLoc = ConsumeToken();
- if (!getLang().CPlusPlus0x)
- Diag(FinalLoc, diag::ext_override_control_keyword) << "final";
- }
+ if (!getLang().CPlusPlus0x)
+ Diag(FinalLoc, diag::ext_override_control_keyword) << "final";
}
if (Tok.is(tok::colon)) {
OpenPOWER on IntegriCloud