aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Parse/ParseDecl.cpp5
-rw-r--r--lib/Parse/ParseExprCXX.cpp6
2 files changed, 7 insertions, 4 deletions
diff --git a/lib/Parse/ParseDecl.cpp b/lib/Parse/ParseDecl.cpp
index 36054a9958..79fc198ab4 100644
--- a/lib/Parse/ParseDecl.cpp
+++ b/lib/Parse/ParseDecl.cpp
@@ -1083,8 +1083,9 @@ void Parser::ParseDeclarationSpecifiers(DeclSpec &DS,
case tok::annot_typename: {
if (Tok.getAnnotationValue()) {
ParsedType T = getTypeAnnotation(Tok);
- isInvalid = DS.SetTypeSpecType(DeclSpec::TST_typename,
- Tok.getAnnotationEndLoc(), PrevSpec,
+ // FIXME: This should probably pass getAnnotationEndLoc() instead of
+ // Loc, but that breaks test/Index/recursive-cxx-member-calls.cpp.
+ isInvalid = DS.SetTypeSpecType(DeclSpec::TST_typename, Loc, PrevSpec,
DiagID, T);
} else
DS.SetTypeSpecError();
diff --git a/lib/Parse/ParseExprCXX.cpp b/lib/Parse/ParseExprCXX.cpp
index 24a1274b01..e027e28e9a 100644
--- a/lib/Parse/ParseExprCXX.cpp
+++ b/lib/Parse/ParseExprCXX.cpp
@@ -912,8 +912,10 @@ void Parser::ParseCXXSimpleTypeSpecifier(DeclSpec &DS) {
// type-name
case tok::annot_typename: {
- DS.SetTypeSpecType(DeclSpec::TST_typename, Tok.getAnnotationEndLoc(),
- PrevSpec, DiagID, getTypeAnnotation(Tok));
+ // FIXME: This should probably pass getAnnotationEndLoc() instead of Loc,
+ // but that breaks test/Index/recursive-cxx-member-calls.cpp.
+ DS.SetTypeSpecType(DeclSpec::TST_typename, Loc, PrevSpec, DiagID,
+ getTypeAnnotation(Tok));
DS.SetRangeEnd(Tok.getAnnotationEndLoc());
ConsumeToken();