diff options
author | Nico Weber <nicolasweber@gmx.de> | 2010-11-22 10:30:56 +0000 |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2010-11-22 10:30:56 +0000 |
commit | 253e80b019727451edb4cbcad71277fcbe05ff0e (patch) | |
tree | c950b375874ffce6589138db0d15f6ac024ca8e3 /lib/Parse/ParseDecl.cpp | |
parent | 59b173d81b05b7d10cec8b06b3fd843230ef628c (diff) |
Fix the source range of CXXNewExprs. Fixes http://llvm.org/pr8661.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119966 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Parse/ParseDecl.cpp')
-rw-r--r-- | lib/Parse/ParseDecl.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/Parse/ParseDecl.cpp b/lib/Parse/ParseDecl.cpp index 121289696d..36054a9958 100644 --- a/lib/Parse/ParseDecl.cpp +++ b/lib/Parse/ParseDecl.cpp @@ -1020,7 +1020,8 @@ void Parser::ParseDeclarationSpecifiers(DeclSpec &DS, ConsumeToken(); // The C++ scope. if (Tok.getAnnotationValue()) { ParsedType T = getTypeAnnotation(Tok); - isInvalid = DS.SetTypeSpecType(DeclSpec::TST_typename, Loc, + isInvalid = DS.SetTypeSpecType(DeclSpec::TST_typename, + Tok.getAnnotationEndLoc(), PrevSpec, DiagID, T); } else @@ -1082,7 +1083,8 @@ void Parser::ParseDeclarationSpecifiers(DeclSpec &DS, case tok::annot_typename: { if (Tok.getAnnotationValue()) { ParsedType T = getTypeAnnotation(Tok); - isInvalid = DS.SetTypeSpecType(DeclSpec::TST_typename, Loc, PrevSpec, + isInvalid = DS.SetTypeSpecType(DeclSpec::TST_typename, + Tok.getAnnotationEndLoc(), PrevSpec, DiagID, T); } else DS.SetTypeSpecError(); @@ -1545,7 +1547,8 @@ bool Parser::ParseOptionalTypeSpecifier(DeclSpec &DS, bool& isInvalid, // simple-type-specifier: case tok::annot_typename: { if (ParsedType T = getTypeAnnotation(Tok)) { - isInvalid = DS.SetTypeSpecType(DeclSpec::TST_typename, Loc, PrevSpec, + isInvalid = DS.SetTypeSpecType(DeclSpec::TST_typename, + Tok.getAnnotationEndLoc(), PrevSpec, DiagID, T); } else DS.SetTypeSpecError(); |