]> granicus.if.org Git - clang/commitdiff
Fix a regression introduced by r131955 which broke #include_next in subtle situations
authorChris Lattner <sabre@nondot.org>
Thu, 16 Jun 2011 22:58:10 +0000 (22:58 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 16 Jun 2011 22:58:10 +0000 (22:58 +0000)
because the Angled directories and the System directories were not being uniqued
together, breaking #include_next.  I'll see about a testcase, but it will be insane.

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

lib/Frontend/InitHeaderSearch.cpp

index 0b1a2e7a9a6091c7b464d1a8a2eed3314194dc14..f94edc65b9894e79508e4182ed004c41b5f69630 100644 (file)
@@ -1050,7 +1050,10 @@ void InitHeaderSearch::Realize(const LangOptions &Lang) {
       SearchList.push_back(it->second);
   }
 
-  RemoveDuplicates(SearchList, NumAngled, Verbose);
+  // Remove duplicates across both the Angled and System directories.  GCC does
+  // this and failing to remove duplicates across these two groups breaks
+  // #include_next.
+  RemoveDuplicates(SearchList, NumQuoted, Verbose);
 
   bool DontSearchCurDir = false;  // TODO: set to true if -I- is set?
   Headers.SetSearchPaths(SearchList, NumQuoted, NumAngled, DontSearchCurDir);