diff options
-rw-r--r-- | lib/Parse/ParseDeclCXX.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/Parse/ParseDeclCXX.cpp b/lib/Parse/ParseDeclCXX.cpp index da99ab9aa2..0718d3bfb5 100644 --- a/lib/Parse/ParseDeclCXX.cpp +++ b/lib/Parse/ParseDeclCXX.cpp @@ -530,14 +530,13 @@ void Parser::ParseClassSpecifier(tok::TokenKind TagTokKind, return; } - if (DS.isFriendSpecified() && - !Actions.ActOnFriendDecl(CurScope, DS.getFriendSpecLoc(), - TagOrTempResult.get())) - return; - if (DS.SetTypeSpecType(TagType, StartLoc, PrevSpec, TagOrTempResult.get().getAs<void>())) Diag(StartLoc, diag::err_invalid_decl_spec_combination) << PrevSpec; + + if (DS.isFriendSpecified()) + Actions.ActOnFriendDecl(CurScope, DS.getFriendSpecLoc(), + TagOrTempResult.get()); } /// ParseBaseClause - Parse the base-clause of a C++ class [C++ class.derived]. |