aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-05-11 22:42:30 +0000
committerAnders Carlsson <andersca@mac.com>2009-05-11 22:42:30 +0000
commitd4f551b3491777ffcc7f2664327810219b7e0e16 (patch)
treeddd13bd8baf9c6bb0946785880039e9c3a19baad
parent159c763373b2fc26978dea9563eab3f097df9b3f (diff)
Fix test case by always setting the type spec type, even for friend decls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71486 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Parse/ParseDeclCXX.cpp9
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].