Small improvement to the use of GetFileType:
[oota-llvm.git] / lib / Support / Windows / Path.inc
index 5d951425384870f6fd1b5a9f782f7235c0d39a83..dff89c74b16835a1dc51522e9b3cb53fc5f3f8a7 100644 (file)
@@ -581,7 +581,14 @@ static error_code getStatus(HANDLE FileHandle, file_status &Result) {
 
   switch (::GetFileType(FileHandle)) {
   default:
-  case FILE_TYPE_UNKNOWN:
+    llvm_unreachable("Don't know anything about this file type");
+  case FILE_TYPE_UNKNOWN: {
+    DWORD Err = ::GetLastError();
+    if (Err != NO_ERROR)
+      return windows_error(Err);
+    Result = file_status(file_type::type_unknown);
+    return error_code::success();
+  }
   case FILE_TYPE_DISK:
     break;
   case FILE_TYPE_CHAR: