Many of the test executables use pthreads directly. This isn't portable on Windows, so this patch converts these test to use C++11 threads and mutexes. Since Windows' implementation of std::thread classes throw and catch from header files, this patch also disables exceptions when compiling with clang on Windows.
Details
Diff Detail
Event Timeline
A few minor nits, overall LGTM and still passes on FreeBSD.
test/expression_command/timeout/wait-a-while.cpp | ||
---|---|---|
8 ↗ | (On Diff #12283) | git complained about trailing whitespace here |
test/functionalities/attach_resume/Makefile | ||
4 ↗ | (On Diff #12283) | Perhaps a $(LPTHREAD) make var that is set to -lpthread or empty by an included header? |
test/lldbtest.py | ||
557 ↗ | (On Diff #12283) | (Perhaps in a separate commit,) we should refactor the skipIf* decorators the same way I did expectedFailure* |
test/make/Makefile.rules | ||
83 | probably clearer to put this with the other 32-bit cases below | |
test/make/uncaught_exception.h | ||
6 | Add newline |
Hey Zach,
I agree with Ed's comments. If you want to do any minor fixup there, I'll give the final a run on Linux (unless you want to do that part yourself - either way is fine).
Fix issues pointed out in review. Also removed all instances of Makefiles directly including -lpthread for the link arguments. Instead, libraries now set ENABLE_THREADS := YES in the Makefile, which translates to the correct thing in Makefile.rules
Cool I'll give this a run over here this afternoon.
Okay, so "this afternoon" => next morning. Sorry - looking at this now.
Hey Zachary,
LGTM.
Tested:
Ubuntu 14.04 x86_64 - clang-built lldb.
MacOSX 10.9.4 - Xcode 6 Beta 5-built lldb.
Test Failures:
Unrelated - seeing TestCallStopAndContinue.py fail on both Linux and MacOSX occasionally both without and with the patch. Should not block.
probably clearer to put this with the other 32-bit cases below