diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2011-10-15 04:21:46 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2011-10-15 04:21:46 +0000 |
commit | da2611199b8bf6e71a0a0cd59b2b8af3aa8ac744 (patch) | |
tree | f6856c7328a9b40ca5a033890d7475d5de31492c /clang/lib | |
parent | 6b46488ff22697f633004ce8fc77c0182601c8d7 (diff) | |
download | bcm5719-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.cpp | 17 |
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)) { |