diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Parse/ParseDecl.cpp | 5 | ||||
-rw-r--r-- | lib/Parse/ParseExprCXX.cpp | 6 |
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(); |