diff options
| author | Puyan Lotfi <puyan@puyan.org> | 2019-08-06 23:25:34 +0000 |
|---|---|---|
| committer | Puyan Lotfi <puyan@puyan.org> | 2019-08-06 23:25:34 +0000 |
| commit | 1dcf216f9fa662a3a02c3fc938157fbc0bcdf19f (patch) | |
| tree | b9d5136733e9371a3d352fd658d88163141249c8 /clang/lib/DirectoryWatcher | |
| parent | bd0d97e1c41f17ea3fd5cba3fe337b4693eb8cbb (diff) | |
| download | bcm5719-llvm-1dcf216f9fa662a3a02c3fc938157fbc0bcdf19f.tar.gz bcm5719-llvm-1dcf216f9fa662a3a02c3fc938157fbc0bcdf19f.zip | |
[clang][DirectoryWatcher][NFC] Swapping asserts for llvm fatal_error in create
I also have replaced all the instances of
"auto DW = DirectoryWatcher::create" with
llvm::Expected<std::unique_ptr<DirectoryWatcher>> DW = DirectoryWatcher::create
to make it more clear that DirectoryWatcher::create is returning an Expected.
I've also allowed for logAllUnhandledErrors to consume errors in the case were
DirectoryWatcher::create produces them.
Differential Revision: https://reviews.llvm.org/D65829
llvm-svn: 368108
Diffstat (limited to 'clang/lib/DirectoryWatcher')
| -rw-r--r-- | clang/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp | 4 | ||||
| -rw-r--r-- | clang/lib/DirectoryWatcher/mac/DirectoryWatcher-mac.cpp | 8 |
2 files changed, 9 insertions, 3 deletions
diff --git a/clang/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp b/clang/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp index 8a5e76c521b..865c2b33bf9 100644 --- a/clang/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp +++ b/clang/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp @@ -325,7 +325,9 @@ llvm::Expected<std::unique_ptr<DirectoryWatcher>> clang::DirectoryWatcher::creat StringRef Path, std::function<void(llvm::ArrayRef<DirectoryWatcher::Event>, bool)> Receiver, bool WaitForInitialSync) { - assert(!Path.empty() && "Path.empty()"); + if (Path.empty()) + llvm::report_fatal_error( + "DirectoryWatcher::create can not accept an empty Path."); const int InotifyFD = inotify_init1(IN_CLOEXEC); if (InotifyFD == -1) diff --git a/clang/lib/DirectoryWatcher/mac/DirectoryWatcher-mac.cpp b/clang/lib/DirectoryWatcher/mac/DirectoryWatcher-mac.cpp index 473bda7cd93..0a7a0eaef0b 100644 --- a/clang/lib/DirectoryWatcher/mac/DirectoryWatcher-mac.cpp +++ b/clang/lib/DirectoryWatcher/mac/DirectoryWatcher-mac.cpp @@ -150,7 +150,8 @@ FSEventStreamRef createFSEventStream( StringRef Path, std::function<void(llvm::ArrayRef<DirectoryWatcher::Event>, bool)> Receiver, dispatch_queue_t Queue) { - assert(!Path.empty() && "Path.empty()"); + if (Path.empty()) + return nullptr; CFMutableArrayRef PathsToWatch = [&]() { CFMutableArrayRef PathsToWatch = @@ -208,7 +209,10 @@ llvm::Expected<std::unique_ptr<DirectoryWatcher>> clang::DirectoryWatcher::creat dispatch_queue_t Queue = dispatch_queue_create("DirectoryWatcher", DISPATCH_QUEUE_SERIAL); - assert(!Path.empty() && "Path.empty()"); + if (Path.empty()) + llvm::report_fatal_error( + "DirectoryWatcher::create can not accept an empty Path."); + auto EventStream = createFSEventStream(Path, Receiver, Queue); assert(EventStream && "EventStream expected to be non-null"); |

