Make it possible for external tools to distinguish between paths that come from -I and paths that come from -system. Patch from Paul Holden!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131955 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Frontend/InitHeaderSearch.cpp b/lib/Frontend/InitHeaderSearch.cpp
index 4e0d4c1..9bdb13a 100644
--- a/lib/Frontend/InitHeaderSearch.cpp
+++ b/lib/Frontend/InitHeaderSearch.cpp
@@ -1008,6 +1008,8 @@
     if (it->first == Angled)
       SearchList.push_back(it->second);
   }
+  RemoveDuplicates(SearchList, quoted, Verbose);
+  unsigned angled = SearchList.size();
 
   for (path_iterator it = IncludePath.begin(), ie = IncludePath.end();
        it != ie; ++it) {
@@ -1021,10 +1023,10 @@
       SearchList.push_back(it->second);
   }
 
-  RemoveDuplicates(SearchList, quoted, Verbose);
+  RemoveDuplicates(SearchList, angled, Verbose);
 
   bool DontSearchCurDir = false;  // TODO: set to true if -I- is set?
-  Headers.SetSearchPaths(SearchList, quoted, DontSearchCurDir);
+  Headers.SetSearchPaths(SearchList, quoted, angled, DontSearchCurDir);
 
   // If verbose, print the list of directories that will be searched.
   if (Verbose) {