llvm-project/llvm/lib
Nico Weber 28dc4171e9 Fix nested CrashRecoveryContexts with LLVM_ENABLE_THREADS=OFF, allow them.
libclang uses a CrashRecoveryContext, and building a module does too. If a
module gets built through libclang, nested CrashRecoveryContexts are used.  They
work fine with threads as things are stored in ThreadLocal variables, but in
LLVM_ENABLE_THREADS=OFF builds the two recovery contexts would write to the
same globals.

To fix, keep active CrashRecoveryContextImpls in a list and have the global
point to the innermost one, and do something similar for
tlIsRecoveringFromCrash.

Necessary (but not sufficient) for PR11974 and PR20325

http://reviews.llvm.org/D11770

llvm-svn: 244251
2015-08-06 19:21:25 +00:00
..
Analysis Rename inst_range() to instructions() for consistency. NFC 2015-08-06 19:10:45 +00:00
AsmParser Fix with a bit more care. (but only a bit) 2015-08-03 20:55:00 +00:00
Bitcode DI: Disallow uniquable DICompileUnits 2015-08-03 17:26:41 +00:00
CodeGen Rename inst_range() to instructions() for consistency. NFC 2015-08-06 19:10:45 +00:00
DebugInfo [dwarfdump] Ignore scattered relocations for mach-o. 2015-07-31 20:22:50 +00:00
ExecutionEngine -Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are deprecated in C++11 2015-08-05 20:20:29 +00:00
Fuzzer [libFuzzer] move the mutators to public interface so that custom mutators may reuse these functions directly 2015-08-06 19:19:55 +00:00
IR llvm/lib/IR/AttributeImpl.h: Move comment block not to cover typedef, introduced in r244164. [-Wdocumentation] 2015-08-06 09:49:17 +00:00
IRReader Return a unique_ptr from getLazyBitcodeModule and parseBitcodeFile. NFC. 2015-06-16 22:27:55 +00:00
LTO Remove access to the DataLayout in the TargetMachine 2015-07-24 16:04:22 +00:00
LibDriver LibDriver: Replace references to lld-link2 with lld-link. 2015-08-06 19:00:42 +00:00
LineEditor Use ADDITIONAL_HEADER_DIRS in all LLVM CMake projects. 2015-02-11 03:28:02 +00:00
Linker Linker: Move distinct MDNodes instead of cloning 2015-08-03 17:09:38 +00:00
MC Force the MachO generated for Darwin to have VERSION_MIN load command 2015-08-05 15:36:38 +00:00
Object COFF: Assign the correct symbol type to internal functions. 2015-08-06 05:26:35 +00:00
Option Add an ArgList::AddAllArgs that accepts a vector of OptSpecifier. 2015-07-29 17:34:41 +00:00
Passes [PM] Fixup for r231556 where I missed a dependency on intrinsics 2015-03-07 09:08:20 +00:00
ProfileData Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Support Fix nested CrashRecoveryContexts with LLVM_ENABLE_THREADS=OFF, allow them. 2015-08-06 19:21:25 +00:00
TableGen TableGen: Support folding casts from bits to int 2015-07-31 01:12:06 +00:00
Target Rename inst_range() to instructions() for consistency. NFC 2015-08-06 19:10:45 +00:00
Transforms Rename inst_range() to instructions() for consistency. NFC 2015-08-06 19:10:45 +00:00
CMakeLists.txt LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00
LLVMBuild.txt Wrap some long lines in LLVMBuild files. NFC 2015-06-12 18:44:57 +00:00
Makefile LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00