<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/clang/lib/DirectoryWatcher, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2019-08-14T23:04:18+00:00</updated>
<entry>
<title>[Clang] Migrate llvm::make_unique to std::make_unique</title>
<updated>2019-08-14T23:04:18+00:00</updated>
<author>
<name>Jonas Devlieghere</name>
<email>jonas@devlieghere.com</email>
</author>
<published>2019-08-14T23:04:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=2b3d49b610bd2a45884115edcb21110bfa325f51'/>
<id>urn:sha1:2b3d49b610bd2a45884115edcb21110bfa325f51</id>
<content type='text'>
Now that we've moved to C++14, we no longer need the llvm::make_unique
implementation from STLExtras.h. This patch is a mechanical replacement
of (hopefully) all the llvm::make_unique instances across the monorepo.

Differential revision: https://reviews.llvm.org/D66259

llvm-svn: 368942
</content>
</entry>
<entry>
<title>[clang][DirectoryWatcher] Fix Windows stub after LLVM change</title>
<updated>2019-08-13T22:39:50+00:00</updated>
<author>
<name>Jan Korous</name>
<email>jkorous@apple.com</email>
</author>
<published>2019-08-13T22:39:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=9a13852eaba3d6a011009e762a9554112ab7266a'/>
<id>urn:sha1:9a13852eaba3d6a011009e762a9554112ab7266a</id>
<content type='text'>
r367979 changed DirectoryWatcher::Create to return an llvm::Expected.
Adjust the Windows stub accordingly.

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

llvm-svn: 368762
</content>
</entry>
<entry>
<title>[clang] DirectoryWatcher for Windows stubs (to fix build break).</title>
<updated>2019-08-13T22:39:26+00:00</updated>
<author>
<name>Jan Korous</name>
<email>jkorous@apple.com</email>
</author>
<published>2019-08-13T22:39:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=b724f3d4b33c4a5966f5feeeb7b2917e25fc9692'/>
<id>urn:sha1:b724f3d4b33c4a5966f5feeeb7b2917e25fc9692</id>
<content type='text'>
This is just a code skeleton for DirectoryWatcher-windows.cpp so the
build on Windows stops breaking.

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

llvm-svn: 368761
</content>
</entry>
<entry>
<title>Remove LLVM mutexes from clang in favor of std::mutex</title>
<updated>2019-08-07T14:44:40+00:00</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2019-08-07T14:44:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=762bc3351f29b5a71dca31ddd114034a383ff0bd'/>
<id>urn:sha1:762bc3351f29b5a71dca31ddd114034a383ff0bd</id>
<content type='text'>
None of those need to be recursive mutexes. No functionality change
intended.

llvm-svn: 368173
</content>
</entry>
<entry>
<title>[clang][DirectoryWatcher][NFC] Swapping asserts for llvm fatal_error in create</title>
<updated>2019-08-06T23:25:34+00:00</updated>
<author>
<name>Puyan Lotfi</name>
<email>puyan@puyan.org</email>
</author>
<published>2019-08-06T23:25:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=1dcf216f9fa662a3a02c3fc938157fbc0bcdf19f'/>
<id>urn:sha1:1dcf216f9fa662a3a02c3fc938157fbc0bcdf19f</id>
<content type='text'>
I also have replaced all the instances of
"auto DW = DirectoryWatcher::create" with
llvm::Expected&lt;std::unique_ptr&lt;DirectoryWatcher&gt;&gt; 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
</content>
</entry>
<entry>
<title>[DirectoryWatcher] Fix asserts Mac builds</title>
<updated>2019-08-06T07:13:53+00:00</updated>
<author>
<name>Shoaib Meenai</name>
<email>smeenai@fb.com</email>
</author>
<published>2019-08-06T07:13:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=fe08528c8e8a4afd9a2dfffbcc20d8a3f430c69d'/>
<id>urn:sha1:fe08528c8e8a4afd9a2dfffbcc20d8a3f430c69d</id>
<content type='text'>
Add a missing semicolon after an assert. Remove the period from the
assert message while I'm here, because we don't usually have those.

llvm-svn: 367984
</content>
</entry>
<entry>
<title>[clang][DirectoryWatcher] Adding llvm::Expected error handling to create.</title>
<updated>2019-08-06T05:12:23+00:00</updated>
<author>
<name>Puyan Lotfi</name>
<email>puyan@puyan.org</email>
</author>
<published>2019-08-06T05:12:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=ef74924fc75b32511057b06bc28c08f6419b71ba'/>
<id>urn:sha1:ef74924fc75b32511057b06bc28c08f6419b71ba</id>
<content type='text'>
Prior to this patch Unix style errno error reporting from the inotify layer was
used by DirectoryWatcher::create to simply return a nullptr on error. This
would generally be ok, except that in LLVM we have much more robust error
reporting through the facilities of llvm::Expected.

The other critical thing I stumbled across was that the unit tests for
DirectoryWatcher were not failing abruptly when inotify_init() was reporting an
error, but would continue with the testing and eventually hit a deadlock in a
pathological machine state (ie in the unit test, the return nullptr on ::create
was ignored).

Generally this pathological state never happens on any build bot, so it is
totally understandable that it was overlooked, but on a Linux desktop running
a dubious desktop environment (which I will not name) there is a chance that
said desktop environment could use up enough inotify instances to exceed the
user's limit. These are the conditions that led me to hit the deadlock I am
addressing in this patch with more robust error handling.

With the new llvm::Expected error handling when your system runs out of inotify
instances for your user, the unit test will be forced to handle the error or
crash and report the issue to the user instead of weirdly deadlocking on a
condition variable wait.

Differential Revision: https://reviews.llvm.org/D65704

llvm-svn: 367979
</content>
</entry>
<entry>
<title>[DirectoryWatcher][linux] Fix build for older kernels</title>
<updated>2019-08-05T18:44:07+00:00</updated>
<author>
<name>Jan Korous</name>
<email>jkorous@apple.com</email>
</author>
<published>2019-08-05T18:44:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=57f4bacf65ac3a32966e4b5029bc966038d2a754'/>
<id>urn:sha1:57f4bacf65ac3a32966e4b5029bc966038d2a754</id>
<content type='text'>
Apparently kernel support for IN_EXCL_UNLINK in inotify_add_watch() doesn't imply it's defined in sys/inotify.h.

https://bugs.llvm.org/show_bug.cgi?id=42824

llvm-svn: 367906
</content>
</entry>
<entry>
<title>[DirectoryWatcher] Relax assumption to prevent test flakiness</title>
<updated>2019-08-01T23:24:30+00:00</updated>
<author>
<name>Jan Korous</name>
<email>jkorous@apple.com</email>
</author>
<published>2019-08-01T23:24:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=9debb024d44db54b9453459d3bd98d28c20a163f'/>
<id>urn:sha1:9debb024d44db54b9453459d3bd98d28c20a163f</id>
<content type='text'>
llvm-svn: 367632
</content>
</entry>
<entry>
<title>Fix Linux build</title>
<updated>2019-07-29T23:28:44+00:00</updated>
<author>
<name>JF Bastien</name>
<email>jfbastien@apple.com</email>
</author>
<published>2019-07-29T23:28:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=d9e55fa52191d564b9ff45c14e582d94ad2a4b56'/>
<id>urn:sha1:d9e55fa52191d564b9ff45c14e582d94ad2a4b56</id>
<content type='text'>
r367274 broke it

llvm-svn: 367276
</content>
</entry>
</feed>
