diff options
author | Sebastian Redl <sebastian.redl@getdesigned.at> | 2010-02-08 19:35:18 +0000 |
---|---|---|
committer | Sebastian Redl <sebastian.redl@getdesigned.at> | 2010-02-08 19:35:18 +0000 |
commit | b0e3e1bf67b28fba9c70981ad3a4069440aa1600 (patch) | |
tree | fdeae4282a112d21544d065622f06213deadc4e2 /clang/lib/Parse/Parser.cpp | |
parent | 69f9dbc3e4a4a22b6aea560d386d70cabc885ef8 (diff) | |
download | bcm5719-llvm-b0e3e1bf67b28fba9c70981ad3a4069440aa1600.tar.gz bcm5719-llvm-b0e3e1bf67b28fba9c70981ad3a4069440aa1600.zip |
When placing an annotation token over an existing annotation token, make sure that the new token's range extends to the end of the old token. Assert that in AnnotateCachedTokens. Fixes PR6248.
llvm-svn: 95555
Diffstat (limited to 'clang/lib/Parse/Parser.cpp')
-rw-r--r-- | clang/lib/Parse/Parser.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Parse/Parser.cpp b/clang/lib/Parse/Parser.cpp index 2558b667581..e5bed3096d5 100644 --- a/clang/lib/Parse/Parser.cpp +++ b/clang/lib/Parse/Parser.cpp @@ -944,9 +944,10 @@ bool Parser::TryAnnotateTypeOrScopeToken(bool EnteringContext) { return false; } + SourceLocation EndLoc = Tok.getLastLoc(); Tok.setKind(tok::annot_typename); Tok.setAnnotationValue(Ty.isInvalid()? 0 : Ty.get()); - Tok.setAnnotationEndLoc(Tok.getLocation()); + Tok.setAnnotationEndLoc(EndLoc); Tok.setLocation(TypenameLoc); PP.AnnotateCachedTokens(Tok); return true; |