diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/TranslationUnit.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/TranslationUnit.java index d0a2a33118f..5c398e912c3 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/TranslationUnit.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/TranslationUnit.java @@ -915,8 +915,13 @@ public class TranslationUnit extends Openable implements ITranslationUnit { for (IIndexFile indexFile : index.getFiles(linkageID, ifl)) { int score= indexFile.getMacros().length * 2; IIndexFile context= getParsedInContext(indexFile); - if (isSourceFile(context, getCProject().getProject())) + if (isSourceFile(context, getCProject().getProject())) { + if (indexFile.equals(context)) { + // The file is an independently indexed source - return it. + return new IIndexFile[] { indexFile, indexFile }; + } score++; + } if (score > bestScore) { bestScore= score; best= indexFile;