]> granicus.if.org Git - clang/commitdiff
In Lexer::isAtEndOfMacroExpansion use SourceManager::isInFileID and avoid
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Tue, 23 Aug 2011 21:02:30 +0000 (21:02 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Tue, 23 Aug 2011 21:02:30 +0000 (21:02 +0000)
the extra SourceManager::getFileID call.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138376 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Lex/Lexer.cpp

index 25f07c9e4f1d6ab9848ae837e8f955a48e9cc146..d8ebc9ffe6bffefa4580976748258ba55cc21b5c 100644 (file)
@@ -755,14 +755,12 @@ bool Lexer::isAtEndOfMacroExpansion(SourceLocation loc,
 
   FileID FID = SM.getFileID(loc);
   SourceLocation afterLoc = loc.getFileLocWithOffset(tokLen+1);
-  if (!SM.isBeforeInSourceLocationOffset(afterLoc, SM.getNextLocalOffset()))
-    return true; // We got past the last FileID, this points to the last token.
+  if (SM.isInFileID(afterLoc, FID))
+    return false; // Still in the same FileID, does not point to the last token.
 
   // FIXME: If the token comes from the macro token paste operator ('##')
   // or the stringify operator ('#') this function will always return false;
-  if (FID == SM.getFileID(afterLoc))
-    return false; // Still in the same FileID, does not point to the last token.
-  
+
   SourceLocation expansionLoc =
     SM.getSLocEntry(FID).getExpansion().getExpansionLocEnd();
   if (expansionLoc.isFileID())