aboutsummaryrefslogtreecommitdiff
path: root/lib/Parse/ParseDecl.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2012-05-22 21:36:38 +0000
committerDimitry Andric <dim@FreeBSD.org>2012-05-22 21:36:38 +0000
commite51da3eab6ad2d02fcd8f68bdaef22d33a855210 (patch)
tree1bfa44f5a9427d658426ac7786a70741e36d1bc8 /lib/Parse/ParseDecl.cpp
parent6b9a6e390fbb92c40eb9c6ac9e7abbd88dd7a767 (diff)
downloadsrc-e51da3eab6ad2d02fcd8f68bdaef22d33a855210.tar.gz
src-e51da3eab6ad2d02fcd8f68bdaef22d33a855210.zip
Notes
Diffstat (limited to 'lib/Parse/ParseDecl.cpp')
-rw-r--r--lib/Parse/ParseDecl.cpp14
1 files changed, 3 insertions, 11 deletions
diff --git a/lib/Parse/ParseDecl.cpp b/lib/Parse/ParseDecl.cpp
index 932ffb440fd2..7995e68d3f27 100644
--- a/lib/Parse/ParseDecl.cpp
+++ b/lib/Parse/ParseDecl.cpp
@@ -4197,7 +4197,6 @@ void Parser::ParseFunctionDeclarator(Declarator &D,
SmallVector<ParsedType, 2> DynamicExceptions;
SmallVector<SourceRange, 2> DynamicExceptionRanges;
ExprResult NoexceptExpr;
- CachedTokens *ExceptionSpecTokens = 0;
ParsedAttributes FnAttrs(AttrFactory);
ParsedType TrailingReturnType;
@@ -4264,18 +4263,12 @@ void Parser::ParseFunctionDeclarator(Declarator &D,
dyn_cast<CXXRecordDecl>(Actions.CurContext),
DS.getTypeQualifiers(),
IsCXX11MemberFunction);
-
+
// Parse exception-specification[opt].
- bool Delayed = (D.getContext() == Declarator::MemberContext &&
- D.getDeclSpec().getStorageClassSpec()
- != DeclSpec::SCS_typedef &&
- !D.getDeclSpec().isFriendSpecified());
- ESpecType = tryParseExceptionSpecification(Delayed,
- ESpecRange,
+ ESpecType = tryParseExceptionSpecification(ESpecRange,
DynamicExceptions,
DynamicExceptionRanges,
- NoexceptExpr,
- ExceptionSpecTokens);
+ NoexceptExpr);
if (ESpecType != EST_None)
EndLoc = ESpecRange.getEnd();
@@ -4310,7 +4303,6 @@ void Parser::ParseFunctionDeclarator(Declarator &D,
DynamicExceptions.size(),
NoexceptExpr.isUsable() ?
NoexceptExpr.get() : 0,
- ExceptionSpecTokens,
Tracker.getOpenLocation(),
EndLoc, D,
TrailingReturnType),