]> granicus.if.org Git - clang/commitdiff
[clang] DirectoryWatcher for Windows stubs (to fix build break).
authorJan Korous <jkorous@apple.com>
Tue, 13 Aug 2019 22:39:26 +0000 (22:39 +0000)
committerJan Korous <jkorous@apple.com>
Tue, 13 Aug 2019 22:39:26 +0000 (22:39 +0000)
This is just a code skeleton for DirectoryWatcher-windows.cpp so the
build on Windows stops breaking.

(upstreamed from github.com/apple/swift-clang)

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

lib/DirectoryWatcher/CMakeLists.txt
lib/DirectoryWatcher/windows/DirectoryWatcher-windows.cpp [new file with mode: 0644]

index d7fa9c5bc22f901b5c9019c3dc099568e6f76b11..5a87969821138352f4f408a158d77d1a09fa1b67 100644 (file)
@@ -17,6 +17,8 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
     list(APPEND DIRECTORY_WATCHER_SOURCES linux/DirectoryWatcher-linux.cpp)
     find_package(Threads REQUIRED)
   endif()
+elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
+  list(APPEND DIRECTORY_WATCHER_SOURCES windows/DirectoryWatcher-windows.cpp)
 else()
   list(APPEND DIRECTORY_WATCHER_SOURCES default/DirectoryWatcher-not-implemented.cpp)
 endif()
diff --git a/lib/DirectoryWatcher/windows/DirectoryWatcher-windows.cpp b/lib/DirectoryWatcher/windows/DirectoryWatcher-windows.cpp
new file mode 100644 (file)
index 0000000..6a12715
--- /dev/null
@@ -0,0 +1,48 @@
+//===- DirectoryWatcher-windows.cpp - Windows-platform directory watching -===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+// TODO: This is not yet an implementation, but it will make it so Windows
+//       builds don't fail.
+
+#include "DirectoryScanner.h"
+#include "clang/DirectoryWatcher/DirectoryWatcher.h"
+
+#include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/ScopeExit.h"
+#include "llvm/Support/AlignOf.h"
+#include "llvm/Support/Errno.h"
+#include "llvm/Support/Mutex.h"
+#include "llvm/Support/Path.h"
+#include <atomic>
+#include <condition_variable>
+#include <mutex>
+#include <queue>
+#include <string>
+#include <thread>
+#include <vector>
+
+namespace {
+
+using namespace llvm;
+using namespace clang;
+
+class DirectoryWatcherWindows : public clang::DirectoryWatcher {
+public:
+  ~DirectoryWatcherWindows() override { }
+  void InitialScan() { }
+  void EventReceivingLoop() { }
+  void StopWork() { }
+};
+} // namespace
+
+std::unique_ptr<DirectoryWatcher> clang::DirectoryWatcher::create(
+    StringRef Path,
+    std::function<void(llvm::ArrayRef<DirectoryWatcher::Event>, bool)> Receiver,
+    bool WaitForInitialSync) {
+    return nullptr;
+}