From 75f81006533f14b0a4f8b746d95a17fdcd17fb3c Mon Sep 17 00:00:00 2001 From: triton Date: Wed, 14 May 2014 11:23:12 +0100 Subject: [PATCH] Do not use getFileEntryForID when setting an OriginalPtr for units. It might not return proper values for TUs. --- src/CppParser/Parser.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CppParser/Parser.cpp b/src/CppParser/Parser.cpp index 22e3a40c..91a264f1 100644 --- a/src/CppParser/Parser.cpp +++ b/src/CppParser/Parser.cpp @@ -1195,8 +1195,8 @@ TranslationUnit* Parser::GetTranslationUnit(clang::SourceLocation Loc, auto Unit = Lib->FindOrCreateModule(File); - if (Unit->OriginalPtr == nullptr) - Unit->OriginalPtr = (void*) SM.getFileEntryForID(SM.getFileID(Loc)); + Unit->OriginalPtr = (void*) Unit; + assert(Unit->OriginalPtr != nullptr); if (LocKind != SourceLocationKind::Invalid) Unit->IsSystemHeader = SM.isInSystemHeader(Loc);