Fix up fd limit diagnosis code

Apparently Windows returns the "invalid argument" error code when the
path contains invalid characters such as '<'. The
test/Preprocessor/include-likely-typo.c test does this, so it was
failing after r368322.

Also, the diagnostic requires two arguments, so add the filename.

llvm-svn: 368348
diff --git a/clang/lib/Lex/HeaderSearch.cpp b/clang/lib/Lex/HeaderSearch.cpp
index 7cadc1b..8b6a19e 100644
--- a/clang/lib/Lex/HeaderSearch.cpp
+++ b/clang/lib/Lex/HeaderSearch.cpp
@@ -316,8 +316,9 @@
     // message.
     std::error_code EC = File.getError();
     if (EC != std::errc::no_such_file_or_directory &&
-        EC != std::errc::is_a_directory) {
-      Diags.Report(IncludeLoc, diag::err_cannot_open_file) << EC.message();
+        EC != std::errc::invalid_argument && EC != std::errc::is_a_directory) {
+      Diags.Report(IncludeLoc, diag::err_cannot_open_file)
+          << FileName << EC.message();
     }
     return nullptr;
   }