Index: lib/Frontend/InitHeaderSearch.cpp
===================================================================
--- lib/Frontend/InitHeaderSearch.cpp	(revision 91610)
+++ lib/Frontend/InitHeaderSearch.cpp	(working copy)
@@ -121,6 +121,13 @@
   else
     Type = SrcMgr::C_ExternCSystem;
 
+  if ((MappedPath.str().size() > 1) &&
+      (MappedPath.str().endswith("/") || MappedPath.str().endswith("\\"))) {
+    // Handle non-root paths ending with a '/' or '\' separator.
+    // The stat call in the existence check doesn't work with a trailing
+    // separator on some platforms (i.e. Windows).
+    MappedPathStr.pop_back();
+  }
 
   // If the directory exists, add it.
   if (const DirectoryEntry *DE = FM.getDirectory(MappedPath.str())) {
