forked from OSchip/llvm-project
[DirectoryWatcher] Do not use FSEvents on non-macOS platforms
The FSEvents APIs are available on iOS6+: however, the DirectoryWatcher code isn't wired up to really use FSEvents on embedded platforms. I've duplicated code from DirectoryWatcher-not-implemented.cpp here and used TargetConditionals instead of adding cmakery to check try_compile; I couldn't get that to work properly.
This commit is contained in:
parent
517f0f14bf
commit
cfb4f8c5fb
|
@ -14,10 +14,13 @@
|
|||
#include "llvm/Support/Error.h"
|
||||
#include "llvm/Support/Path.h"
|
||||
#include <CoreServices/CoreServices.h>
|
||||
#include <TargetConditionals.h>
|
||||
|
||||
using namespace llvm;
|
||||
using namespace clang;
|
||||
|
||||
#if TARGET_OS_OSX
|
||||
|
||||
static void stopFSEventStream(FSEventStreamRef);
|
||||
|
||||
namespace {
|
||||
|
@ -249,3 +252,17 @@ llvm::Expected<std::unique_ptr<DirectoryWatcher>> clang::DirectoryWatcher::creat
|
|||
|
||||
return Result;
|
||||
}
|
||||
|
||||
#else // TARGET_OS_OSX
|
||||
|
||||
llvm::Expected<std::unique_ptr<DirectoryWatcher>>
|
||||
clang::DirectoryWatcher::create(
|
||||
StringRef Path,
|
||||
std::function<void(llvm::ArrayRef<DirectoryWatcher::Event>, bool)> Receiver,
|
||||
bool WaitForInitialSync) {
|
||||
return llvm::make_error<llvm::StringError>(
|
||||
"DirectoryWatcher is not implemented for this platform!",
|
||||
llvm::inconvertibleErrorCode());
|
||||
}
|
||||
|
||||
#endif // TARGET_OS_OSX
|
||||
|
|
Loading…
Reference in New Issue