Benjamin Kramer
7e2d94e18e
Don't destroy ManagedStatics in a unit test.
...
Turns out this is very hostile towards other unit tests running in the
same process, it unregisters all flags.
llvm-svn: 304165
2017-05-29 17:25:37 +00:00
Benjamin Kramer
50f1b689ec
Try to work around MSVC being buggy. Attempt #1 .
...
error C2971: 'llvm::ManagedStatic': template parameter 'Creator': 'CreateDefaultTimerGroup': a variable with non-static storage duration cannot be used as a non-type argument
llvm-svn: 304157
2017-05-29 14:28:04 +00:00
Benjamin Kramer
b4108258ab
[ManagedStatic] Add a way to pass custom creators/deleters.
...
Also add a test case verifying that nested ManagedStatics work correctly.
llvm-svn: 304155
2017-05-29 14:05:26 +00:00
Chandler Carruth
35b7259047
Re-apply r211287: Remove support for LLVM runtime multi-threading.
...
I'll fix the problems in libclang and other projects in ways that don't
require <mutex> until we sort out the cygwin situation.
llvm-svn: 211900
2014-06-27 15:13:01 +00:00
NAKAMURA Takumi
5859670717
Revert r211287, "Remove support for LLVM runtime multi-threading."
...
libclang still requires it on cygming, lack of incomplete <mutex>.
llvm-svn: 211592
2014-06-24 13:36:31 +00:00
Zachary Turner
9a5ecb8c07
Remove support for LLVM runtime multi-threading.
...
After a number of previous small iterations, the functions
llvm_start_multithreaded() and llvm_stop_multithreaded() have
been reduced essentially to no-ops. This change removes them
entirely.
Reviewed by: rnk, dblaikie
Differential Revision: http://reviews.llvm.org/D4216
llvm-svn: 211287
2014-06-19 18:18:23 +00:00
Zachary Turner
c472800bde
Revert r211066, 211067, 211068, 211069, 211070.
...
These were committed accidentally from the wrong branch before having
a review sign-off.
llvm-svn: 211072
2014-06-16 22:49:41 +00:00
Zachary Turner
c24bca926c
Remove some more code out into a separate CL.
...
llvm-svn: 211067
2014-06-16 22:40:17 +00:00
Craig Topper
b00824c629
[C++11] Use 'nullptr'.
...
llvm-svn: 210442
2014-06-08 22:29:17 +00:00
Duncan Sands
d4dd4dcf15
Get the unittests compiling when building with cmake and the setting
...
-DLLVM_ENABLE_THREADS=false.
llvm-svn: 181788
2013-05-14 13:29:16 +00:00
Evgeniy Stepanov
4459064d7b
Disable Initialize.MultipleThreads test under MemorySanitizer.
...
Fails due to insufficient thread stack.
llvm-svn: 178135
2013-03-27 12:50:49 +00:00
NAKAMURA Takumi
b38e0d46cb
unittests/SupportTests/Initialize.MultipleThreads: Enable pthread_attr_setstack(3) only on Linux.
...
I got blamed on darwin11;
unittests/Support/ManagedStatic.cpp:35: error: 'pthread_attr_setstack' was not declared in this scope
llvm-svn: 173355
2013-01-24 15:29:27 +00:00
NAKAMURA Takumi
a9a3c17cd4
unittests/SupportTests/Initialize.MultipleThreads: Appease --vg-leak to allocate stack explicitly for glibc.
...
llvm-svn: 173350
2013-01-24 14:44:02 +00:00
Chandler Carruth
f413c260cc
Sort the #include lines for unittest/...
...
llvm-svn: 169250
2012-12-04 10:23:08 +00:00
Nick Lewycky
d12c8cc065
Fix Windows build, don't try to #include <pthread.h> when we know it's not
...
available.
llvm-svn: 144574
2011-11-14 22:10:23 +00:00
Nick Lewycky
53185e9016
Add support for tsan annotations (thread sanitizer, a valgrind-based tool).
...
These annotations are disabled entirely when either ENABLE_THREADS is off, or
building a release build. When enabled, they add calls to functions with no
statements to ManagedStatic's getters.
Use these annotations to inform tsan that the race used inside ManagedStatic
initialization is actually benign. Thanks to Kostya Serebryany for helping
write this patch!
llvm-svn: 144567
2011-11-14 20:50:16 +00:00