We determined that the MSVC implementation of std::aligned* isn't suited to our needs. It doesn't support 16 byte alignment or higher, and it doesn't really guarantee 8 byte alignment. See https://github.com/microsoft/STL/issues/1533 Also reverts "ADT: Change AlignedCharArrayUnion to an alias of std::aligned_union_t, NFC" Also reverts "ADT: Remove AlignedCharArrayUnion, NFC" to bring back AlignedCharArrayUnion. This reverts commit 4d8bf870a82765eb0d4fe53c82f796b957c05954. This reverts commit d10f9863a5ac1cb681af07719650c44b48f289ce. This reverts commit 4b5dc150b9862271720b3d56a3e723a55dd81838.
51 lines
1.5 KiB
C++
51 lines
1.5 KiB
C++
//===- 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
|
|
|
|
llvm::Expected<std::unique_ptr<DirectoryWatcher>>
|
|
clang::DirectoryWatcher::create(
|
|
StringRef Path,
|
|
std::function<void(llvm::ArrayRef<DirectoryWatcher::Event>, bool)> Receiver,
|
|
bool WaitForInitialSync) {
|
|
return llvm::Expected<std::unique_ptr<DirectoryWatcher>>(
|
|
llvm::errorCodeToError(std::make_error_code(std::errc::not_supported)));
|
|
}
|