|
@@ -102,7 +102,8 @@ void Preprocessor::AnnotatePreviousCachedTokens(const Token &Tok) {
|
|
|
assert((BacktrackPositions.empty() || BacktrackPositions.back() < i) &&
|
|
|
"The backtrack pos points inside the annotated tokens!");
|
|
|
// Replace the cached tokens with the single annotation token.
|
|
|
- CachedTokens.erase(AnnotBegin + 1, CachedTokens.begin() + CachedLexPos);
|
|
|
+ if (i < CachedLexPos)
|
|
|
+ CachedTokens.erase(AnnotBegin + 1, CachedTokens.begin() + CachedLexPos);
|
|
|
*AnnotBegin = Tok;
|
|
|
CachedLexPos = i;
|
|
|
return;
|